Toolchain을 이용하여 compile 해보자. hyper 디렉토리 밑에 test 디렉토리를 만들어 테스트 하였다.
#mkdir /home/embed/xhyper/test
#cd /home/embed/xhyper/test
#vi hellow.c
#include <stdio.h>

int main()
{
   printf("hellow world");
   return 0;
}
#gcc -o hellow hellow.c
#arm-linux-gcc -o hellow-arm hellow.c
#file hellow
hellow: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
#file hellow-arm
hellow-arm: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
#./hellow-arm
bash: ./hellow-arm: cannot execute binary file
#./hellow
hellow world

만들어진 binary file을 확인하여 보면 서로 다른 것을 알 수 있다. 또한 파일을 실행시켜 보면 hellow-arm file은 실행이 안된다. 보드에 커널 부팅후 다운로드하여 실행하면 hellow world가 출력 될 것이다.
embeded board에 다운 로딩 하는 과정은 나중에 배우겠다.


'X-Hyper255A' 카테고리의 다른 글

개발 환경 구축에 대한 문제점  (0) 2006.08.10
Bootp 설정  (0) 2006.08.09
JTAG Compile  (0) 2006.08.09
Toolchain 설치  (0) 2006.08.08
임베디드 리눅스 교육과정  (0) 2006.08.05
Toolchain 이란?
Embedded System을 개발하기 위해 Host System이란 개발 환경이 필요하다. 임베디드 보드를 가지고 개발 할 수 있는가? Toolchain은 개발에 필요한 모든 환경을 통칭하는 말.
x86계열의 리눅스에서 gcc 를 이용하여 컴파일하면 x86에서 실행 가능한 바이너리가 생성된다, 그러나 X-Hyper255에서 사용 할려면 다른 Compiler가 필요하다. Cross compiler를 이용하여  Host PC에서 바이너리를 생성 후 serial, ethernet을 이용 X-Hyper255로 다운로드 한다.

Toolchain 설치
embed 라는 ID를 사용하여 이용하도록 하겠다. adduser를 이용하여 ID를 추가하자. 그러면 /home/embed 홈디렉토리가 생길 것이다. 이곳에 설치 했다.
CD의 파일을 그대로 복사하여 사용하겠다. 파일 복사후 쓰기가능한 모드로 바꿔 줘야 한다. 그렇지 않으면 파일 수정이 안된다.
#mount /mnt/cdrom/
#mkdir /home/embed/xhyper
#cp -a /mnt/cdrom/* /home/embed/xhyper/
#chmod -Rf 755 /home/embed/xhyper/*
#cd /home/embed/xhyper/Toolchain
#tar -xzvf hybus-arm-linux-R1.1.tar.gz
#vi /home/embed/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
       . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/home/embed/xhyper/Toolchain/hybus-arm-linux-R1.1/bin/

export PATH
unset USERNAME
#source /home/embed/.bash_profile

.bash_profile 에 빨간색 부분을 추가 해서 source 명령어를 실행하면 어디서든지 Toolchain을 사용 할 수 있다.

'X-Hyper255A' 카테고리의 다른 글

개발 환경 구축에 대한 문제점  (0) 2006.08.10
Bootp 설정  (0) 2006.08.09
JTAG Compile  (0) 2006.08.09
Toolchain Test  (0) 2006.08.09
임베디드 리눅스 교육과정  (0) 2006.08.05

+ Recent posts