교육지원 IT시스템 선진화

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

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

PowerPoint 프레젠테이션

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

슬라이드 제목 없음

PowerPoint 프레젠테이션

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

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

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

Code Generation in Rapid

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

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

페도라 코어 5 설치 가이드

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

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

PowerPoint 프레젠테이션

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

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

Chap 5 루트파일시스템 (Root F/S)

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

슬라이드 1

Microsoft Word ARM_ver2_0a.docx

PowerPoint 프레젠테이션

Install stm32cubemx and st-link utility

RaspberryPi 개발환경구축 II 1 제 03 강 개발환경구축 II 가상머신환경구축 (VMware Player, VM(Ubuntu), VMTools, 폴더공유 ) 필수패키지설치 Tool Chain( 크로스컴파일러 ) 설치크로스컴파일및호스트컴파일 NFS 서비스한글사

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

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

벤처연구사업(전동휠체어) 평가

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Mango-E-Toi Board Developer Manual

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

JDK이클립스

PowerPoint 프레젠테이션

고급 프로그래밍 설계

DE1-SoC Board

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

PowerPoint 프레젠테이션

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - chap01-C언어개요.pptx

NTD36HD Manual

슬라이드 1

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

망고 M 카메라 포팅 가이드

운영체제실습_명령어

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

교육지원 IT시스템 선진화

untitled

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

Microsoft Word - VMware와 리눅스 설치_v0.11.doc

LXR 설치 및 사용법.doc

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

강의 자료

vi 사용법

Secure Programming Lecture1 : Introduction

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을


Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Tizen

문서 대제목

APOGEE Insight_KR_Base_3P11

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint 프레젠테이션

/chroot/lib/ /chroot/etc/

K7VT2_QIG_v3

PowerPoint 프레젠테이션

RaspberryPi 개발환경구축 I 1 제 01 강 실습일정및가상머신구축 교과소개및실습일정 실습실안전교육 가상머신환경구축 (VMware Player, VM(Ubuntu), VMTools, 폴더공유 ) 참고 )

Mango220 Android How to compile and Transfer image to Target

로봇SW교육원 강의자료

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - 02_Installation

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - CooCox

2009년 상반기 사업계획


Transcription:

Module 5: Installation of Development Tools ESP30076 임베디드시스템프로그래밍 (Embedded System Programming) 조윤석 전산전자공학부

주차별목표 툴체인 (Toolchain) 또는크로스컴파일러설치하기 타겟보드와의통신설정하기 기타시스템툴설치하기 2

툴체인 (Toolchain) 이란? 크로스컴파일러를설치해야하는이유 리눅스가설치된가상컴퓨터는 i386 계열의 CPU 를탑재하고있고, 타겟보드는 ARM 계열의 CPU 를탑재하고있음 타겟보드에필요한바이너리파일컴파일은호스트컴퓨터의리눅스에서수행해야하므로호스트컴퓨터에크로스컴파일러 (cross compiler) 설치필요 크로스컴파일러는종종툴체인 (toolchain) 이라고부르며혼용해서사용 3

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 툴체인프로그램은업체에서제공하는개발용 DVD 에들어있음 VirtualBox 에서 DVD 장치연결 4

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 DVD 디스크에들어있는타겟보드용파일 5

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 호스트컴퓨터에삽입된 DVD 디스크가리눅스에마운트된상태 6

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 터미널창에서툴체인설치파일이들어있는 toolchain 디렉토리로이동 tar 명령어를이용하여툴체인파일을 /opt 디렉토리로압축을풀면툴체인이설치됨 # cd /media/achro-210t-s1314/toolchain # tar xvfj arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 C /opt 7

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 툴체인설치를위해압축파일풀기 8

