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 |