1 / 55

개발 Host 환경 설정

개발 Host 환경 설정. Target System 을 개발하기 위해 Host System 에 환경을 구축하자. 목 차. Minicom TFTP Server JTAG I/F Program NFS. Minicom. 터미널 에뮬레이터 설치 & 실행 (1). Minicom - 구성도. Minicom 을 이용하여 serial 통신으로 hello 라는 파일 전송. 터미널 에뮬레이터 설치 & 실행 (2). 설치 준비

atalo
Download Presentation

개발 Host 환경 설정

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 개발 Host 환경 설정 Target System을 개발하기 위해 Host System에 환경을 구축하자.

  2. 목 차 • Minicom • TFTP Server • JTAG I/F Program • NFS

  3. Minicom

  4. 터미널 에뮬레이터 설치 & 실행(1) • Minicom - 구성도 Minicom을 이용하여 serial 통신으로hello라는 파일 전송

  5. 터미널 에뮬레이터 설치 & 실행(2) • 설치 준비 • Host와 Target을 minicom으로 연결하기 위해 아래와 같은 환경 필요 • Serial Cross Cable(9 pins) 1EA • Linux 운영체제가 설치되어 있는 PC(Host) • PXA255-pro 실습보드(Target) • Cross cable의 한쪽은 Host의 COM1에 연결하고, 다른 한쪽은 Target의 COM1 연결한다.

  6. 터미널 에뮬레이터 설치 & 실행(3) • Minicom – 실행(1) • 만들어진 hello object 파일을 target에 download하기 위해 minicom이라는 emulator를 이용 • Minicom은 RS232C 통신을 이용 • Minicom을 실행하기 전 통신 포트 설정을 해야 함

  7. 터미널 에뮬레이터 설치 & 실행(4) • Minicom – 실행(2) • Serial port setup으로 커서를 옮긴 후 enter를 입력

  8. 터미널 에뮬레이터 설치 & 실행(5) • Minicom – 실행(3) • COM1은 ttyS0, COM2는 ttyS1로 Linux에서는 표시함. • A를 눌려서 Serial jack이 연결된 포트를 설정. • Host와 Target의 Baud rate는 115200 • Hardware Flow Control은 NO로 설정

  9. 터미널 에뮬레이터 설치 & 실행(6) • Minicom – 실행(4) • 설정을 default로 저장하고 나옴.

  10. 터미널 에뮬레이터 설치 & 실행(7) • Minicom – 실행(5) • 설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨. Boot loader loading Kernel loading ramdisk loading Kernel uncompressing

  11. 터미널 에뮬레이터 설치 & 실행(8) • Minicom – 실행(6) • Root를 입력 후 login한다.

  12. 터미널 에뮬레이터 설치 & 실행(9) • Minicom – 실행(7) - tool chain 설치에서 만들었던 hello라는 object 파일을 host에서 target으로 download하려고 한다. - CTRL과 A를 동시에 누른 후 Z키를 입력하면 아래와 같은 화면이 나옴.

  13. 터미널 에뮬레이터 설치 & 실행(10) • Minicom – 실행(8) • S를 입력 후 Zmodem을 선택하면 아래와 같은 화면이 나옴.

  14. 터미널 에뮬레이터 설치 & 실행(11) • Minicom – 실행(9) • Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter를 치면 파일이 host로부터 target으로 download됨

  15. 터미널 에뮬레이터 설치 & 실행(12) • Minicom – 실행(10) • 파일 전송이 성공하면 위와 같은 화면 나옴.

  16. 터미널 에뮬레이터 설치 & 실행(13) • Minicom – 실행(11) • ls 명령을 이용하여 hello 파일이 전송되었는지 확인

  17. 터미널 에뮬레이터 설치 & 실행(14) • Minicom – 실행(12) • Hello 파일을 실행

  18. TFTP Server

  19. TFTP 서버 설치 및 실행 (1) • TFTP? • TCP 를 사용하여 신뢰성있는 file 전송을 제공하는 ftp와 달리 UDP를 사용하여 file을 전송하는 protocol • Data의 전송 중에 오류가 날 확률이 극히 적은 근거리에서 빠르게 file을 전송 받고자 할 경우에 사용한다 • Embedded system 개발 과정에서 kernel image나 ramdisk와 같이 용량이 큰 데이터를 bootloader를 통해 target board로 빠르게 전송하기 위해 많이 사용한다 • Linux용 TFTP 프로그램 • www.rpmfind.net 에서 tftp로 검색하면 해당 rpm을 받을 수 있다 • www.huins.com  고객 지원  download  임베디드 시스템 게시판에서 받을 수도 있다

  20. TFTP 서버 설치 및 실행 (2) • 설치 확인 • TFTP rpm을 설치하기 전에 host에 이미 설치가 되어있나 확인한다. • 설치가 되어 있으면 설치과정 생략. % rpm –qa | grep tftp • 설치 • Host에 설치가 되어있지 않으면 다음과 같이 설치한다. % rpm –ivh tftp-0.32-4.i386.rpm tftp-server-0.32-4.i386.rpm

  21. TFTP 서버 설치 및 실행 (3) • TFTP Server 구동 • TFTP Server는 xinetd daemon에서 관리한다. • TFTP Server를 구동시키기 위해 /etc/xinet.d/tftp 파일을 다음과 같이 설정한다. service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot per_source = 11 cps = 100 2 flags = IPv4 }

  22. TFTP 서버 설치 및 실행 (4) • TFTP Server 구동 (cont’) • 파일을 전송할 때 사용하는 디렉토리를 /tftpboot 로 만든다. % mkdir /tftpboot • TFTP 설정 파일을 편집한 후에는 xinet daemon에 적용 시키기 위해 xinet daemon을 재시작 해주어야 한다. % /etc/init.d/xinetd restart • TFTP가 현재 제대로 동작하고 있는가 확인한다. % netstat –a | grep tftp • tftp가 포함된 행이 보인다면 제대로 동작하고 있는 것이다.

  23. TFTP 서버 설치 및 실행 (5) • TFTP 사용 예 • 전송할 파일을 /tftpboot에 복사한다. 예> cd의 ramdisk.gz 복사 % cp /mnt/cdrom/ramdisk.gz /tftpboot/ • Minicom을 실행시킨다. % minicom • Target board에 전원을 인가 한후 다음 메시지가 나오기 전에 임의의 key를 누르면 “boot>” prompt 가 뜨는 것을 확인할 수 있다.

  24. TFTP 서버 설치 및 실행 (6) • TFTP 사용 예 (cont’) • tftp “전송할 파일명” ramdisk 를 실행하여 파일을 전송한다.

  25. JTAG I/F Program

  26. JTAG I/F Program 설치 및 실행 (1) • JTAG 구성 타겟 보드의 플래시 메모리에 부트로더, 커널 이미지 등을 fusing

  27. JTAG I/F Program 설치 및 실행 (2) • JTAG 란? • Joint European Test Access Group • JTAG은 PCB와 IC를 테스트 하기 위한 목적으로 1985년 조직된 JTAG(Joint Test Action Group)에 의해 제정된 표준이다. • Boundary Scan Test • 칩 내부에 Boundary Cell이란 것을 두어 외부의 핀과 일대 일로 연결시켜 프로세서가 할 수 있는 동작을 중간에 Cell을 통해 모든 동작을 인위적으로 수행할 수 있어 여러 가지 하드웨어 테스트나 연결 상태 등을 체크할 수 있다.

  28. JTAG I/F Program 설치 및 실행 (3) • JTAG 기능 • 프로세서(CPU)의 상태와는 상관없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공 • 회로의 배선과 소자의 전기적 연결상태 test • 디바이스간의 연결상태 test • Flash memory fusing

  29. BSC BSR JTAG I/F Program 설치 및 실행 (4) • pxa255-pro의 JTAG 호환 장치(cpu)의 구조 • cpu의 각각의 pin은 BSC (Boundary-Scan Cell)에 연결되어 있고, 이 BSC가 BSR (Boundary-Scan Register)를 이루게 된다. • BSC : 각 pin에 대한 bit 단위의 값(혹은 상태)를 가지게 된다. • BSR : 모든 BSC이 연결 되어 하나의 Register를 이루게 된다. • TDI로부터 입력된 데이터가 shift작업을 통해 적절한 위치에 값을 위치시키거나, 가져올 수 있게 되며, TDO를 통해 이 값이 출력된다. • JTAG이 테스트 상태일 경우에 동작하며, IC 동작 상태 일 경우에는 동작 불능 상태가 된다.

  30. JTAG I/F Program 설치 및 실행 (5) • PC를 통한 JTAG 호환 장치의 제어

  31. JTAG port Host의 parallel port JTAG I/F Program 설치 및 실행 (6) • PXA255-PRO V1.0에서 Host 와 Target의 JTAG Interface

  32. JTAG I/F Program 설치 및 실행 (7) • jtag 프로그램 • Host PC에서 jtag interface를 통하여 target system의 flash memory에 data를 fusing 하는 작업을 간편하게 해주는 프로그램 • ftp://ftp.arm.uk.linux.org/pub/linux/arm/people/xscale/lubbock/jtag/ 에서 jtag.0624.tar.bz2를 다운 받을 수 있다. • PXA255-PRO V1.0 실습 보드에서는 이 보드에 맞게 수정되어 huins에서 제공 하는 jtag 프로그램을 사용하여야 한다

  33. JTAG I/F Program 설치 및 실행 (8) • jtag 프로그램 설치 • jtag 소스파일(pxa255-jtag.tar.gz)을 임시 디렉토리에 복사한다. Example에서는 /usr/local/pxa255에 복사       • 압축풀기 % tar xfvz pxa255-jtag.tar.gz • 소스 파일이 있는 디렉토리로 이동 % cd pxa255-jtag/jtag-0.4 • configure (Makefile 생성) % ./configure --prefix=/usr/local/pxa255/pxa255-jtag --with-include=/usr/local/pxa255/pxa255-jtag/include-0.2.3 • compile & install % make; make install 반드시 절대 경로로 지정한다. 하위 디렉토리에도 적용되기 때문

  34. JTAG I/F Program 설치 및 실행 (9) • jtag 설치 확인 • /usr/local/pxa255/pxa255-jtag 디렉토리로 이동하여 bin 폴더와 share폴더가 생성되었는지 확인한 후, 제대로 되었다면 bin디렉토리를 PATH에 등록한다 • 또는 실행 파일 jtag를 기존의 실행 파일을 모아둔 ‘/bin’ 디렉토리로 복사해 둠으로써 언제든지 접근할 수 있도록 한다

  35. JTAG I/F Program 설치 및 실행 (10) • Jtag 프로그램 실행 • 이전에 생성한 blob 이미지가 있는 곳으로 이동한 후 jtag를 실행한다.

  36. JTAG I/F Program 설치 및 실행 (11) • Jtag 프로그램 실행 • 다음과 같은 명령을 주어 blob를 flash 메모리의 0번지에 올린다(약 3~5분 정도 걸린다)

  37. NFS 구축

  38. NFS 구축 (1) • NFS – 구성(1) Ethernet을 사용한 NFS 통신

  39. NFS 구축 (2) • NFS – 구성(2) 192. 168. 1. * Host 192.168.1.100 Target 192.168.1.101

  40. NFS 구축 (3) • 설치 준비 - NFS 설정을 위해 아래와 같은 환경이 필요 • Lan Direct Cable • Linux 운영체제가 설치되어 있는 PC(Host) • PXA255-pro 실습 보드(Target) • Lan cable은 direct나 cross cable 모두 사용가능하나 이 자료에서는 direct cable을 사용한다.

  41. NFS 구축 (4) • NFS– nfs용 공유 disk 만들기 (1) • NFS(network file system)란 client가 server상에 있는 file혹은 file system에 대하여 여과 없는 접근 권한을 가지게 됨 • NFS 방식으로 nfs_success라는 파일을 host에서 target으로 download 해보자

  42. NFS 구축 (5) • NFS– nfs용 공유 disk 만들기 (2) • Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다.

  43. NFS 구축 (6) • NFS– nfs용 공유 disk 만들기 (3) • Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다.

  44. NFS 구축 (7) • NFS – nfs용 공유 disk 만들기(4) • 일반적으로 lan card가 1개이므로 광대역 IP를 같이 쓰면서 target과 사설 ip로 통신하기 위해서 IP aliasing이 필요 • IP aliasing 설정 파일을 아래와 같이 copy 한다

  45. NFS 구축 (8) • NFS – nfs용 공유 disk 만들기(5) • 아래 그림과 같이 copy한 파일을 편집한다.

  46. NFS 구축 (9) • NFS – nfs용 공유 disk 만들기(6) • 먼저 Host에서 nfs 디렉토리를 만든다.

  47. NFS 구축 (10) • NFS– nfs용 공유 disk 만들기(7) • 만들어진 directory를 export시켜야 한다.

  48. NFS 구축 (11) • NFS – nfs용 공유 disk 만들기(8) • 만들어진 디렉토리를 export 할 수 있도록 vi를 이용하여 /etc/exports 파일을 다음과 같이 편집한다. Root는 아니지만 root의 권한을 가진다는 의미 Read/ write

  49. NFS 구축 (12) • NFS – nfs용 공유 disk 만들기(9) • nfs 데몬을 재 시작한다. • 또는 다음과 같은 명령을 사용해도 된다. % service nfs restart

  50. NFS 구축 (13) • NFS – nfs용 공유 disk 만들기(10) • NFS로 mount시킬 target의 디렉토리를 만든다. • NFS server와 target의 디렉토리를 nfs 파일 시스템 형으로 mount 시킨다. Host IP address

More Related