반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

[ARM] 크로스 컴파일러 설치. 본문

IT/Linux

[ARM] 크로스 컴파일러 설치.

현무랑 니니 2013. 11. 6. 19:42
반응형


embedded system를 개발할 때 대부분의 프로세스는 ARM 코어를 사용한다.

때문에 개발환경으로 ARM cross compiler를 설치해야 한다.

아래 내용은 ARM cross compiler 설치와 환경 설정에 대한 내용이다.


1. 설치 환경

 프로세스

 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz

 운영체제

 우분투 12.0 4 LTS 64bit


2. ARM cross compiler 받기

아래 명령을 실행하거나 [링크]를 통해 원하는 버전 받으면 된다.

$ wget http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2013.05-24-arm-none-linux-gnueabi.bin

3. ARM cross compiler 설치

아래 명령으로 설치

 $ chmod +x arm-2013.05-24-arm-none-linux-gnueabi.bin
 $ ./arm-2013.05-24-arm-none-linux-gnueabi.bin

설치 중 shell 문제 해결책

원인: 아래 오류 메시지는 설치 파일이 DASH shell(/bin/sh)를 지원하지 않아서 발생한다.

$ ./arm-2013.05-24-arm-none-linux-gnueabi.bin
Checking for required programs: awk grep sed bzip2 gunzip
===============================================================
Error: DASH shell not supported as system shell
===============================================================
The installer has detected that your system uses the dash shell
as /bin/sh.  This shell is not supported by the installer.
You can work around this problem by changing /bin/sh to be a
symbolic link to a supported shell such as bash.
For example, on Ubuntu systems, execute this shell command:
   % sudo dpkg-reconfigure -plow dash
   Install as /bin/sh? No
Please refer to the Getting Started guide for more information,
or contact CodeSourcery Support for assistance.
===============================================================

해결책: 아래 명령을 실행하고  나타나는 창에서 <아니오>를 선택한다.

 $ sudo dpkg-reconfigure -plow dash


설치 과정

아래와 같은 설치 과정이 진행되는데 설치 방법이나 경로 정도만 선택하고 설치하면 된다.

0123456789101112131415

설치 확인

설정한 경로에 아래 명령 실행하여 확인한다.

~/bin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin$ ls
arm-none-linux-gnueabi-addr2line   arm-none-linux-gnueabi-gcov
arm-none-linux-gnueabi-ar          arm-none-linux-gnueabi-gdb
arm-none-linux-gnueabi-as          arm-none-linux-gnueabi-gprof
arm-none-linux-gnueabi-c++         arm-none-linux-gnueabi-ld
arm-none-linux-gnueabi-c++filt     arm-none-linux-gnueabi-nm
arm-none-linux-gnueabi-cpp         arm-none-linux-gnueabi-objcopy
arm-none-linux-gnueabi-cs          arm-none-linux-gnueabi-objdump
arm-none-linux-gnueabi-elfedit     arm-none-linux-gnueabi-ranlib
arm-none-linux-gnueabi-g++         arm-none-linux-gnueabi-readelf
arm-none-linux-gnueabi-gcc         arm-none-linux-gnueabi-size
arm-none-linux-gnueabi-gcc-4.7.3   arm-none-linux-gnueabi-strings
arm-none-linux-gnueabi-gcc-ar      arm-none-linux-gnueabi-strip
arm-none-linux-gnueabi-gcc-nm      cache
arm-none-linux-gnueabi-gcc-ranlib


반응형
Comments