Host Host CPU Pentium IV 3 GHz Memory

  • Slides: 108
Download presentation

Host 시스템 사양 Host 시스템 CPU Pentium IV 3 GHz Memory 512 M Disk

Host 시스템 사양 Host 시스템 CPU Pentium IV 3 GHz Memory 512 M Disk 160 G CD-ROM CD: x 48 I/O Serial / JTAG Network 10/100 Base. T O/S Red Hat Linux 9 7

Target 시스템 H/W 사양 l l l l l CPU: Intel XScale PXA 255

Target 시스템 H/W 사양 l l l l l CPU: Intel XScale PXA 255 400 MHz RAM: Samsung SDRAM 128 MB ROM: Intel Flash 32 MB Screen: 6. 4’’ TFT LCD (640 x 480) Touch Panel: BBADS 7846 E I/O: Serial, JTAG, USB 1. 1(host/client), PCMCIA, Buttons, CMOS camera, Ir. DA, MIC, MMC Ethernet: CS 8900 A 10 Base. T Audio: CS 4202 -JQ Cables: Power, Serial, Parallel, USB, Ethernet Case: Aluminum 8

Target 시스템 S/W 사양 l O/S: Linux 2. 4. 19 kernel l Device Drivers:

Target 시스템 S/W 사양 l O/S: Linux 2. 4. 19 kernel l Device Drivers: CS 8900 A Ethernet, Frame buffer, BBADS 7846 E(Touch Screen), USB(host/client), PCMCIA, Ir. DA, CS 4202 -JQ stereo audio l File System: Ramdisk, JFFS 2 9

Target 시스템 (PXA 255 -PRO 3) 10

Target 시스템 (PXA 255 -PRO 3) 10

Host와 Target의 연결 serial 케이블 JTAG 케이블 USB 케이블 Ethernet 케이블 11

Host와 Target의 연결 serial 케이블 JTAG 케이블 USB 케이블 Ethernet 케이블 11

Toolchain 설치 및 테스트 l Cross-Compiler 개요 l Toolchain 설치 l Toolchain 테스트 12

Toolchain 설치 및 테스트 l Cross-Compiler 개요 l Toolchain 설치 l Toolchain 테스트 12

Toolchain 개요 (1) l l Target 시스템에서 수행되는 소프트웨어를 개발하기 위해 필 요한 Host

Toolchain 개요 (1) l l Target 시스템에서 수행되는 소프트웨어를 개발하기 위해 필 요한 Host 시스템의 cross compile 환경 소스 코드를 compile & link하여 binary 실행 파일을 생성하는 데 필요한 각종 utility 및 library의 모음 기본적으로 assembler, C compiler, linker, C library 등으로 구성되어 있다. GNU에서 제공하는 Toolchain을 사용 l l l GNU GCC for C, C++ : gcc GNU binary utilities: assembler, linker various object file utilities : binutils GNU C library : glibc 14

Toolchain 설치하기 (1) l l l HUINS에서 제공하는 CD를 삽입하고 CD-ROM을 mount한다. CD를 넣으면

Toolchain 설치하기 (1) l l l HUINS에서 제공하는 CD를 삽입하고 CD-ROM을 mount한다. CD를 넣으면 자동으로 mount가 됨. mount가 되지 않았을 경우 아래와 같이 실행 CD-ROM device name Read only option CD-ROM 장치를 /mnt/cdrom 디렉토리에 mount 16

Toolchain 설치하기 (6) l PATH 를 아래와 같이 설정해줌. /usr/local/arm/bin에 tool chain에서 설치한 여러

Toolchain 설치하기 (6) l PATH 를 아래와 같이 설정해줌. /usr/local/arm/bin에 tool chain에서 설치한 여러 compiler가 있음. 21

Toolchain 설치하기 (8) l hello. c 라는 Test file을 만든다. 23

Toolchain 설치하기 (8) l hello. c 라는 Test file을 만든다. 23

Toolchain 설치하기 (9) l l 설치된 arm용 cross compiler를 이용하여 compile한다. hello라는 object 파일이

Toolchain 설치하기 (9) l l 설치된 arm용 cross compiler를 이용하여 compile한다. hello라는 object 파일이 만들어졌는지 확인한다. arm용 cross compiler Hello라는 object file이 생성 24

Toolchain 설치하기 (11) l Embedded Linux 2. 6. x를 위한 Toolchain l Gcc ver.

Toolchain 설치하기 (11) l Embedded Linux 2. 6. x를 위한 Toolchain l Gcc ver. 4. x 이상의 컴파일러를 사용하여야 함 l gcc 버전에 따라 glibc, binutils 등의 버전을 같이 고려 l toolchain_arm-linux_gcc-4. 0. 2_glibc-2. 3. 6. tar. gz 26

Toolchain 설치하기 (12) l 현재 작업디렉토리에 ‘toolchain_arm-linux_gcc 4. 0. 2_glibc-2. 3. 6. tar. gz’

Toolchain 설치하기 (12) l 현재 작업디렉토리에 ‘toolchain_arm-linux_gcc 4. 0. 2_glibc-2. 3. 6. tar. gz’ 을 복사하고 압축을 푼다 l l # tar xfz toolchain_arm-softfloat-linux-gnu_gcc-4. 0. 2_glibc-2. 3. 6. tar. gz -C / 압축을 풀면 ‘/usr/local/arm/’ 디렉토리가 생성된다. 27

Toolchain 설치하기 (14) l 패스 경로를 설정한다. l # vi /root/. bash_profile PATH=$PATH: $HOME/bin:

