Tool Chain, JTAG, Bootp, TFTP 의 설치 1. PXA255-Pro 설치 CD를 마운트 한다. 2. root 디렉터리에 PXA255-Pro 디렉터리와 그 안에 Toolchain 이라는 디렉터리를 생성한다. 1 2 ※ Tool Chain : Target device의 Software의 개발을 진행하기 위해 필요한 host system의 cross compile 환경
3. PXA255-Pro/Toolchain 디렉터리로 이동해 cd-rom의 Toolchain/arm- cross-compiler.tar.bz2 파일을 PXA255-Pro/Toolchain 디렉터리로 복사한다. 4. Toolchain/arm-cross-compiler.tar.bz2 파일의 압축을 해제한다. 5. 압축해제된 arm-linux 디렉터리를 /usr/local 디렉터리로 복사한다. 3 4 5
6. usr/local/arm-linux/bin 디렉토리를 보면 Toolchain의 binary image들이 있다. 이 들을 어느 디렉터리에서든지 실행하기 위해서는 /root/.bash_profile 파 일의 PATH 환경 변수에 /usr/local/arm-linux/bin를 추가해 주어야 한다. root 폴더로 돌아가 vi .bash_profile 명령으로 파일을 열고, 아래 그림처럼 경로를 추가한다.(붉은 네모 안의 항목) 6
7. 변경된 환경변수를 적용시키기 위해 source .bash_profile 명령을 실행한다. 8. 컴파일 테스트를 위해 아래와 같이 test_compiler.c 파일을 생성하여 내용을 입력한다. 7 8`
9. 아래와 같이 test_compiler.c 를 서로 다른 컴파일러로 컴파일 한다. 10. 생성된 두개의 오브젝트 코드를 실행하여 본다. host_compiler는 정상적으로 실행되지만 cross_compiler는 실행되지 않을 것이다. 11. file 명령어로 두개의 코드를 확인했을 때 다음과 같은 내용이 출력되면 정상적으로 설치가 완료된 것이다. 9 10 11
12. gcc 명령어가 실행되지 않는다면 “빨간모자 -> 시스템 설정 -> 응용 프로그램 추가/삭제 에서 아래와 같이 개발용 도구 항목을 업데이트 한다.
13. JTAG을 설치하기 위하여 root/PXA255-Pro 디렉터리 안에 JTAG 디렉터리를 생성하고 cd-rom 에서 소스 파일을 복사해 온다. 14. 복사해온 소스 파일의 압축을 해제한다. 13 14 ※ JTAG : Joint European Test Access Group PCB와 IC를 테스트하기 위해 동명약어 그룹에 의해 제정된 표준 여기서는 보드의 flash memory에 데이터를 fusing 하기 위해 쓰임
15. makefile 생성을 위해 pxa255-jtag/jtag-0.4 디렉터리로 이동하여 다음과 같이 configure 명령을 입력한다. ※ --with-include=“include-0.2.3의 절대경로” 15
16. make 명령어를 이용하여 컴파일 한다. 16
17. make install 명령어를 이용하여 설치 한다. 18 18. 완료후 우측과 같은 폴더들이 보이면 정상 설치 된 것이다. 마지막으로 jtag 디렉터리를 /usr/bin 으로 복사해준다.
19. bootp를 설치하기 위해 /root/PXA255-Pro 디렉터리 안에 다음과 같이 bootpd 디렉터리를 생성한다. 20. cdrom의 Application 디렉터리의 bootpd-2.4.tar.gz 파일을 /root/PXA255-Pro/Bootpd 디렉터리로 복사하고 압축을 해제한다. 19 20
21. 압축이 해제되면 make clean 으로 이전 오브젝트 파일을 제거하고 22. make; make install 로 컴파일/설치한다. 21 22
23. 인스톨 과정이 끝나면 /etc 디렉터리에 bootptab 과 hosts 파일을 아래와 같이 생성한다.(네트워크 설정값에 따라 IP주소는 상이함) bootptab // target의 IP주소 // host의 IP주소 // target의 IP주소 hosts
24. bootp 데몬을 실행하고 정상적으로 실행되고 있는지 확인한다.
25. 미리 다운로드한 tftp 서버와 클라이언트를 설치한다. 이 패키지들은 www.rpmfind.com 에서 다운로드 할 수 있다.(이미 설치되어 있다면 생략) 26. 설치가 완료되면 tftp가 정상적으로 실행중인지 확인하고 실행되지 않고 있다면 아래 명령어로 활성화 시켜준다. 25 26
27. /etc/xinetd.d/tftp 를 수정한다. 내용중 disable 항목이 no 로 되어있는지 확인하고 tftpboot 라는 디렉터리가 있는지 확인 후 없으면 생성해준다.
28. 부트로더를 설치하기 위해 /root/PXA255-Pro 디렉터리 안에 Bootloader 디렉터리를 생성한다. 29. Bootloader 디렉터리로 이동해 /cdrom/Bootloader/blob_pro3_050126.tar .gz 를 복사하여 압축을 해제한다. 28 29 ※ Boot Loader : 시스템이 부팅될 때 가장 먼저 실행되는 프로그램 하드웨어의 초기화, 커널 로딩, 이미지 다운로드, 플래시 메모리 fusing 등을 지원
30. 부트로더를 컴파일 하기위한 커널을 복사해 압축을 푼다. /root/PXA255-Pro 디렉터리에 Kernel 디렉터리를 생성한다. 31. 생성한 디렉터리로 이동하여 /cdrom/Kernel/linux-2.4.19-pro3_nicd.tar.gz 파일을 복사한 뒤 압축을 해제한다. 30 31 ※ Kernel(커널) : 운영체제의 핵심기능을 수행하는 프로그램
32. 압축 해제가 완료 된 후 linux-2.4.19-pro3_nlcd 디렉터리를 확인한다. 그 뒤 /root/PXA255-Pro/Bootloader/blob 로 이동하여 make clean을 수행한다.
33. 제거가 끝나면 부트로더를 컴파일하기위한 Makefile을 만들기 위해 아래와 같이 configure 명령을 입력한다. ※ --with-linux-prefix=“커널의 압축을 해제한 디렉터리의 절대경로” 33
34. make 명령으로 컴파일한다. 34
35. 컴파일이 완료되면 /root/PXA255-Pro/Bootloader/blob/src/blob 로 들어가 아래 파일들이 정상적으로 생성되었는지 확인한다.
36. PXA255 보드와 PC의 시리얼 포트, JTAG 포트를 각각 연결하고 하이퍼 터미널 등의 터미널 프로그램을 실행한다 37. 아래와 같이 연결을 설정 후 저장 한다. 통신포트는 시리얼 케이블이 연결된 포트로 설정한다.
38. PXA255 보드의 전원을 켜면 하이퍼 터미널에는 아무것도 표시되지 않는다.
39. /root/PXA255-Pro/Bootloader/blob/src/blob 로 이동하여 jtag을 실행한다. 40. 아래와 같이 PXA255 보드에 연결하여 플래시 메모리에 부트로더를 fusing한다. 컴파일한 부트로더 파일이 없는 다른 경로에서 fusing 할 경우 ‘blob 파일을 찾을 수 없다’ 는 메시지와 함께 fusing이 되지 않으니 주의한다.
41. fusing이 완료되면 PXA255 보드의 전원을 끈다. 보드의 전원을 켜면 아래와 같이 부팅되는 화면을 볼 수 있다.