리눅스2009. 2. 3. 17:03
 





arm Crosscomlile을 설치하기 위해 www.gnuarm.org에서


아니면 http://www.filewatcher.com/에서 여기 좋아

 

binutils-2.17 - 바이너리유틸, 어셈블러, 링커 그리고 라이브러리 관련 실행 파일들 모음

gcc-4.1.1 - 컴파일러

newlib-1.14 - glibc의 크기가 크기 때문에 꼭 필요한 것들만 추려놓은 것이다.

gdb-6.5 - 디버거

다운을 받는다.

1. arm-tools폴더 생성

mkdir arm-tools


2. 다운받은 파일들 이동

mv *.tar.bz2 /arm-tools/

mv *.tar.gz /arm-tools/


3. tar명령으로 압축해제


4. binutils-2.17 설치

cd binutils-2.17

./configure --target=arm-elf --prefix=/usr/local/arm-toolchain --enable-interwork --enable-multilib --with-float=soft

make all install

export PATH=$PATH:/usr/local/arm-toolchain/bin

export하는 이유는 arm-elf-ar 등등을 사용하기 위해서...중요!


5. gcc-4.1.1설치(1)

cd gcc-4.1.1

./configure --target=arm-elf --prefix=/usr/local/arm-toolchain --enable-interwork --enable-multilib --with-float=soft --enable-languages="c,c++" --with-newlib --with-headers=../newlib-1.14/newlib/libc/include

make all-gcc install-gcc

여기서 주의할점은 make all이 아니라 make all-gcc를 해야한다는것 마찬가지로 make install이 아니라 make install-gcc 해야한다. 자세한 내용은 Makefile에서 찾아보도록... 중요!!

중간에 libiconv에러가 뜰경우 find / -name libiconv.so 해서 파일을 찾은후 ln으로 연결해주면 된다.

ln -s /usr/lib/libiconv.so /usr/lib/libiconv.so.2

6. newlib-1.14설치

cd newlib-1.14

./configure --target=arm-elf --prefix=/usr/local/arm-toolchain --enable-interwork --enable-multilib --with-float=soft

make all install

중간에 make하다 에러가 발생 할 수 있는데 arm-elf-cc를 찾을 수 없다는 에러 일경우... 현재 설치된 /usr/local/arm-toolchain/bin에서 arm-elf-gcc를 ln으로 연결 해주면 된다. arm-elf-cc는 arm-elf-gcc를 가리키는 것이다. configure할때 보면 arm-elf-cc 는 arm-elf-gcc로 표기되어있다.
그러므로 ln -s /usr/local/arm-tools/bin/arm-elf-gcc /usr/local/arm-toolchain/bin/arm-elf-cc 해주면 된다.

7. gcc-4.1.1설치(2)

cd gcc-4.1.1

make all install


8. gdb-6.5설치

cd gdb-6.5

./configure --target=arm-elf --prefix=/usr/local/arm-toolchain --enable-interwork --enable-multilib --with-float=soft

make all install


9. 설치후 경로추가

root폴더의 .bash_profile 폴더에 경로를 추가

vi .bash_profile

PATH=/usr/local/arm-toolchain/bin:$PATH


10. test
touch test.c
vi test.c
#include <stdio.h>
int main()
{
printf("ㅂㅇㄴㄻㄴ");
return 0;
}

arm-elf-gcc -o test test.c

file test
arm어쩌고저쩌고 나온다

그럼 성공

 


'리눅스' 카테고리의 다른 글

Apache cross compile  (0) 2009.02.11
토큰버킷 token bucket  (0) 2009.02.05
Arm Cross Compiler(arm toolchain)  (0) 2009.01.30
리눅스 mysql, apache, php설치  (0) 2009.01.28
리눅스 커널 패치  (0) 2009.01.21
Posted by 불량껌