Toolchain 설치하기 (14) l 패스 경로를 설정한다. l # vi /root/. bash_profile PATH=$PATH: $HOME/bin: /usr/local/arm/gcc-4. 0. 2 -glibc-2. 3. 6/arm-softfloat-linux-gnu/bin l source 명령을 통해 변경된. bash_profile을 쉘에 적용 l l # source /root/. bash_profile 또는 logout/login 29

Toolchain 설치하기 (16) l 컴파일 l l # gcc –o hello-x 86. /hello. c

Toolchain 설치하기 (16) l 컴파일 l l # gcc –o hello-x 86. /hello. c [ host용 컴파일 ] # arm-linux-gcc –o hello-arm. /hello. c [ arm용 컴파일 ] # /usr/local/arm/gcc-4. 0. 2 -glibc-2. 3. 6/arm-softfloat-linuxgnu/bin/arm-linux-gcc …. 컴파일 된 파일 정보 확인(file 명령 사용) 31

터미널 에뮬레이터 - 실행(3) l l COM 1은 tty. S 0, COM 2는 tty.

터미널 에뮬레이터 - 실행(3) l l COM 1은 tty. S 0, COM 2는 tty. S 1로 Linux에서는 표시함. A를 눌려서 Serial cable이 연결된 포트를 설정. Host와 Target의 연결 설정: 115200 bps, 8 bit, no parity, 1 stop bit Flow Control은 모두 NO로 설정 38

터미널 에뮬레이터 - 실행(5) l 설정을 마친 후 target 보드의 전원을 on 시키면 아래와

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

JTAG 개요 (3) v JTAG pin v v v TCK : Test Clock Input

JTAG 개요 (3) v JTAG pin v v v TCK : Test Clock Input TMS : Test Mode Select TDI : Test Data Input TDO : Test Data Output n. TRST : Test Reset v TAP controller v State machine에 의해 JTAG 의 모든 operation을 수행. state의 변화는 TMS의 상태 값과 TCK의 triggering으로 발생 v 참고 사이트 v http: //www. jtag. com 51

JTAG 개요 (4) l Boundary-Scan Test Interface JTAG Diagram 셀 소자의 연결 상태 점검

JTAG 개요 (4) l Boundary-Scan Test Interface JTAG Diagram 셀 소자의 연결 상태 점검 Digital Chip Flash 메모리 write Registers TAP 52

JTAG I/F Program 설치 및 실행 (3) l PXA 255 -PRO V 3. 0에서

JTAG I/F Program 설치 및 실행 (3) l PXA 255 -PRO V 3. 0에서 Host 와 Target의 JTAG Interface JTAG port Host의 parallel port 56

JTAG I/F Program 설치 및 실행 (4) l JTAG I/F 프로그램 l Host PC에서

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

JTAG I/F Program 설치 및 실행 (5) l Jtag 프로그램 설치 l l jtag

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

Jflashmm 프로그램 설치 (2) l 파일을 실행한다. ( Ex. JFlash_MM_V 5_01_007. exe ) Ø

Jflashmm 프로그램 설치 (2) l 파일을 실행한다. ( Ex. JFlash_MM_V 5_01_007. exe ) Ø Yes Click 63

Jflashmm 프로그램 설치 (3) Ø Next Click 65

Jflashmm 프로그램 설치 (3) Ø Next Click 65

Jflashmm 프로그램 설치 (4) Ø Finish Click 66

Jflashmm 프로그램 설치 (4) Ø Finish Click 66

Jflashmm 프로그램 설치 (5) l PXA 255 Data 파일 설치 l l CD: JFlash.

Jflashmm 프로그램 설치 (5) l PXA 255 Data 파일 설치 l l CD: JFlash. MMdbpxa 255. dat을 Jflashmm을 설치한 디렉토 리 안에 복사한다. GIVEIO 드라이버 복사 l C: Program FilesInter CorpationJflash_MM에 있는 ‘GIVEIO. SYS’파일을 복사하여 C: WINDOWSsystem 32drivers (Windows XP경우), C: WINNTsystem 32drivers (Windows 2000경우)에 넣는다. 67

Jflashmm으로 u-boot. bin 이미지 기록 82

Jflashmm으로 u-boot. bin 이미지 기록 82

TFTP 서버 설치 및 실행 (3) l TFTP Server 구동 l l TFTP Server는

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

NFS 구축 (2) l NFS – 구성(2) 192. 168. 1. * Host 192. 168.

NFS 구축 (2) l NFS – 구성(2) 192. 168. 1. * Host 192. 168. 1. 100 Target 192. 168. 1. 101 92

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

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

NFS 구축 (13) l NFS – nfs용 공유 disk 만들기 (10) l l NFS로

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

NFS 구축 (14) l NFS – nfs용 공유 disk 만들기 (11) l l cat

NFS 구축 (14) l NFS – nfs용 공유 disk 만들기 (11) l l cat /etc/mtab 을 이용하여 mount 성공여부 체크 Mount 전 104

NFS 구축 (15) l NFS – nfs용 공유 disk 만들기 (12) l Mount 후

NFS 구축 (15) l NFS – nfs용 공유 disk 만들기 (12) l Mount 후 105

NFS 구축 (17) l NFS – nfs용 공유 disk 만들기(14) l Target에서 nfs_success라는 파일을

NFS 구축 (17) l NFS – nfs용 공유 disk 만들기(14) l Target에서 nfs_success라는 파일을 확인 107