X-Hyper 255B-TKUIII 개발환경구축

하이버스(Hybus) X-Hyper 255B-TKUIII

임베디드 리눅스 시스템 개발환경 구축


1. Toolchain을 구축해야 한다.
시디의 /Toolchain 디렉토리로 이동한 후
hybus-arm-linux-R1.1.tar.gz 파일을 /usr/local 디렉토리에 복사한다.
꼭 /usr/local 디렉토리에 넣어야 된다.


2. hybus-arm-linux-R1.1.tar.gz 압축을 풀어준다.
tar xzvf hybus-arm-linux-R1.1.tar.gz 해준다.
압축을 풀어준 후 어느 디렉토리에서나 사용가능하도록 패스를 설정한다.
/root/.bash_profile 파일에서
PATH 끝 부분에 :/usr/local/hybus-arm-linux-R1.1/bin 을 추가한 후
. .bash_profile 명령으로 bash_profile 명령을 재실행 하거나
쉘을 껐다가 재기동한다.


3. JTAG를 이용하여 부트로더를 올린다.
임베디드 시스템이 처음 부팅하려면 부트로더가 있어야된다.
시디의 /Jflash-XHYPER255 디렉토리로 이동한다.
부트로더 이미지는 시디의 /Image 디렉토리의 x-boot255란 이미지가 있다.
./Jflash-XHYPER255 x-boot255
명령으로 JTAG를 이용하여 부트로더를 키트에 올린다.


4. minicom을 세팅한다.
minicom -s 명령으로 minicom을 세팅한다.
확인해야 할 부분은 Serial port setup에서

Serial Device  : /dev/ttyS0 --> 시리얼 1번
Bps/Par/Bits  : 115200 8N1
Hardware Flow Control : No
Software Flow Control : No

이렇게 세팅한 후 Save setup as dfl을 해준다.
다음 접속부터는 일일이 세팅할 필요가 없다.


5. JTAG로 부트로더를 올렸으면 다음에 커널이미지와 루트파일시스템을 올려야된다.
부트로더를 올렸으므로 이더넷을 사용할 수 있다.
이더넷을 사용하기 위해서는 아이피가 있어야 한다.
타겟 보드의 아이피를 얻어오기 위에 bootp 를 사용한다.
bootp를 사용하기 위해선 Host PC의 bootpd와 xinetd 가 설치되어 있어야 한다.

bootp가 설치되어 있으면 /etc/xinetd.d/bootp 파일을 만들어야 한다.
vi /etc/xinetd.d/bootp
service bootps
{
 disable  = no
 socket_type = dgram
 protocol = udp
 wait  = yes
 user  = root
 server  = /usr/sbin/bootpd
}

다음에 /etc/bootptab 파일 설정을 바꿔줘야 한다.
vi /etc/bootptab
xhyper255:\
 ht=1:\
 ha=키트 이더넷의 맥주소
 ip=키트에 할당할 ip주소
 sm=키트에 할당할 서브넷마스크(보통 Host PC의 서브넷과 같다)

설정을 바꾼 후 xinetd 서비스를 재시동해야한다.
service xinetd restart

주의할점은 Host PC의 ip 대역폭과 타겟보드의 ip 대역폭이 같아야 한다.
ex) Host PC ip : 192.168.0.1 Target 보드 ip : 192.168.0.2

참고로 부트로더가 실행중인 상태에서 bootp를 실행하면 타겟보드의 맥주소를
알 수 있다.

Host PC 의 ip를 강제로 할당하는 명령 : ifconfig eth0 192.168.0.1
network 서비스 재실행 명령 : service network restart


6. Target 보드에 ip 받기
5번의 과정이 끝났다면 부트로더에서 bootp 명령으로 아이피를 받아올 수 있다.


7. 타겟보드의 ip를 받았으면 tftp를 사용할 수 있다.
tftp 가 설치되어 있으면

vi /etc/xinetd.d/tftp
service tftp
{
 socket_type = dgram
 protoclo = udp
 wait  = yes
 user  = root
 server  = /usr/sbin/in.tftpd
 server_args = -s /tftpboot
 disable  = no
}

/tftpboot는 tftp 서버 데몬의 루트디렉토리롸 tftp 요청시 필요한 파일을
이곳을 기준으로 찾는다.

tftp설정을 맞췄으면 xinetd를 재기동한다.


8. 부트로더에서 tftp를 이용하여 커널이미지와 루트파일시스템을 다운받는다.
시디에서 커널이미지(zImage), 루트파일시스템(rootfs.img) 파일을
/tftpboot 디렉토리에 카피해놓는다.

다음에 부트로더에서
tftp zImage kernel // SDRAM에 다운받는다.
flash kernel  // flash에 퓨징한다.

tftp rootfs.img root // SDRAM에 다운받는다.
flash root  // flash에 퓨징한다.

커널, 파일시스템을 올리고 리부팅하면 JFFS scan ... 이라고 막 머라고 뜨는데
그것은 처음에 파일시스템을 올리면서 새로 파일시스템을 포맷하는 과정이다.
처음에만 뜨고 난 다음에는 다음부터는 안뜬다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
top


http://www.joon.pe.kr/blog/trackback/178
Commented by at 2007/08/01 12:17  Reply|Edit|Delete
관리자만 볼 수 있는 댓글입니다.
Replied by jooness at 2007/08/01 18:54  Edit|Delete
네 물론입니다. :)


<< Prev   1   ... 163   164   165   166   167   168   169   170   171   ... 336   Next >>