툴체인 (Toolchain) 설치하기 -DVD 디스크이용 DVD 디스크를이용한툴체인설치 설치된툴체인에대한주요실행파일들은 /opt/toolchains/arm-2009q3/bin 디렉토리에들어있음 Achro-210T 타겟보드에필요한 C 프로그램을컴파일하기위한크로스컴파일러 : arm-linux-gcc 9

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 타겟보드용 DVD 디스크의변환된 ISO 파일 10

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 설치된툴체인파일확인 11

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 VirtualBox 관리자에서공유폴더확인 12

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 VirtualBox 관리자를통해공유된폴더마운트하기 13

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 타겟보드용 ISO 파일마운트하기 14

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 툴체인파일확인 15

툴체인 (Toolchain) 설치하기 -ISO 파일이용 ISO 파일을이용한툴체인설치 이후설치하는과정은 DVD 디스크로설치하는경우와동일 root@esp:~# cd /root/achro-210t/toolchain/ 툴체인설치파일이있는위치로이동 root@esp:~/achro-210t/toolchain# ls 파일목록확인 README.txt arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linuxgnu.tar.bz2 root@esp:~/achro-210t/toolchain# tar xvfj arm-2009q3-67-arm-nonelinux-gnueabi-i686-pc-linux-gnu.tar.bz2 C /opt 압축풀기 root@esp:~/achro-210t/toolchain# cd /opt/toolchains/arm-2009q3/bin 설치된툴체인의실행파일이있는위치로이동 root@esp:/opt/toolchains/arm-2009q3/bin# ls 설치파일 ( 크로스컴파일러 : arm-linux-gcc) 확인 arm-linux-addr2line arm-none-linux-gnueabi-addr2line arm-linux-ar arm-none-linux-gnueabi-ar ( 생략 ) 16

툴체인 (Toolchain) 설치하기 - 환경변수설정 환경변수설정 크로스컴파일러로사용되는명령어 ( 예 : arm-linux-gcc) 들이명령어라인상에서자동으로실행되도록환경변수 PATH 에크로스컴파일러가들어있는디렉토리등록 root@esp:~# vi /root/.bashrc 파일을연후 G 를눌러파일의맨뒤로이동한다 # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then. ~/.bash_aliases fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). #if [ -f /etc/bash_completion ] &&! shopt -oq posix; then #. /etc/bash_completion #fi export PATH=$PATH:/opt/toolchains/arm-2009q3/bin 경로를추가한다. 17

툴체인 (Toolchain) 설치하기 - 환경변수설정 환경변수설정 환경변수업데이트및확인하기 root@esp:~# source /root/.bashrc root@esp:~# which arm-linux-gcc /opt/toolchains/arm-2009q3/bin/arm-linux-gcc root@esp:~# 18

툴체인 (Toolchain) 설치확인하기 툴체인설치확인 Test File 작성 root@esp:~# vi hello.c /* File Name : hello.c */ #include <stdio.h> int main(int argc, char **argv) { printf("welcome to the Embedded Class!!!\n"); return 0; } 19

툴체인 (Toolchain) 설치확인하기 툴체인설치확인 Test File 컴파일및확인 root@esp:~# mkdir /root/work 작업디렉토리생성 root@esp:~# cd /root/work 작업디렉토리로이동 root@esp:~/work# gcc hello.c o hello.i386 호스트용으로컴파일 root@esp:~/work# arm-linux-gcc hello.c o hello.arm 타겟용으로컴파일 root@esp:~/work#./hello.i386 호스트 (i386 머신 ) 에서정상적으로실행됨 Welcome to the Embedded Class!!! root@esp:~/work#./hello.arm ARM 용으로컴파일된이미지는호스트 (i386) 에서실행되지않음 bash:./hello.arm: 바이너리파일을실행할수없음 root@esp:~/work# file hello.i386 파일속성알아보기 hello.i386: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped root@esp:~/work# file hello.arm 파일속성알아보기 hello.arm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped 20

기타시스템툴설치하기 - 리눅스 USB 개발라이브러리 리눅스 USB 개발라이브러리 호스트시스템에서사용하는 USB 드라이버패키지 (libusb-dev) 를우분투홈페이지에서다운로드 root@esp:~# apt-get install libusb-dev 설치화면 21

