개발 host 환경 설정

55
개개 개개 Host Host 개개 개개 개개 개개 Target System 개 개개개개 개개 Host System 개 개개개 개개개개 .

Upload: atalo

Post on 18-Mar-2016

114 views

Category:

Documents


8 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 개발  Host  환경 설정

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

Page 2: 개발  Host  환경 설정

2

A. MinicomB. TFTP ServerC. JTAG I/F ProgramD. NFS

목 차목 차

Page 3: 개발  Host  환경 설정

MinicomMinicom

Page 4: 개발  Host  환경 설정

4

A. Minicom - 구성도터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (1)(1)

Minicom 을 이용하여 serial 통신으로 hello 라는 파일 전송

Page 5: 개발  Host  환경 설정

5

A. 설치 준비

Host 와 Target 을 minicom 으로 연결하기 위해 아래와 같은 환경 필요 Serial Cross Cable(9 pins) 1EA Linux 운영체제가 설치되어 있는 PC(Host) PXA255-pro 실습보드 (Target)

Cross cable 의 한쪽은 Host 의 COM1 에 연결하고 , 다른 한쪽은 Target 의 COM1 연결한다 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (2)(2)

Page 6: 개발  Host  환경 설정

6

A. Minicom – 실행 (1)

만들어진 hello object 파일을 target 에 download 하기 위해 minicom 이라는 emulator 를 이용

Minicom 은 RS232C 통신을 이용 Minicom 을 실행하기 전 통신 포트 설정을 해야 함

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (3)(3)

Page 7: 개발  Host  환경 설정

7

A. Minicom – 실행 (2)

Serial port setup 으로 커서를 옮긴 후 enter 를 입력

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (4)(4)

Page 8: 개발  Host  환경 설정

8

A. Minicom – 실행 (3)

COM1 은 ttyS0, COM2 는 ttyS1 로 Linux 에서는 표시함 . A 를 눌려서 Serial jack 이 연결된 포트를 설정 . Host 와 Target 의 Baud rate 는 115200 Hardware Flow Control 은 NO 로 설정

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (5)(5)

Page 9: 개발  Host  환경 설정

9

A. Minicom – 실행 (4)

설정을 default 로 저장하고 나옴 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (6)(6)

Page 10: 개발  Host  환경 설정

10

A. Minicom – 실행 (5)

설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (7)(7)

Boot loader loading

Kernel loading

ramdisk loading

Kernel uncompressing

Page 11: 개발  Host  환경 설정

11

A. Minicom – 실행 (6)

Root 를 입력 후 login 한다 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (8)(8)

Page 12: 개발  Host  환경 설정

12

A. Minicom – 실행 (7)

- tool chain 설치에서 만들었던 hello 라는 object 파일을 host 에서 target 으로 download 하려고 한다 .- CTRL 과 A 를 동시에 누른 후 Z 키를 입력하면 아래와 같은 화면이 나옴 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (9)(9)

Page 13: 개발  Host  환경 설정

13

A. Minicom – 실행 (8)

S 를 입력 후 Zmodem 을 선택하면 아래와 같은 화면이 나옴 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (10)(10)

Page 14: 개발  Host  환경 설정

14

A. Minicom – 실행 (9)

Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter 를 치면 파일이 host 로부터 target 으로 download 됨

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (11)(11)

Page 15: 개발  Host  환경 설정

15

A. Minicom – 실행 (10)

파일 전송이 성공하면 위와 같은 화면 나옴 .

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (12)(12)

Page 16: 개발  Host  환경 설정

16

A. Minicom – 실행 (11)

ls 명령을 이용하여 hello 파일이 전송되었는지 확인

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (13)(13)

Page 17: 개발  Host  환경 설정

17

A. Minicom – 실행 (12)

Hello 파일을 실행

터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (14)(14)

Page 18: 개발  Host  환경 설정

TFTP ServerTFTP Server

Page 19: 개발  Host  환경 설정

19

TFTP? TCP 를 사용하여 신뢰성있는 file 전송을 제공하는 ftp 와 달리 U

DP 를 사용하여 file 을 전송하는 protocol Data 의 전송 중에 오류가 날 확률이 극히 적은 근거리에서 빠르게 f

ile 을 전송 받고자 할 경우에 사용한다 Embedded system 개발 과정에서 kernel image 나 ramdisk 와

같이 용량이 큰 데이터를 bootloader 를 통해 target board 로 빠르게 전송하기 위해 많이 사용한다

Linux 용 TFTP 프로그램 www.rpmfind.net 에서 tftp 로 검색하면 해당 rpm 을 받을 수

있다 www.huins.com 고객 지원 download 임베디드 시스템

게시판에서 받을 수도 있다

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (1)(1)

Page 20: 개발  Host  환경 설정

20

설치 확인 TFTP rpm 을 설치하기 전에 host 에 이미 설치가 되어있나

확인한다 . 설치가 되어 있으면 설치과정 생략 .

% rpm –qa | grep tftp

설치 Host 에 설치가 되어있지 않으면 다음과 같이 설치한다 .

