1 / 49

개발 환경 구축

개발 환경 구축. PXA255-Pro3. 구성품 확인 : JTAG Cable, Parallel Cable, Serial Cable, Ethernet Cross Cable, Power Cable, CD, Bluetooth. VMware 문제. 네트워크문제 “# vi / etc / sysconfig /network-scripts/ifcfg-eth0 ” 마지막줄에 check_link_down () { return 1; } 변경한 후 reboot. Contents. Cross 개발 환경 구축

didina
Download Presentation

개발 환경 구축

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 개발 환경 구축

  2. PXA255-Pro3 • 구성품 확인:JTAG Cable, Parallel Cable, Serial Cable, Ethernet Cross Cable, Power Cable, CD, Bluetooth

  3. VMware 문제 • 네트워크문제 • “# vi /etc/sysconfig/network-scripts/ifcfg-eth0” • 마지막줄에check_link_down () { return 1; } • 변경한 후 reboot

  4. Contents • Cross 개발 환경 구축 • Cross 개발 환경이란 • Tool Chain 이란 • Tool Chain 설치하기 • 설치 점검 • Host와 Target간의 통신 환경 설정 • Minicom • TFTP • NFS

  5. Cross 개발 환경 구축

  6. Cross 개발 환경 구축 • Cross 개발 환경이란? • 휴대폰과 같은 임베디드 기기의 개발은 프로그램을 실행하는 환경과 프로그램을 개발하는 환경이 다름 • 개발할 때와 실행할 때의 환경이 다른 경우를 “Cross 개발” 이라고 함 • Host System • 프로그램을 개발하는 PC 기반의 시스템 • Target System • Host에서 완성된 프로그램(어플리케이션)이 실행되는 시스템

  7. Cross 개발 환경 구축 • Tool Chain 이란? • Target System의 소프트웨어 개발을 하기 위한 Host System의 Compile환경 • Intel 계열 시스템 기반에서 ARM계열 코드를 생성하기 위해서는 Cross Compile 환경이 필요 • 각종 Source를 Compile 하고 Build하여 실행 Binary를 생성하는데 필요한 각종 Utility 및 Library의 모음

  8. Cross 개발 환경 구축 • Tool Chain 설치 (준비) • 설치 준비 • HUINS에서 제공한 CD와 Host • Host : linux가 설치되어 있는 PC • CD 안에 arm-cross-compiler.tar.bz2파일

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

  10. Cross 개발 환경 구축 • Tool Chain 설치 (2) • cd 명령을 이용하여 mount 된 CD-ROM 으로 이동한다. • ls 명령을 치면 CD의 내용을 볼 수 있음 Tool Chain file

  11. Cross 개발 환경 구축 • Tool Chain 설치 (3) • cp 명령을 이용하여 Tool Chain 파일을 /usr/local/으로 copy • ls 명령으로 copy가 잘 되어 있는지 확인 후 /usr/local/ 디렉토리로 이동

  12. Cross 개발 환경 구축 • Tool Chain 설치 (4) • tar 명령을 이용하여 압축을 풀면 Tool Chain은 자동으로 설치됨. • 설치 후 ls 명령으로 잘 설치 되었는지 확인 j 옵션은 bunzip2의 확장자를 가진 압출 파일을 풀 때 사용 Bunzip2로 압축된 파일은 bz2라는 확장자를 가진다.

  13. Cross 개발 환경 구축 • Tool Chain 설치 (5) • 다음으로 path를 잡아주어야 함. • root폴더에 있는 .bashrc 을 vi로 open.

  14. Cross 개발 환경 구축 • Tool Chain 설치 (6) • PATH 를 아래와 같이 설정해줌 /usr/local/arm-linux/bin에 tool chain에서 설치한 여러 compiler가 있음

  15. Cross 개발 환경 구축 • Tool Chain 설치 (7) • 수정된 .bashrc는 source 명령을 사용하여 적용됨

  16. Cross 개발 환경 구축 • Tool Chain 설치 (8) • hello.c 라는 Test file을 만듦

  17. Cross 개발 환경 구축 • Tool Chain 설치 (9) • 설치된 arm용 cross compiler를 이용하여 compile한다. • hello라는 object 파일이 만들어졌는지 확인한다. arm용 cross compiler Hello라는 object file이 생성

  18. Cross 개발 환경 구축 • Tool Chain 설치 (10) • 만들어진 hello object 파일을 실행시켜본다. • 아래 그림처럼 error가 발생하면 설치 성공. • file이라는 명령어를 이용하여 file의 속성을 확인 ARM용 object 파일 의미

  19. Host와 Target간의 통신

  20. Host와 Target간의 통신 • Serial Cable을 이용한통신 Minicom을 이용하여 serial 통신으로hello라는 파일 전송

  21. Host와 Target간의 통신 • Minicom을 이용한 통신 준비 • Host와 Target을 minicom으로 연결하기 위해 아래와 같은 환경 필요 • Serial Cross Cable(9 pins) 1EA • Host: Linux가 설치되어 있는 PC • Target: PXA255-pro 실습보드 • Cross cable의 한쪽은 Host의 COM1에 연결하고고 다른 한쪽은 Target의 COM1 연결한다.

  22. Host와 Target간의 통신 • Minicom – 실행 (1) • 만들어진 hello object 파일을 target에 download하기 위해 minicom이라는 emulator를 이용 • Minicom을 실행하기 전 통신 포트 설정을 해야 함.

  23. Host와 Target간의 통신 • Minicom – 실행 (2) • “Serial port setup”으로 커서를 옮긴 후 Enter를 입력

  24. Host와 Target간의 통신 • Minicom – 실행(3) • COM1은 ttyS0, COM2는 ttyS1로 Linux에서는 표시함. • A를 눌려서 Serial jack이 연결된 포트를 설정. • Host와 Target의 Baud rate는 115200 • Hardware Flow Control은 NO로 설정

  25. Host와 Target간의 통신 • Minicom – 실행(4) • 설정을 default로 저장하고 나옴.

  26. Host와 Target간의 통신 • Minicom – 실행(5) • 설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨. Boot loader loading Kernel loading ramdisk loading Kernel uncompressing

  27. Host와 Target간의 통신 • Minicom – 실행(6) • Root를 입력 후 login한다.

  28. Host와 Target간의 통신 • Minicom – 실행(7) • tool chain 설치에서 만들었던 hello라는 object 파일을 host에서 target으로 download하려고 한다. • CTRL과 A를 동시에 누른 후 Z키를 입력하면 아래와 같은 화면이 나옴.

  29. Host와 Target간의 통신 • Minicom – 실행(8) • S를 입력 후 Zmodem을 선택하면 아래와 같은 화면이 나옴.

  30. Host와 Target간의 통신 • Minicom – 실행(9) • Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter를 치면 파일이 host로부터 target으로 download됨

  31. Host와 Target간의 통신 • Minicom – 실행(10) • 파일 전송이 성공하면 위와 같은 화면 나옴.

  32. Host와 Target간의 통신 • Minicom – 실행(11) • ls명령을 이용하여 hello 파일이 전송되었는지 확인

  33. Host와 Target간의 통신 • Minicom – 실행(12) • hello 파일을 실행

  34. Host와 Target간의 통신 • Lan Cable을 이용한 통신 Ethernet을 사용한 TFTP, NFS 통신

  35. 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 >임베디드 시스템 게시판에서 받을 수 있음

  36. Host와 Target간의 통신 • BLOB 으로 부팅 (@Target Board) • minicom을 실행 하고 target board에 전원을 인가한다. • BLOB command mode로 target system booting

  37. Host와 Target간의 통신 • BLOB 으로 부팅 (@Target Board) • boot> status • 현재 PXA255-PRO3 보드의 상태를 나타낸다. • boot> set mac_addr • mac address: 01:23:45:67:89:ab • boot> set ip_addr • Newhostip: 192.168.1.200 • Newtargetip: 192.168.1.100

  38. Host와 Target간의 통신 • 설치 확인 (@Host PC) • TFTP rpm을 설치하기 전에 host에 이미 설치가 되어있나 확인 • 설치가 되어 있으면 설치과정 생략 • % rpm –qa | greptftp • 설치 • Host에 설치가 되어있지 않으면 다음과 같이 설치 • % rpm –ivh tftp-0.32-4.i386.rpm tftp-server-0.32-4.i386.rpm

  39. Host와 Target간의 통신 • TFTP Server 구동 (@Host PC) • TFTP Server는 xinetd daemon에서 관리 • TFTP Server를 구동시키기 위해 /etc/xinetd.d/tftp파일을 다음과 같이 설정

  40. Host와 Target간의 통신 • TFTP Server 구동 (@Host PC) • TFTP 설정 파일을 편집한 후에는 xinet daemon에 적용 시키기 위해 xinet daemon을 재 시작 해주어야 함 • # /etc/init.d/xinetd restart • TFTP가 현재 제대로 동작하고 있는가 확인 • # netstat –a | greptftp • tftp가 포함된 행이 보인다면 제대로 동작하고 있는 것

  41. Host와 Target간의 통신 • TFTP Server 구동 (@Host PC) • 파일을 전송할 때 사용하는 디렉토리를 만듦 • # mkdir /tftpboot • CD에서 Kernel Image와 Ramdisk파일을 복사 • # cp /mnt/cdrom/Image/ramdisk_pro3.gz /tftpboot/ • # cp /mnt/cdrom/Image/zImage /tftpboot • tftpboot디렉토리로 이동하여 파일 확인 • # cd /tftpboot • # ls

  42. Host와 Target간의 통신 • Image Download (@Target Board) • Kernel Image Download • boot> tftpzImage kernel • tftp를 이용한 Kernel Image Download • boot> flash kernel • Flash Memory에 kernel을 저장하는 명령 • Ramdisk Image Download • boot> tftp ramdisk_pro3.gz ramdisk • boot> flash ramdisk

  43. Host와 Target간의 통신 • NFS(Network File System)란? • NFS는 파일 시스템의 공유 서버 자원의 공유를 위해 SUN에서 개발 • Server의 자원을 Client가 자신의 자원을 사용하는 것처럼 제공하는 서비스

  44. Host와 Target간의 통신 • NFS– nfs용 공유 disk 만들기 (1) • 공유 할 Directory를 export시켜야 한다.

  45. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(2) • 디렉토리를export 할 수 있도록 vi를 이용하여 /etc/exports 파일을 다음과 같이 편집 Read/ write 암호 인증을 하지 않음

  46. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(3) • nfs데몬을 재 시작한다. • 또는 다음과 같은 명령을 사용해도 된다. • # service nfs restart

  47. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(4) • NFS로 mount시킬 target의 디렉토리를 만듦 • NFS server와 target의 디렉토리를nfs파일 시스템 형으로 mount 시킴 Host IP address

  48. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(5) • 설치가 끝나면 Host의 /home과 Target의 /mnt/nfs는 같은 디렉토리의 의미를 가지게 됨 • Host의 hello라는 파일을 만들면 Target의 /mnt/nfs에서 이 file을 ls명령어로 확인할 수 있음

  49. Host와 Target간의 통신 • NFS – nfs용 공유 disk 만들기(6) • umount명령을 이용하여 mount 해제

More Related