기타시스템툴설치하기 -USB 다운로드툴 USB 다운로드툴설치 Achro-210T 는 USB 를통해서부트로더, 커널등의이미지를다운로드받을수있음 일반적으로 USB 전송속도는이더넷에비해서빠르며사용이편리 root@esp:~# mkdir /root/download 이전에생성했다면건너뛰기 root@esp:~# cp /root/achro-210t/utilities/linux/smdk-usbdl/smdk-usbdl.tar.gz ~/download root@esp:~# cd ~/download download 디렉토리로이동 root@esp:~# tar xvfz smdk-usbdl.tar.gz 압축풀기 root@esp:~# cd dltools USB 개발툴설치디렉토리로이동 root@esp:~# ls dltool.c Makefile readme.txt smdk-usbdl root@esp:~# cp a smdk_usbdl /usr/bin 툴을시스템디렉토리 (/usr/bin) 으로복사 22

기타시스템툴설치하기 -bl1 툴 bl1 툴설치 부트로더중부팅에필요한부트로더 1(BL1) 을생성하는유틸리티만들기 root@esp:~# cp ~/achro-210t/utilities/linux/makechecksum/makechecksum.tar.gz ~/download 파일복사 root@esp:~# cd /root/download download 디렉토리로이동 root@esp:~# tar xvfz makechecksum.tar.gz 압축풀기 root@esp:~# cd makechecksum BL1 툴이들어있는디렉토리로이동 root@esp:~# cp a makechecksum /usr/bin BL1 툴을시스템디렉토리로복사 23

타겟보드와의통신설정하기 호스트컴퓨터와타겟보드간의통신 RS-232C 를이용한직렬통신 주로호스트컴퓨터에서타겟보드를모니터링하거나제어하는데사용됨 간단한파일을주고받는데사용됨 이더넷을이용한통신 리눅스기반의직렬통신프로그램 미니컴은호스트컴퓨터와 Achro-210T 타겟보드간에직렬통신을가능케해주는가상터미널소프트웨어 24

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴설치 root@esp:~# apt-get install minicom 미니컴설치패키지목록을읽는중입니다... 완료의존성트리를만드는중입니다상태정보를읽는중입니다... 완료다음패키지를더설치할것입니다 : lrzsz 다음새패키지를설치할것입니다 : lrzsz minicom 0 개업그레이드, 2 개새로설치, 0 개지우기및 243 개업그레이드안함. 412k 바이트아카이브를받아야합니다. 이작업후 1,470k 바이트의디스크공간을더사용하게됩니다. 계속하시겠습니까 [Y/n]? y 받기 :1 http://kr.archive.ubuntu.com/ubuntu/ lucid/universe lrzsz 0.12.21-5 [99.9kB] ( 생략 ) 25

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴에서사용할직렬통신환경설정 미니컴설정모드로실행 root@esp:~# minicom -s 미니컴설정모드 26

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴환경설정선택창에서화살표키를사용하여 Serial port setup 을선택 27

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴환경설정 컴퓨터의장치관리자화면에서 포트 (COM & LPT) 를확인 28

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴환경설정 가상머신관리자의 [ 장치 ] - [USB 장치 ] 메뉴를보면포트에서확인한 USB-to-serial 케이블명을선택 해당장치는호스트컴퓨터가아닌가상머신에서실행되고있는리눅스에서사용하게됨 리눅스에서인식한장치파일을확인 root@esp:~# ls l /dev/ttyusb* 0 crw-rw---- 1 root dialout 188, 0 2014-03-15 16:52 /dev/ttyusb0 29

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 미니컴환경설정 미니컴통신설정화면에서 A 를눌러직렬장치명을입력한후엔터키누름 미니컴통신설정화면에서 E 를눌러통신속도설정을진행 통신속도는 115200, Data bit 는 8, Stop bit 는 1 로, parity 는 NO 로설정 E 를눌러통신속도를맞추고 L, V, W 를차례로눌러나머지부분을맞추거나 Q 를눌러서한번에설정 미니컴통신설정화면에서 F 를눌러 Hardware Flow Control 을 No 로설정 미니컴통신설정화면에서 G 를눌러 Software Flow Control 을 No 로설정 설정이완료되면엔터키를눌러상위메뉴로이동 현재의설정값을상시이용할수있도록저장하기위해서화살표키를이용하여 Save setup as dfl 를선택 Enter 를눌러설정된값을저장후 Exit 을선택하여설정마침 30