% rpm –ivh tftp-0.32-4.i386.rpm tftp-server-0.32-4.i386.rpm

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (2)(2)

Page 21: 개발  Host  환경 설정

21

TFTP Server 구동 TFTP Server 는 xinetd daemon 에서 관리한다 . TFTP Server 를 구동시키기 위해 /etc/xinet.d/tftp 파일을 다음과

같이 설정한다 .

service tftp{

disable = nosocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpbootper_source = 11cps = 100 2flags = IPv4

}

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (3)(3)

Page 22: 개발  Host  환경 설정

22

TFTP Server 구동 (cont’) 파일을 전송할 때 사용하는 디렉토리를 /tftpboot 로 만든다 .

% mkdir /tftpboot TFTP 설정 파일을 편집한 후에는 xinet daemon 에 적용 시키기

위해 xinet daemon 을 재시작 해주어야 한다 .% /etc/init.d/xinetd restart

TFTP 가 현재 제대로 동작하고 있는가 확인한다 .% netstat –a | grep tftp

tftp 가 포함된 행이 보인다면 제대로 동작하고 있는 것이다 .

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (4)(4)

Page 23: 개발  Host  환경 설정

23

TFTP 사용 예 전송할 파일을 /tftpboot 에 복사한다 . 예 > cd 의 ramdisk.gz

복사% cp /mnt/cdrom/ramdisk.gz /tftpboot/

Minicom 을 실행시킨다 .% minicom

Target board 에 전원을 인가 한후 다음 메시지가 나오기 전에 임의의 key 를 누르면 “ boot>” prompt 가 뜨는 것을 확인할 수 있다 .

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (5)(5)

Page 24: 개발  Host  환경 설정

24

TFTP 사용 예 (cont’) tftp “ 전송할 파일명” ramdisk 를 실행하여 파일을 전송한다 .

TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (6)(6)

Page 25: 개발  Host  환경 설정

JTAG I/F ProgramJTAG I/F Program

Page 26: 개발  Host  환경 설정

26

JTAG 구성JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (1)(1)

타겟 보드의 플래시 메모리에 부트로더 , 커널 이미지 등을 fusi

ng

Page 27: 개발  Host  환경 설정

27

JTAG 란 ? Joint European Test Access Group

JTAG 은 PCB 와 IC 를 테스트 하기 위한 목적으로 1985 년 조직된 JTAG(Joint Test Action Group) 에 의해 제정된 표준이다 .

Boundary Scan Test

칩 내부에 Boundary Cell 이란 것을 두어 외부의 핀과 일대 일로 연결시켜 프로세서가 할 수 있는 동작을 중간에 Cell 을 통해 모든 동작을 인위적으로 수행할 수 있어 여러 가지 하드웨어 테스트나 연결 상태 등을 체크할 수 있다 .

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (2)(2)

Page 28: 개발  Host  환경 설정

28

JTAG 기능 프로세서 (CPU) 의 상태와는 상관없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공 회로의 배선과 소자의 전기적 연결상태 test

디바이스간의 연결상태 test

Flash memory fusing

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (3)(3)

Page 29: 개발  Host  환경 설정

29

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 동작 상태 일 경우에는 동작 불능 상태가 된다 .

BSRBSC

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (4)(4)

Page 30: 개발  Host  환경 설정

30

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

Page 31: 개발  Host  환경 설정

31

PXA255-PRO V1.0 에서 Host 와 Target 의 JTAG Interface

Host 의 parallel port

JTAG port

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (6)(6)

Page 32: 개발  Host  환경 설정

32

jtag 프로그램 Host PC 에서 jtag interface 를 통하여 target system 의 flash m

emory 에 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 프로그램을 사용하여야 한다

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (7)(7)

Page 33: 개발  Host  환경 설정

33

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

반드시 절대 경로로 지정한다 . 하위 디렉토리에도 적용되기 때문

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (8)(8)

Page 34: 개발  Host  환경 설정

34

jtag 설치 확인 /usr/local/pxa255/pxa255-jtag 디렉토리로 이동하여 bin 폴더와

share 폴더가 생성되었는지 확인한 후 , 제대로 되었다면 bin디렉토리를 PATH 에 등록한다

또는 실행 파일 jtag 를 기존의 실행 파일을 모아둔 ‘ /bin’ 디렉토리로 복사해 둠으로써 언제든지 접근할 수 있도록 한다

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (9)(9)

Page 35: 개발  Host  환경 설정

35

Jtag 프로그램 실행 이전에 생성한 blob 이미지가 있는 곳으로 이동한 후 jtag 를

실행한다 .

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (10)(10)

Page 36: 개발  Host  환경 설정

36

Jtag 프로그램 실행 다음과 같은 명령을 주어 blob 를 flash 메모리의 0 번지에 올린다

( 약 3~5 분 정도 걸린다 )

JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (11)(11)

Page 37: 개발  Host  환경 설정

NFS NFS 구축구축

Page 38: 개발  Host  환경 설정

38

NFS – 구성 (1)

NFS NFS 구축 구축 (1)(1)

Ethernet 을 사용한 NFS 통신

