430 likes | 627 Views
7. Host 환경 설정. Target System 을 개발하기 위해 Host System 에 환경을 구축하자. 7. Host 와 Target 간의 통신. 목 차 Minicom TFTP NFS. Minicom. Target System 을 개발하기 위해 Host System 에 환경을 구축하자. 8. Host 와 Target 간의 통신. Minicom 을 이용하여 serial 통신으로 hello 라는 파일 전송. Minicom - 구성도. 7. Host 와 Target 간의 통신.
E N D
7. Host 환경 설정 Target System을 개발하기 위해 Host System에 환경을 구축하자.
7. Host와 Target간의 통신 목 차 • Minicom • TFTP • NFS www.huins.com
Minicom Target System을 개발하기 위해 Host System에 환경을 구축하자.
8. Host와 Target간의 통신 Minicom을 이용하여 serial 통신으로hello라는 파일 전송 • Minicom - 구성도 www.huins.com
7. Host와 Target간의 통신 • 설치 준비 • Host와 Target을 minicom으로 연결하기 위해 아래와 같은 환경 필요 • Serial Cross Cable(9 pins) 1EA • Linux가 설치되어 있는 PC(Host) • PXA255-pro 실습보드(Target) • Cross cable의 한쪽은 Host의 COM1에 연결하고고 다른 한쪽은 Target의 COM1 연결한다. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(1) • 만들어진 hello object 파일을 target에 download하기 위해 minicom이라는 emulator를 이용 • Minicom은 RS232C 통신을 이용 • Minicom을 실행하기 전 통신 포트 설정을 해야 함. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(2) • Serial port setup으로 커서를 옮긴 후 enter를 입력 www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(3) • COM1은 ttyS0, COM2는 ttyS1로 Linux에서는 표시함. • A를 눌려서 Serial jack이 연결된 포트를 설정. • Host와 Target의 Baud rate는 115200 • Hardware Flow Control은 NO로 설정 www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(4) • 설정을 default로 저장하고 나옴. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(5) • 설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨. Boot loader loading Kernel loading ramdisk loading Kernel uncompressing www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(6) • Root를 입력 후 login한다. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(7) - tool chain 설치에서 만들었던 hello라는 object 파일을 host에서 target으로 download하려고 한다. - CTRL과 A를 동시에 누른 후 Z키를 입력하면 아래와 같은 화면이 나옴. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(8) • S를 입력 후 Zmodem을 선택하면 아래와 같은 화면이 나옴. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(9) • Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter를 치면 파일이 host로부터 target으로 download됨 www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(10) • 파일 전송이 성공하면 위와 같은 화면 나옴. www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(11) • ls 명령을 이용하여 hello 파일이 전송되었는지 확인 www.huins.com
7. Host와 Target간의 통신 • Minicom – 실행(12) • Hello 파일을 실행 www.huins.com
7. Host와 Target간의 통신 • TFTP? • TCP 를 사용하여 신뢰성있는 file 전송을 제공하는 ftp와 달리 UDP를 사용하여 file을 전송하는 protocol이다. • Data 의 전송 중에 오류가 날 확률이 극히 적은 근거리에서 빠르게 file을 전송받고자 할 경우에 사용한다. • Embedded system 개발중 개발한 kernel image나 ramdisk를 boot loader를 통해 target board로 전송하기 위해 많이 사용한다. • Linux용 TFTP 프로그램 • www.rpmfind.net 에서 tftp로 검색하면 해당 rpm을 받을 수 있다. • 또는 www.huins.com 고객 지원 download 임베디드 시스템 게시판에서 받을 수도 있다. www.huins.com
7. Host와 Target간의 통신 • 설치 확인 • TFTP rpm을 설치하기 전에 host에 이미 설치가 되어있나 확인한다. • 설치가 되어 있으면 설치과정 생략. % rpm –qa | grep tftp • 설치 • Host에 설치가 되어있지 않으면 다음과 같이 설치한다. % rpm –ivh tftp-0.32-4.i386.rpm tftp-server-0.32-4.i386.rpm www.huins.com
7. Host와 Target간의 통신 • 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 } www.huins.com
7. Host와 Target간의 통신 • TFTP Server 구동 (cont’) • 파일을 전송할 때 사용하는 디렉토리를 /tftpboot 로 만든다. % mkdir /tftpboot • TFTP 설정 파일을 편집한 후에는 xinet daemon에 적용 시키기 위해 xinet daemon을 재시작 해주어야 한다. % /etc/init.d/xinetd restart • TFTP가 현재 제대로 동작하고 있는가 확인한다. % netstat –a | grep tftp • tftp가 포함된 행이 보인다면 제대로 동작하고 있는 것이다. www.huins.com
7. Host와 Target간의 통신 • TFTP 사용 예 • 전송할 파일을 /tftpboot에 복사한다. 예> cd의 ramdisk.gz 복사 % cp /mnt/cdrom/ramdisk.gz /tftpboot/ • Minicom을 실행시킨다. % minicom • Target board에 전원을 인가 한후 다음 메시지가 나오기 전에 임의이 key를 누르면 “boot>” prompt 가 뜨는 것을 확인할 수 있다. www.huins.com
7. Host와 Target간의 통신 • TFTP 사용 예 (cont’) • tftp “전송할 파일명” ramdisk 를 실행하여 파일을 전송한다. www.huins.com
7. Host와 Target간의 통신 • NFS – 구성(1) Ethernet을 사용한 NFS 통신 www.huins.com
7. Host와 Target간의 통신 • NFS – 구성(2) 192. 168. 1. * Host 192.168.1.100 Target 192.168.1.101 www.huins.com
7. Host와 Target간의 통신 D. 설치 준비 • NFS 설정을 위해 아래와 같은 환경이 필요하다. • Lan Direct Cable • Linux가 설치되어 있는 PC(Host) • PXA255-pro 실습 보드(Target) • Lan cable은 direct나 cross cable 모두 사용가능하나 이 자료에서는 direct cable을 사용한다. www.huins.com
7. Host와 Target간의 통신 • NFS– nfs용 공유 disk 만들기 (1) • NFS(network file system)란 client가 server상에 있는 file혹은 file system에 대하여 여과 없는 접근 권한을 가지게 됨. • NFS 방식으로 nfs_success라는 파일을 host에서 target으로 download 해보자. www.huins.com
7. Host와 Target간의 통신 • NFS– nfs용 공유 disk 만들기 (1) • Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다. www.huins.com
7. Host와 Target간의 통신 • NFS– nfs용 공유 disk 만들기 (1) • Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다. www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(2) • 일반적으로 lan card가 1개이므로 광대역 IP를 같이 쓰면서 target과 사설 ip로 통신하기 위해서 IP aliasing이 필요하다. • IP aliasing 설정 파일을 아래와 같이 copy한다 www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(3) • 아래 그림과 같이 copy한 파일을 편집한다. www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(3) • 먼저 Host에서 nfs 디렉토리를 만든다. www.huins.com
7. Host와 Target간의 통신 • NFS– nfs용 공유 disk 만들기 (4) • 만들어진 directory를 export시켜야 한다. www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(5) • 만들어진 디렉토리를 export 할 수 있도록 vi를 이용하여 /etc/exports 파일을 다음과 같이 편집한다. Root는 아니지만 root의 권한을 가진다는 의미 Read/ write www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(6) • nfs 데몬을 재 시작한다. • 또는 다음과 같은 명령을 사용해도 된다. % service nfs restart www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(7) • NFS로 mount시킬 target의 디렉토리를 만든다. • NFS server와 target의 디렉토리를 nfs 파일 시스템 형으로 mount 시킨다. Host IP address www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(8) • cat /etc/mtab 을 이용하여 mount 성공여부 체크 • Mount 전 www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(9) • Mount 후 www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(10) • 설치가 끝나면 Host의 /home/share와 Target의 /mnt/nfs는 같은 디렉토리의 의미를 가지게 됨. • Host의 /home/share 에 nfs_success라는 파일을 만들면 Target의 /mnt/nfs 에서 이 file을 ls 명령어로 확인할 수 있음. • Host에서 nfs_success라는 파일을 제작 www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(11) • Target에서 nfs_success라는 파일을 확인 www.huins.com
7. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(12) • umount 명령을 이용하여 mount 해제 www.huins.com