Programming
cross-compile
woody.choi
2017. 5. 29. 17:31
반응형
크로스 컴파일
udoo 보드를 타겟으로하는 크로스컴파일 환경을 우분투 데스크탑 16.04.2 LTS에 구축하는 방법을 정리합니다.
우분투 데스크탑
우분투 데스크탑 16.04.2 LTS의 설치 이미지를 https://www.ubuntu.com/download/desktop로부터 다운로드 받습니다.
패러럴즈12에 다운로드 받은 이미지를 이용하여 새로운 가상 우분투 데스크탑을 설치합니다.
크로스컴파일 환경
먼저 최신 환경으로 업데이트합니다.
$ sudo apt-get update
$ sudo apt-get upgrade
다음과 같이 패키지를 설치합니다. gcc 컴파일러는 gcc–4.7-arm-linux-gnueabihfd을 선택합니다. 자세한 정보는 여기에서 얻을 수 있습니다.
$ sudo apt-get install cmake
$ sudo apt-get install emdebian-archive-keyring
$ sudo apt-get install libc6-armel-cross libc6-dev-armel-cross
$ sudo apt-get install binutils-arm-linux-gnueabi
$ sudo apt-get install u-boot-tools
$ sudo apt-get install libncurses5-dev
$ sudo apt-get install gcc-4.7-arm-linux-gnueabihf
설치된 컴파일러는 /usr/bin/에 위치합니다.
간단한 gcc 명령을 위한 심볼릭 링크를 생성합니다.
$ sudo arm-linux-gnueabihf-gcc-4.7 arm-linux-gnueabihf-gcc
간단한 c 코드를 작성합니다.
#include <stdio.h>
vodi main()
{
printf("hello world");
}
다음과 같이 컴파일합니다
$ sudo apt-get install arm-linux-gnueabihf-gcc-4.7 -o hello hello.c
실행파일 hello를 타켓보드에 복사합니다. 그리고 실행합니다. 퍼미션 문제가 발생한다면 실행권한을 설정합니다.
chmod +x ./hello
반응형