목차 개발환경 JTAG Bootp TFTP NFS 1

Similar documents
망고100 보드로 놀아보자-4

PowerPoint 프레젠테이션

Microsoft PowerPoint - Cross Development Environment [호환 모드]

슬라이드 제목 없음

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft Word doc

Microsoft PowerPoint - 02-Development-Environment-1.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

SMB_ICMP_UDP(huichang).PDF

Microsoft Word - Fedora Core 9 개발환경 최종본.docx

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

untitled

1217 WebTrafMon II

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

SRC PLUS 제어기 MANUAL

슬라이드 1

TCP.IP.ppt

페도라 코어 5 설치 가이드

Mango220 Android How to compile and Transfer image to Target

hd1300_k_v1r2_Final_.PDF

PowerPoint 프레젠테이션

운영체제실습_명령어

Microsoft PowerPoint - e7.pptx

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

2-11Àå

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Remote UI Guide

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

작성자 : 기술지원부 김 삼 수

PowerPoint 프레젠테이션

untitled

DE1-SoC Board

(SW3704) Gingerbread Source Build & Working Guide

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (


Microsoft PowerPoint - ARM 개발 환경.ppt

슬라이드 1

PowerPoint 프레젠테이션

Microsoft Word doc

Chap 2 임베디드시스템 개발환경구성

Microsoft Word - Armjtag_문서1.doc

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

bn2019_2

PCServerMgmt7


Subnet Address Internet Network G Network Network class B networ

Microsoft PowerPoint - 06-CompSys-11-System.ppt

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

Sena Device Server Serial/IP TM Version

제20회_해킹방지워크샵_(이재석)

Assign an IP Address and Access the Video Stream - Installation Guide

Interstage5 SOAP서비스 설정 가이드

ISP and CodeVisionAVR C Compiler.hwp

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

untitled

MAX+plus II Getting Started - 무작정따라하기

User Guide

MV6410 Linux 마이크로비젼 MV6410-LCD Linux 활용가이드 마이크로비젼 MV6410 Linux 1

6주차.key

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

UDP Flooding Attack 공격과 방어

untitled

MySQL-Ch10

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

PowerPoint 프레젠테이션

untitled


Microsoft PowerPoint - em8-리눅스설치.ppt

Solaris System Administration

chapter4

PowerPoint 프레젠테이션

APOGEE Insight_KR_Base_3P11

歯Cablexpert제안서.PDF

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

임베디드 OS 실습 환경 설정 절차(Windows XP Professional)

RealDSP UT 프로그램 메뉴얼

The Pocket Guide to TCP/IP Sockets: C Version

Install stm32cubemx and st-link utility

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Solaris Express Developer Edition

Microsoft Word ARM_ver2_0a.docx

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O


CLX8380_KR.book

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

TTA Journal No.157_서체변경.indd

untitled

Transcription:

Chapter. 3 Development Environment Settings Professor. Jaeheung, Lee

목차 개발환경 JTAG Bootp TFTP NFS 1

개발환경 기본구성 JTAG RS-232 Ethernet Host System Target System 2

개발환경 개발환경구성요소 Host System Target System을개발하기위한환경을제공하는시스템교차개발환경제공 Cross Compiler, Monitor, Debugger 등을제공 ToolChain을이용한코드생성 JTAG(Jflash-Xscale) 을운용하기위한환경제공 Boot Loader용터미널환경제공 Target System or Device 개발하고자하는 Embedded System Board 3

개발환경 개발환경구성요소 cont d Backend Host System 과 Target System 간통신을위한매개체 Serial Port (RS-232) : Minicom( 터미널 ) 을통해 Target System 과통신 Parallel Port (JTAG) : JTAG 을통해 Flash Memory 에 Fusing 할수있는통신채널제공 Ethernet : zimage, root file system image 등을 Host System 에서 Target System 으로다운로딩할수있는통신채널제공 Target Terminal Target System의상황을 Host Terminal에표시해주는프로그램 Bootload의상황을모니터링 Linux가적재된후에 Target System의 Console로사용 4

개발환경 Target System HBE-EMPOS II H/W 사양 5

개발환경 Target System HBE-EMPOS II S/W 사양 6

개발환경 Target System 구성품확인 Power Cable Serial Cable LAN Cable JTAG Cable 7

개발환경 Target System 을위한 Terminal 환경 Windows Hyper Terminal 사용 Linux - Minicom Minicom (Target 용 ) JTAG RS-232 Host 용 Terminal Ethernet Host System Target System 8

개발환경 Minicom 실행및설정 Host System 에서 Minicom 실행 # minicom -s Serial Port Setup 항목선택 9

개발환경 Minicom 실행및설정 cont d A : COM 포트설정 /dev/ttys0 : COM1, /dev/ttys1 : COM2 시스템에따라달라질수있음 E : Baudrate, Data, Bits 설정 Baudrate : 115200, Data : 8, Parity : NO, Stop : 1 설정이끝나면 Enter 키를누르고상위메뉴로빠져나옴 10

개발환경 Minicom 실행및설정 cont d 모든설정이완료되었으면 Save setup as dfl 을선택 저장이완료되면 Exit 항목을선택하여종료 이후 Minicom 프로그램이실행되는 Host System 은 Target System 의 Console 역할을하게됨 11

JTAG JTAG 이란? Joint Test Access Group JTAG 프로세서의상태와관계없이디바이스의모든외부핀을구동시키거나값을읽어들일수있는기능을제공 디바이스내에서모든외부와의연결점을가로챔 각각의셀은시리얼 Shift-Register(Boundary-Scan Register) 를형성하기위해서로연결 전체적인인터페이스는 5 개의핀 (TDI, TMS, TCK, ntrst, TDO) 에의해제어 회로의배선과소자의전기적연결상태 TEST 디바이스간의연결상태 TEST S/W 입장에서 Flash Memory Fusing 용도로많이사용 12

JTAG Boundary-Scan Test Interface JTAG Diagram CELL 회로의배선과소자의전기적연결상태 Test Digital Chip 디바이스간의연결상태 Test Registers TAP Flash Memory Fusing 13

JTAG Boundary-Scan Test Interface JTAG Diagram CPU inb(base_address+1) outb(base_address+n, DATA) n:0,2 Parallel Port logic Address Decoder BASE_ADDRESS 278 378 3bc BASE_ADDRESS : Data Register BASE_ADDRESS + 2 : Control Register BASE_ADDRESS + 1 : Status Register C1 S3 C2 C3 C0 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 S6 S7 S5 S4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Address Line : Data Line : Control Line : Decoder : Base address~+2 안의주소에만반응 Register : data, control, status 의세가지가있음 Data register Control register Status register 14

JTAG Jflash JTAG Flash Programming Utility PATH 설정 # mkdir /usr/local/jtag # mount /mnt/cdrom # cd /mnt/cdrom/tools/jtag # cp Jflash-Xscale.tar.gz /usr/local/jtag # cd /usr/local/jtag # tar xvfz Jflash-Xscale.tar.gz # cd Jflash-Xscale # make # vi ~/.bash_profile export PATH=$PATH:/usr/loca/jtag/Jflash-Xscale:$PATH # source ~/.bash_profile 15

Bootp Bootp TCP/IP 상에서자동부팅을위한최초의표준 디스크장치가없는클라이언트를위한프로토콜 UDP 와 TFTP 프로토콜사용 Host 와 Target 보드간접속을연결하고각종정보들을가져오기위한준비절차라고할수있음 나중에 TFTP 를통해데이터전송이이루어짐 Bootp 설정시필요한데몬 : inetd, bootpd RS-232 Ethernet 필요한 Configuration File : inetd.conf, bootptab, hosts, services Host System Target System 16

Bootp Bootp protocol Bootp Request : Target board 가 host 에게 IP 를요구 IP 요청 packet 을생성하여호스트에전송 Bootp Reply : Host 는 Target 보드의 IP 주소를전달 IP 요청 Packet을 inetd가수신 inetd는 bootpd에게 IP요청 Packet을넘김 IP 응답 Packet을 bootpd는 bootptab을참조하여 IP응답 Packet을전달 Bootp Reply Bootp Request Host System Target System 17

Bootp Bootp Packet Format 300 bytes 0 7 8 15 16 23 24 31bit Opcode 1=Request,2=Rep Number of seconds Hardware type 1 = Ethernet Transaction ID Client IP address Your IP address Server IP address Gageway IP address Client hardware address (16bytes) Server Hostname (64bytes) Boot filename (128bytes) Vendor-specific information (64bytes) bootp 메시지는고정길이필드 ( 총 300 바이트 ) 사용 : Request 와 Reply 가같은양식을사용 OP-code : message type 1=Request, 2=Reply Hardware type : 1= 10 Base Ethernet Hardware address Length(6=ethernet) Unused Hop count 18

Bootp Bootp Packet Format cont d Hardware address Length : 6 = 10 Base Ethernet HOP count : 클라이언트에서 0 으로 Setting, Gateway 에의해임의로사용 Transaction ID : 32bit 정수 (Random), client 가 set, server 가 return client 는 Request 와 Reply 가같은지를확인 Number of Second : Client 가 bootstrap 을시도한시간을 set Secondary Server 는이시간을참고하여일정시간이경과할때까지응답하지않음 Client IP Address : Client 가자기자신의 IP 를알면넣고모르면 0.0.0.0 Your IP Address : Client IP 주소가 0 이면 server 가 IP 주소를채움 Server IP Address : server 에의해채워짐 Gateway IP Address : Proxy server 를사용할경우 Proxy server 의라우터 IP Address 를보충 19

Bootp Bootp Packet Format cont d Client Hardware Address : Client 는반드시 Setting, Ethernet Mac Address 와동일 Server Host Name : Client 는 Option 으로원하는서버지정가능만일 0 이면임의서버, 0 이아니면특정서버지정 Boot Filename : client 는일반적인 Boot Filename 기술서버가응답시 (Reply) Boot file 의실제경로제공 Vendor-specific information : bootp 의확장과추가적인 Parameter 에사용 Bootp Reply Port 67, IP 0.0.0.0 Bootp Request Port 68, IP 211.104.101.228 Host System Target System 20

Bootp Bootpd & inetd 모든 TCP/IP 통신의시작은 inetd 슈퍼서버를통해관리 Bootp Request : Target System이 Host System에게 IP주소를요구 Bootp Reply : Host system은 Target System의 IP주소를전달 bootpd inetd tftpd telnetd ftpd inetd : TCP/IP 를통하여통신을하고자할때이를관리하는데몬. TCP/IP 와관련된프로토콜은항상 inetd 로부터각각의해당되는 TCP/IP 관련데몬을호출한다. 21

Bootp Bootp 와관련된데몬 Bootpd bootpd 프로세스는자신의구성파일 (bootptab) 을읽어서해당 MAC address 를가진항목이있는가를확인하고, 항목이존재한다면응답패킷을구성 이때몇가지의정보가 Host System 으로부터 Target System 으로전송되며그목록은다음과같음 sm : Local LAN 의서브넷마스크 hd : host directory ht : LAN 의하드웨어형태 ha : Target System 의이더넷 MAC Address 22

Bootp Bootp 와관련된데몬 Inetd inetd 프로세스는 Target System 에서보낸패킷을검출하여 bootpd 데몬을요청하면해당 bootpd 데몬이호출되도록해주는역할 inetd.conf 에설정된데몬들 (tftp, bootp, telnet, ftp 등 ) 을관리 대부분의네트워크서버들은 Request 를기다리며대기하고있는서브프로세스들을가지고있지않음 그래서이러한작업은 inetd 이대신수행하는데, inetd 은 inetd.conf 에설정된모든네트워크포트들을듣고 (listen) 있다가 Request 가오면해당하는서버를가동하는역할을수행 23

Bootp Bootp 설치확인및미설치시설치 # rpm qa grep bootp # mount /mnt/cdrom # cd /mnt/cdrom/tools/bootp # rpm ivh bootp-2.4.3-7.i386.rpm 리눅스패키지명령어 rpm qa ( 데몬이름 ) : 설치확인 rpm ivh ( 파일이름 ) : 설치과정을확인하면서설치 rpm e ( 파일이름 ) : 기존의설치된데몬삭제 주의 : 서로의존성이있는데몬들은최하위의존데몬부터삭제 24

Bootp Bootp 환경설정파일 inetd.conf # cd /etc # vi inetd.conf tftp dgram udp wait /usr/sbin/in.tftpd bootps dgram udp wait /usr/sbin/tcpd Hosts # cd /etc # vi hosts 127.0.0.1 localhost.localdomain localhost 211.104.101.227 linux 192.168.0.7 EMPOS hosts 파일은사용하고있는 Target System의 IP주소를포함 host의이름은 bootptab에있는 host 이름과같음 25

Bootp Bootp 환경설정파일 services # cd /etc # vi services bootps 67/tcp # bootp server tftp 69/udp # tftp server services 파일은사용하고있는네트워크서버들의데이터방식과포트를설정 26

Bootp Bootp 환경설정파일 bootptab # cd /etc # vi bootptab.default:/ hd=/tftpboot:bf=null:\ ip=192.168.0.7:\ sm=255.255.255.0 Empos:ht=1:ha=0x000BA8030158:tc=.default hd : Host Directory sm : 서브넷마스크 ha : Ethernet 의하드웨어주소를포함 0x000BA8030158 : Target System Ethernet MAC Address 27

Bootp Bootp 환경설정파일 bootp # cd /etc/xinet.d # vi bootp service bootps { disable = no flags = REUSE NAMEINARGS socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart 28

TFTP Server 로부터필요한 File 을읽어와자신의 Memory 에 Load 시킬때필요한 Protocol 장점 단점 Flash Memory 에맞도록설계된단순한 Protocol Disk 없는 System 의가동프로세서에이용 UDP 를이용하여 Client 와 Server 사이의통신 Booting 에필요한간단한 Program 과 BOOTP, RARP, TFTP 만탑재한시스템에서많이이용되며펌웨어자동업그레이드에이용가능 시스템이단순하고간단함 어떤형태의전달서비스상에서도동작이가능 시스템가격이저렴 정보보호기능이없음 Data 에대한보장성이없음 29

TFTP TFTP 패킷형식 IP Datagram UDP Datagram IP Header UDP Header TFTP Message 20bytes 8bytes =<512bytes 512 bytes의 Data Block을전송각 Block은아주간단한 4bytes 헤더와연결 Block의전송번호는항상 1부터시작 ASCII 또는 Binary 전송을지원 Remote File을 Read하거나 Write할때사용 No Checksum 높은처리율보다는간단함을강조한프로토콜 30

TFTP TFTP 패킷형식 FTP TCP IP TFTP UDP Message Format IP Header UDP Header 20 8 IP datagram UDP datagram TFTP message OP Code RRQ WRQ Data ACK Error Value 1 2 3 4 5 OP Code(1, 2) Data (3) ACK (4) Error (5) File name Block 번호 Block 번호 2 2 Error 번호 0 mode 0 2 n 1 n 1 전송 Data 2 2 0-512 Error Message 2 2 n 1 0 31

TFTP TFTP 설치확인및미설치시설치 # rpm qa grep tftp # mount /mnt/cdrom # cd /mnt/cdrom/tools/tftp # rpm ivh tftp-server-0.29-3.i386.rpm 32

TFTP TFTP 환경설정 # cd /etc/xinet.d # vi tftp service bootps { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart 33

TFTP TFTP 를이용한 Bootloader Downloading TFTP 이용시해당파일을 /tftpboot 디렉토리에복사 # cd /home/working/empos_boot-20031022/ # cp empos_boot( 부트로더파일 ) /tftpboot TFTP 명령을이용하여 Target System에 Bootloader 다운로딩 Bootloader의 flash 명령을이용하여메모리에 Write # tftp empos_boot booter # flash booter 34

NFS NFS 란? SUN 사가개발한 RPC(Remote Procedure Call) 기반시스템 Remote Computer 의파일을마치자신의컴퓨터에있는것처럼이용 Server/Client 기반응용프로그램 File System 이존재하지않는 Client 시스템에서원격의 Host 시스템에서설정된일부디렉터리를이용 임베디드시스템개발시많이이용됨 /root /bin /lib /etc /bin /lib /sbin /root /bin /lib /sbin NFS Server /net /kernel /arch /mm /driver /exam NFS Client /mm /driver /exam Host File System 35

NFS NFS 구성도 User Process local file access NFS client NFS server local file access Kernel TCP/UDP IP client kernel TCP/UDP IP UDP port 2049 server kernel local disk local disk 36

NFS 장점 개발호스트에서작업한것을 NFS 시스템을이용하여 Target Board 의리눅스상에서 mount 시켜사용하면 download 할필요가없음 개발호스트상의파일이 Target Board 의리눅스파일시스템위에서접근이가능하고실행이가능 램디스크상에서올리기에너무큰파일도 NFS 상에서는호스트의기억용량에의존하기때문에쉽게처리가능 단점 특수파일은 NFS 에연결된디렉토리에만들수없음. 예 : 장치파일 읽고쓰는속도가빠른파일로는사용이곤란. 예 : 멀티미디어파일 37

NFS TFTP/NFS 를이용한부팅시나리오 Target RAM RAM Host 1.TFTP request Flash memory 부트로더 4. 커널분기 5. 분기및커널압축해제 Linux 커널 2.TFTP reply ( 압축커널만 ) 3. 압축커널다운로드 압축커널이미지 6. NFS Root FS 마운트 Host Hard Disk (File System) 38

NFS NFS 서버설정 /etc/hosts 파일의내용에추가할사항 타겟보드에할당할 IP <tab> 이름 /etc/exports 파일의내용에추가할사항 /home/nfs <tab> 보드 IP[ 또는 *](rw,no_root_squash) 예 ) /home/nfs *(rw, no_root_squash, no_all_squash) 또는 /home/nfs 203.247.100.101(rw, no_root_squash, no_all_squash) /usr/sbin/lokkit security level을 high로둔상태에서 Customize를선택 (* 표시 ) eth0를선택 (* 표시 ) 후종료 39

NFS NFS 서버측설정 NFS 디렉토리생성및권한설정 # mkdir /home/nfs # chmod 777 nfs # chgrp nobody nfs NFS 환경설정 # vi /etc/exports /home/nfs TS_IP(rw,no_root_squash,no_all_squash) # service nfs restart 혹은 /etc/rc.d/init.d/nfs restart TS_IP : Target System IP 괄호안문장들은띄어쓰기가없어야함 40

NFS NFS 파일공유 Test Host System # cd /home/nfs # vi nfs_testfile.c #include <stdio.h> # arm-linux-gcc o nfs_testfile nfs_testfile.c Target System # mkdir /mnt/nfs # mount t nfs HOST_IP:/home/nfs /mnt/nfs # cd /mnt/nfs # ls /mnt/nfs #./nfs_testfile 41