개발 host 환경 설정
DESCRIPTION
개발 Host 환경 설정. Target System 을 개발하기 위해 Host System 에 환경을 구축하자. 목 차. Minicom TFTP Server JTAG I/F Program NFS. Minicom. 터미널 에뮬레이터 설치 & 실행 (1). Minicom - 구성도. Minicom 을 이용하여 serial 통신으로 hello 라는 파일 전송. 터미널 에뮬레이터 설치 & 실행 (2). 설치 준비 - PowerPoint PPT PresentationTRANSCRIPT
개발 개발 Host Host 환경 설정환경 설정Target System 을 개발하기 위해 Host System 에 환경을 구축하자 .
2
A. MinicomB. TFTP ServerC. JTAG I/F ProgramD. NFS
목 차목 차
MinicomMinicom
4
A. Minicom - 구성도터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (1)(1)
Minicom 을 이용하여 serial 통신으로 hello 라는 파일 전송
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)
6
A. Minicom – 실행 (1)
만들어진 hello object 파일을 target 에 download 하기 위해 minicom 이라는 emulator 를 이용
Minicom 은 RS232C 통신을 이용 Minicom 을 실행하기 전 통신 포트 설정을 해야 함
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (3)(3)
7
A. Minicom – 실행 (2)
Serial port setup 으로 커서를 옮긴 후 enter 를 입력
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (4)(4)
8
A. Minicom – 실행 (3)
COM1 은 ttyS0, COM2 는 ttyS1 로 Linux 에서는 표시함 . A 를 눌려서 Serial jack 이 연결된 포트를 설정 . Host 와 Target 의 Baud rate 는 115200 Hardware Flow Control 은 NO 로 설정
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (5)(5)
9
A. Minicom – 실행 (4)
설정을 default 로 저장하고 나옴 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (6)(6)
10
A. Minicom – 실행 (5)
설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (7)(7)
Boot loader loading
Kernel loading
ramdisk loading
Kernel uncompressing
11
A. Minicom – 실행 (6)
Root 를 입력 후 login 한다 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (8)(8)
12
A. Minicom – 실행 (7)
- tool chain 설치에서 만들었던 hello 라는 object 파일을 host 에서 target 으로 download 하려고 한다 .- CTRL 과 A 를 동시에 누른 후 Z 키를 입력하면 아래와 같은 화면이 나옴 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (9)(9)
13
A. Minicom – 실행 (8)
S 를 입력 후 Zmodem 을 선택하면 아래와 같은 화면이 나옴 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (10)(10)
14
A. Minicom – 실행 (9)
Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter 를 치면 파일이 host 로부터 target 으로 download 됨
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (11)(11)
15
A. Minicom – 실행 (10)
파일 전송이 성공하면 위와 같은 화면 나옴 .
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (12)(12)
16
A. Minicom – 실행 (11)
ls 명령을 이용하여 hello 파일이 전송되었는지 확인
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (13)(13)
17
A. Minicom – 실행 (12)
Hello 파일을 실행
터미널 에뮬레이터 설치 터미널 에뮬레이터 설치 & & 실행실행 (14)(14)
TFTP ServerTFTP Server
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)
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)
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)
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)
23
TFTP 사용 예 전송할 파일을 /tftpboot 에 복사한다 . 예 > cd 의 ramdisk.gz
복사% cp /mnt/cdrom/ramdisk.gz /tftpboot/
Minicom 을 실행시킨다 .% minicom
Target board 에 전원을 인가 한후 다음 메시지가 나오기 전에 임의의 key 를 누르면 “ boot>” prompt 가 뜨는 것을 확인할 수 있다 .
TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (5)(5)
24
TFTP 사용 예 (cont’) tftp “ 전송할 파일명” ramdisk 를 실행하여 파일을 전송한다 .
TFTP TFTP 서버 설치 및 실행 서버 설치 및 실행 (6)(6)
JTAG I/F ProgramJTAG I/F Program
26
JTAG 구성JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (1)(1)
타겟 보드의 플래시 메모리에 부트로더 , 커널 이미지 등을 fusi
ng
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)
28
JTAG 기능 프로세서 (CPU) 의 상태와는 상관없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어 들일 수 있는 기능을 제공 회로의 배선과 소자의 전기적 연결상태 test
디바이스간의 연결상태 test
Flash memory fusing
JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (3)(3)
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)
30
PC 를 통한 JTAG 호환 장치의 제어 JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (5)(5)
31
PXA255-PRO V1.0 에서 Host 와 Target 의 JTAG Interface
Host 의 parallel port
JTAG port
JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (6)(6)
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)
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)
34
jtag 설치 확인 /usr/local/pxa255/pxa255-jtag 디렉토리로 이동하여 bin 폴더와
share 폴더가 생성되었는지 확인한 후 , 제대로 되었다면 bin디렉토리를 PATH 에 등록한다
또는 실행 파일 jtag 를 기존의 실행 파일을 모아둔 ‘ /bin’ 디렉토리로 복사해 둠으로써 언제든지 접근할 수 있도록 한다
JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (9)(9)
35
Jtag 프로그램 실행 이전에 생성한 blob 이미지가 있는 곳으로 이동한 후 jtag 를
실행한다 .
JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (10)(10)
36
Jtag 프로그램 실행 다음과 같은 명령을 주어 blob 를 flash 메모리의 0 번지에 올린다
( 약 3~5 분 정도 걸린다 )
JTAG I/F Program JTAG I/F Program 설치 및 실행 설치 및 실행 (11)(11)
NFS NFS 구축구축
38
NFS – 구성 (1)
NFS NFS 구축 구축 (1)(1)
Ethernet 을 사용한 NFS 통신
39
NFS – 구성 (2)
NFS NFS 구축 구축 (2)(2)
192. 168. 1. *
Host192.168.1.100
Target192.168.1.101
40
설치 준비 - NFS 설정을 위해 아래와 같은 환경이 필요 Lan Direct Cable Linux 운영체제가 설치되어 있는 PC(Host) PXA255-pro 실습 보드 (Target)
Lan cable 은 direct 나 cross cable 모두 사용가능하나 이 자료에서는 direct cable 을 사용한다 .
NFS NFS 구축 구축 (3)(3)
41
NFS– nfs 용 공유 disk 만들기 (1)
NFS(network file system) 란 client 가 server 상에 있는 file 혹은 file system 에 대하여 여과 없는 접근 권한을 가지게 됨
NFS 방식으로 nfs_success 라는 파일을 host 에서 target 으로 download 해보자
NFS NFS 구축 구축 (4)(4)
42
NFS– nfs 용 공유 disk 만들기 (2)
Host 와 target 의 통신을 위해서 host 의 방화벽 설정을 변경한다 .
NFS NFS 구축 구축 (5)(5)
43
NFS– nfs 용 공유 disk 만들기 (3)
Host 와 target 의 통신을 위해서 host 의 방화벽 설정을 변경한다 .
NFS NFS 구축 구축 (6)(6)
44
NFS – nfs 용 공유 disk 만들기 (4)
일반적으로 lan card 가 1 개이므로 광대역 IP 를 같이 쓰면서 target 과 사설 ip 로 통신하기 위해서 IP aliasing 이 필요
IP aliasing 설정 파일을 아래와 같이 copy 한다
NFS NFS 구축 구축 (7)(7)
45
NFS – nfs 용 공유 disk 만들기 (5)
아래 그림과 같이 copy 한 파일을 편집한다 .
NFS NFS 구축 구축 (8)(8)
46
NFS – nfs 용 공유 disk 만들기 (6)
먼저 Host 에서 nfs 디렉토리를 만든다 .
NFS NFS 구축 구축 (9)(9)
47
NFS– nfs 용 공유 disk 만들기 (7)
만들어진 directory 를 export 시켜야 한다 .
NFS NFS 구축 구축 (10)(10)
48
NFS – nfs 용 공유 disk 만들기 (8)
만들어진 디렉토리를 export 할 수 있도록 vi 를 이용하여 /etc/exports 파일을 다음과 같이 편집한다 .
NFS NFS 구축 구축 (11)(11)
Root 는 아니지만 root 의 권한을 가진다는 의미Read/ write
49
NFS – nfs 용 공유 disk 만들기 (9) nfs 데몬을 재 시작한다 .
또는 다음과 같은 명령을 사용해도 된다 .% service nfs restart
NFS NFS 구축 구축 (12)(12)
50
NFS – nfs 용 공유 disk 만들기 (10)
NFS 로 mount 시킬 target 의 디렉토리를 만든다 . NFS server 와 target 의 디렉토리를 nfs 파일 시스템 형으로 mou
nt 시킨다 .
NFS NFS 구축 구축 (13)(13)
Host IP address
51
NFS – nfs 용 공유 disk 만들기 (11)
cat /etc/mtab 을 이용하여 mount 성공여부 체크 Mount 전
NFS NFS 구축 구축 (14)(14)
52
NFS – nfs 용 공유 disk 만들기 (12)
Mount 후
NFS NFS 구축 구축 (15)(15)
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)
54
NFS – nfs 용 공유 disk 만들기 (14)
Target 에서 nfs_success 라는 파일을 확인
NFS NFS 구축 구축 (17)(17)
55
D. NFS – nfs 용 공유 disk 만들기 (15)
umount 명령을 이용하여 mount 해제
NFS NFS 구축 구축 (18)(18)