Page 39: 개발  Host  환경 설정

39

NFS – 구성 (2)

NFS NFS 구축 구축 (2)(2)

192. 168. 1. *

Host192.168.1.100

Target192.168.1.101

Page 40: 개발  Host  환경 설정

40

설치 준비 - NFS 설정을 위해 아래와 같은 환경이 필요 Lan Direct Cable Linux 운영체제가 설치되어 있는 PC(Host) PXA255-pro 실습 보드 (Target)

Lan cable 은 direct 나 cross cable 모두 사용가능하나 이 자료에서는 direct cable 을 사용한다 .

NFS NFS 구축 구축 (3)(3)

Page 41: 개발  Host  환경 설정

41

NFS– nfs 용 공유 disk 만들기 (1)

NFS(network file system) 란 client 가 server 상에 있는 file 혹은 file system 에 대하여 여과 없는 접근 권한을 가지게 됨

NFS 방식으로 nfs_success 라는 파일을 host 에서 target 으로 download 해보자

NFS NFS 구축 구축 (4)(4)

Page 42: 개발  Host  환경 설정

42

NFS– nfs 용 공유 disk 만들기 (2)

Host 와 target 의 통신을 위해서 host 의 방화벽 설정을 변경한다 .

NFS NFS 구축 구축 (5)(5)

Page 43: 개발  Host  환경 설정

43

NFS– nfs 용 공유 disk 만들기 (3)

Host 와 target 의 통신을 위해서 host 의 방화벽 설정을 변경한다 .

NFS NFS 구축 구축 (6)(6)

Page 44: 개발  Host  환경 설정

44

NFS – nfs 용 공유 disk 만들기 (4)

일반적으로 lan card 가 1 개이므로 광대역 IP 를 같이 쓰면서 target 과 사설 ip 로 통신하기 위해서 IP aliasing 이 필요

IP aliasing 설정 파일을 아래와 같이 copy 한다

NFS NFS 구축 구축 (7)(7)

Page 45: 개발  Host  환경 설정

45

NFS – nfs 용 공유 disk 만들기 (5)

아래 그림과 같이 copy 한 파일을 편집한다 .

NFS NFS 구축 구축 (8)(8)

Page 46: 개발  Host  환경 설정

46

NFS – nfs 용 공유 disk 만들기 (6)

먼저 Host 에서 nfs 디렉토리를 만든다 .

NFS NFS 구축 구축 (9)(9)

Page 47: 개발  Host  환경 설정

47

NFS– nfs 용 공유 disk 만들기 (7)

만들어진 directory 를 export 시켜야 한다 .

NFS NFS 구축 구축 (10)(10)

Page 48: 개발  Host  환경 설정

48

NFS – nfs 용 공유 disk 만들기 (8)

만들어진 디렉토리를 export 할 수 있도록 vi 를 이용하여 /etc/exports 파일을 다음과 같이 편집한다 .

NFS NFS 구축 구축 (11)(11)

Root 는 아니지만 root 의 권한을 가진다는 의미Read/ write

Page 49: 개발  Host  환경 설정

49

NFS – nfs 용 공유 disk 만들기 (9) nfs 데몬을 재 시작한다 .

또는 다음과 같은 명령을 사용해도 된다 .% service nfs restart

NFS NFS 구축 구축 (12)(12)

Page 50: 개발  Host  환경 설정

50

NFS – nfs 용 공유 disk 만들기 (10)

NFS 로 mount 시킬 target 의 디렉토리를 만든다 . NFS server 와 target 의 디렉토리를 nfs 파일 시스템 형으로 mou

nt 시킨다 .

NFS NFS 구축 구축 (13)(13)

Host IP address

Page 51: 개발  Host  환경 설정

51

NFS – nfs 용 공유 disk 만들기 (11)

cat /etc/mtab 을 이용하여 mount 성공여부 체크 Mount 전

NFS NFS 구축 구축 (14)(14)

Page 52: 개발  Host  환경 설정

52

NFS – nfs 용 공유 disk 만들기 (12)

Mount 후

NFS NFS 구축 구축 (15)(15)

Page 53: 개발  Host  환경 설정

53

NFS – nfs 용 공유 disk 만들기 (13)

설치가 끝나면 Host 의 /home/share 와 Target 의 /mnt/nfs 는 같은 디렉토리의 의미를 가지게 됨 .

Host 의 /home/share 에 nfs_success 라는 파일을 만들면 Target 의 /mnt/nfs 에서 이 file 을 ls 명령어로 확인할 수 있음 .

Host 에서 nfs_success 라는 파일을 제작

NFS NFS 구축 구축 (16)(16)

Page 54: 개발  Host  환경 설정

54

NFS – nfs 용 공유 disk 만들기 (14)

Target 에서 nfs_success 라는 파일을 확인

NFS NFS 구축 구축 (17)(17)

Page 55: 개발  Host  환경 설정

55

D. NFS – nfs 용 공유 disk 만들기 (15)

umount 명령을 이용하여 mount 해제

NFS NFS 구축 구축 (18)(18)