타겟보드와의통신설정하기 리눅스기반의직렬통신프로그램 임베디드장치연결후전원을인가하여미니컴동작확인 31

타겟보드와의통신설정하기 NFS 실습 준비사항 LAN 크로스케이블 리눅스가설치된호스트컴퓨터 Achro-210T 실습보드 ( 이하타겟보드라는용어와혼용해서사용함 ) 호스트컴퓨터와타겟보드를 NFS 로연결하기위해서는네트워크상에서서로인지할수있는 IP 주소를할당 호스트컴퓨터와타겟보드의 IP 주소 32

타겟보드와의통신설정하기 NFS 실습 33 호스트컴퓨터 IP 주소설정 ( 명령어이용 ) # ifconfig eth1 192.168.10.100 호스트컴퓨터 IP주소설정 (Xwindow 이용 아래의내용으로설정 ) DEVICE : eth1 IP : 192.168.10.100 NETMASK : 255.255.255.0 타겟보드 IP 주소설정 Achro210T login: root login[99]: root login on 'ttysac0' root@achro210t:~# ifconfig eth0 192.168.10.110 root@achro210t:~# ifconfig eth0 eth0 Link encap:ethernet HWaddr BA:B0:BE:AD:00:00 inet addr:192.168.10.110 Bcast:192.168.10.255 Mask:255.255.255.0 ( 생략 )

타겟보드와의통신설정하기 NFS 실습 호스트컴퓨터에서 NFS 로공유할디렉토리를지정 root@esp:~# vi /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv4 /root *(rw,sync,no_root_squash,no_subtree_check) 설정파일입력후 NFS 데몬재시작 root@esp:~# service nfs-kernel-server restart 34

타겟보드와의통신설정하기 NFS 실습 타겟보드에서마운트지점생성및마운트하기 root@achro210t:~# mkdir /root/nfs root@achro210t:~# mount -t nfs o nolock 192.168.10.100:/root /root/nfs root@achro210t:~# df Filesystem Size Used Available Use% Mounted on /dev/root 250.4M 17.6M 219.8M 7% / tmpfs 192.5M 0 192.5M 0% /dev/shm tmpfs 192.5M 8.0K 192.5M 0% /tmp 192.168.10.100:/root 28.3G 8.0G 18.8G 30% /root/nfs root@achro210t:~# 이전단계에서생성한 Test File 실행해보기 root@achro210t:~# cd /root/nfs/work root@achro210t:~/nfs/work#./hello.arm 크로스컴파일된파일실행하기 Welcome to the Embedded Class!!! 35

타겟보드와의통신설정하기 NFS 실습 마운트해제하기 root@achro210t:~/nfs# cd root@achro210t:~# umount /root/nfs NFS 오류상황대처하기 호스트컴퓨터와타겟보드가네트워크케이블로잘연결되어있는지확인 호스트와타겟보드를직접연결하는경우는크로스네트워크케이블을사용하고있는지확인 호스트컴퓨터와타겟보드에네트워크주소가같은네트워크단의주소로할당되어있는지확인 가상 PC 를사용하는경우타겟보드에물리적으로연결되는네트워크포트가가상 PC 설정창에서정상적으로연결되어있는지확인한다. 호스트컴퓨터에서 NFS 서버가정상적으로실행되고있는지확인 호스트컴퓨터의방화벽 ( 보안수준 ) 을확인 NFS 연결시 RPM timeout 의메시지가출력되면서연결되지않는경우는클라이언트 PC 의보안때문 36