본문 바로가기

Embedded/Kernel Porting

[Kernel Porting] Embedded Programming 컴파일 및 테스트

작업 환경

-메인 OS : Windows 8.1K(Intel Core i5-4590)

-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)

-장 비 명 : Hybus-Smart4412TKU



디바이스 드라이버 경로 위치

- cd ~/Smart4412/Development/Source/Kernel/kernel_4412/drivers/Exynos4412TKU_IEB

- ls

- 해당 드라이버 소스파일들을 확인할 수 있다.

- ieb_led.c 의 경우  #define DEVICE_NAME "led"로 정의되어있으며 led.c예제를 보면  #define led "/dev/led"   경로를 지정해 주었다.



컴파일 방법 및 테스트

1) Tera term으로 컴파일 및 테스트(Windows 환경)

sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib lib32z1

- 우분투에서 파일명.c 로 소스파일 작성

/opt/gnueabi/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc [파일명].c -o [실행파일명]  (arm계열로 컴파일)

- 윈도우(메인 OS)로 실행파일 복사

- Tera Term에서 포트 설정 후  설정 -> 시리얼 포트 -> 속도를 115200으로 설정

- Hybus-Smart4412 장비 부팅

- 메뉴 -> 전송 -> ZMODEM -> 보내기 에서 실행파일 선택

- chmod 777 [실행파일명]  (실행파일 권한 설정)

- ./[실행파일명]  (실행 후 테스트)

(★중요 : 만약 소스파일을 수정 했다면 Tera Term 에서 먼저 rm [실행파일명] 을 한 뒤 다시 ZMODEM -> 보내기 에서 실행파일 선택 후 chmod 777 [실행파일명] 와 ./[실행파일명] 다시 실행)


2) ubuntu에서 컴파일 및 테스트(Linux 환경)

sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib lib32z1

- 우분투에서 파일명.c 로 소스파일 작성

/opt/gnueabi/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc [파일명].c -o [실행파일명]  (arm계열로 컴파일)

- sudo apt-get install minicom

- USB를 설정해준다(FTDI FT232R USB UART [0600]을 체크해준다)

- lsusb (USB 확인)


- dmesg | grep tty (tty번호 확인 , 일반적으로 ttyUSB0)

- sudo minicom -s

- Serial port setup 으로 이동해서 들어간다

     A - Serial Device      : /dev/ttyUSB0                              

     B - Lockfile Location     : /var/lock                                 

     C - Callin Program      :                                           

     D - Callout Program      :                                           

     E -  Bps/Par/Bits       : 115200 8N1                                

     F -  Hardware Flow Control : No                                        

     G - Software Flow Control : No 


위와 같이 설정해준다.


Save setup as dfl 로 이동한 뒤 엔터를 누른다

- Exit로 이동해서 나온다

- ctrl+A를 누른 다음 Z ,X를 차례대로 누른다음 yes를 선택하여 minicom에서 빠져나온다.

- sudo minicom -w

- ctrl+A를 누른다음 S를 누른 뒤 zmodem으로 들어간다.

- 실행파일이 저장된 경로로 들어간다(디렉토리에 들어갈때는 스페이스를 두번 누른다)

- 해당 실행파일은 찾은 뒤 스페이스를 한번 눌러 선택하고 엔터를 누른다

- 엔터를 한번 더 누른 뒤 ./[실행파일명]을 실행한다

- 테스트가 제대로 되는지 확인한다.

- minicom을 빠져나올 때는 ctrl+A를 누른 다음 Z ,X를 차례대로 누른다

(★중요 : 만약 소스파일을 수정 했다면 먼저 rm [실행파일명] 을 한 뒤 다시 sudo minicom -w부터 시작한다)