개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티

Slides:



Advertisements
Similar presentations
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
Advertisements

1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
여성의 광장 어린이 집 www. womankids. com
Distributed and Cloud Computing Lab. Embedded System Software 개발 환경 설정 Dept. of Computer Science and Engineering Sogang University, Seoul, KOREA 1.
개발 환경 설치 Embedded System Software
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
임베디드 시스템 개발 환경 (1) Lecture #3.
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
임베디드 시스템 개발을 위한 리눅스 환경설정.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
리눅스 실습 정성훈.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
Windows CE 시스템 개발 환경 구축.
제6장 FUSING.
PXA270 개발환경 설정 Ubuntu 실습용.
크로스 컴파일 환경 구축.
SMS를 이용한 오토바이 도난방지장치 5조 김성중 노광훈 최영미.
1. C 언어의 이해와 컴파일러 설치.
Kernel Porting Lecture #7.
제4장 Cross Compiler 설치.
누구나 쉽게 즐기는 C언어 콘서트 한남대학교 컴퓨터공학과 이 재 광 교수.
Minicom,tftp,nfs설정,vnc설정
FUSING.
임베디드 프로그래밍 Lecture #
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
1 C 언어의 이해와 컴파일러 설치 프로그래밍 환경을 구축하자!.
Development Environment of Embedded System : part 1
MicroC/OS-II Lab. 경희대학교 컴퓨터공학과 조 진 성.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Internet Protocol and Programming
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
개발 환경.
1장. 프로그래밍 언어, C 프로그래밍.
Cross Compiler 설치.
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
HBE-SMIII-SV210 리눅스 커널과 디바이스 드라이버
IPv6 기반의 Mobile IP 기술 개발 (iSCSI 성능 분석) - 프로젝트 중간보고서 -
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
Linux/UNIX Programming
문자 디바이스 드라이버 임베디드 시스템.
제1장 프로그래밍 기초
동물의 특징을 음악적 요소로 표현 하기 음악 3학년 2학기 20. 동물의 사육제(1 / 2) 수업계획 수업활동 [제작 의도]
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Internet Protocol and Programming
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
Stepper Motor 디바이스 드라이버
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
노년기 발달 장안대 행정법률과 세류반 정 오 손
제 6 강 Getting started.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
뇌를 자극하는 C 프로그래밍.
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
Internet Protocol and Programming
워밍업 실뭉치 전달게임.
어서와 C언어는 처음이지 제16장.
argc, argv 의 사용방법 #include <stdio.h>
Makefile
Git을 이용한 버전 관리 - Branch 실습
C.
음파성명학 최종욱.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
“사업주 부정수급 Clean Up 캠페인”.
Presentation transcript:

개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티 한빛미디어(주)

임베디드시스템 개발 환경:호스트 시스템, 타겟 시스템백엔드로 구성 호스트 시스템에서 타겟 시스템을 위한 부트로더, 커널 이미지, 응용 소프트웨어 등을 개발하고, 이를 케이블 등을 통해 타겟 시스템으로 다운로드하여 사용

크로스 개발 환경

호스트 시스템 임베디드시스템을 개발하기 위한 자원 즉, 컴퓨팅 환경을 제공하는 시스템 보통 개인용 컴퓨터를 호스트 시스템으로 사용 리눅스 커널 2.6 버전을 포함하는 페도라 코어 4를 호스트 시스템의 운영체제로 사용 툴체인(toolchain): 타겟 시스템용 시스템 및 응용 소프트 개발에 필요한 모든 환경을 통칭

타겟 시스템 개발된 임베디드시스템 프로그램을 테스트하고 구동할 수 있는 시스템 PXA270을 탑재한 ㈜하이버스의 X-HYPER270-TKU를 사용

백엔드 호스트 시스템과 타겟 시스템간에 통신하기 위한 매개체 Serial JTAG Ethernet Serial 포트를 활용하여 모니터링(미니컴 S/W 활용) JTAG JTAG을 통해 플래시 메모리에 부트로더, 커널 퓨징 원용도: 디버깅 장비 – 레지스터 모니터링 Ethernet Cross 케이블을 활용하여 NFS(Network File System 구성) - 허브 부재시

호스트 시스템과 타겟 시스템의 연결

일반적으로 호스트 시스템과 타겟 시스템의 플랫폼이 다르기 때문에 툴체인이 필요 x86 계열에서 개발한 프로그램을 ARM 계열에서 실행하려면 교차 컴파일 필요 툴체인은 교차 컴파일러 및 관련된 각종 라이브러리를 의미 어셈블러, 링커, C 컴파일러, C 라이브러리 등으로 구성

mkdir /embed/ex/04; cd /embed/ex/04 실행 hello.c 작성 #include <stdio.h> int main() { printf ("Hello, world!\n") return 0; } ① ② ③ ④ ⑤ ⑥ ⑦

콘솔 에뮬레이터와 직렬 포트 임베디드시스템의 경우 타겟 보드에서 발생하는 진행 상황을 호스트 시스템에서 직렬 포트를 통하여 모니터링할 수 있는 콘솔 에뮬레이터를 사용 리눅스 운영체제의 경우 미니컴을 사용하며 윈도우 운영체제일 경우는 하이퍼터미널을 주로 사용 데스크탑 컴퓨터는 보통 2개의 직렬 포트가 있으며 COM 포트 혹은 표준 직렬 포트라고 함 COM1 포트는 /dev/ttyS0, COM2 포트는 /dev/ttyS1 장치에 대응

미니컴 구성 화면에서 화살표 키를 사용해 세 번째의 Serial port setup 메뉴 항목 선택 실습 4-6 미니컴 환경 설정 호스트 시스템의 미니컴을 설정 모드로 실행 미니컴 구성 화면에서 화살표 키를 사용해 세 번째의 Serial port setup 메뉴 항목 선택

직렬 포트 설정 화면의 각 항목을 다음과 같이 설정 실습 4-6 미니컴 환경 설정 직렬 포트 설정 화면의 각 항목을 다음과 같이 설정 - A 키를 누르면 커서가 /dev/modem 뒤로 감 → Serial Device 항목값을 /dev/ttyS0으로 설정하고 <Enter> 키를 누름 - B 키를 입력하면 커서가 /var/lock 뒤로 감 → 이미 /var/lock로 설정되어 더 필요한 작업 없음 - E 키를 누름 → 속도, 데이터 비트, 패리티 비트, 정지 비트를 보여주는 미니컴 통신 매개변수 화면이 나타남(X-HYPER270-TKU의 경우 속도: 115200, 데이터 비트: 8, 패리트 비트: No, 정지 비트: 1) → 키를 눌러 115200 8N1로 설정하고 I 키를 누

Save setup as dfl 항목을 선택한 후 [Enter] 키를 눌러 설정 값을 저장 실습 4-6 미니컴 환경 설정 F 키를 눌러서 Hardware Flow Control의 값을 No로 바꿈 [Esc] 키를 한 번 누름 Save setup as dfl 항목을 선택한 후 [Enter] 키를 눌러 설정 값을 저장 Exit 항목을 선택 후 [Enter] 키를 누름 → 환경 설정이 끝나고 미니컴 창이 나타남 → Exit from Minicom 항목 선택 후 [Enter] 키를 누름

타겟 시스템의 수동 부팅 타겟 시스템의 자동 부팅

컴파일을 자동화해주는 명령어 생성 프로그램 최종 목표 파일(target file)의 빌드(Build) 과정을 정의해두면 필요한 작업만 수행하여 목표 파일을 생성 종속된 파일들의 상호 의존 관계를 명시한 목록 파일(description file)을 사용하여 목표 파일을 생성 원시 파일의 일부가 수정되면 목표 파일을 새롭게 생성하기 위해 다시 컴파일할 파일을 자동으로 판단, 필요한 명령어만 이용해 다시 컴파일하는 지능적인 유틸리티 다중 모듈 프로그램의 재사용성을 유지하고 프로그램 수정에 대한 재번역을 최소화

hello를 생성하기 위한 Makefile 목록 파일이 makefile 혹은 Makefile라면 –f 옵션을 사용해 목록 파일을 명시할 필요 없음 hello를 생성하기 위한 Makefile hello: hello.c gcc –o hello hello.c

매크로와 레이블 매크로: 특정한 코드를 단순하게 표현하는 기법 레이블: 부품 파일이 없는 의존행의 목표 파일 이름을 의미하며, 명령행의 성격을 대표하는 이름 TARGET := hello OBJECT := hello.o SOURCE := hello.c $(TARGET): $(SOURCE) gcc –o $(TARGET) $(SOURCE) clean: rm –f $(TARGET) $(OBJECT)

임베디드시스템의 개발 환경은 호스트 시스템, 타겟 시스템, 백엔드로 구분된다. 호스트 시스템이란 임베디드시스템을 개발하기 위한 자원 즉, 컴퓨팅 환경을 제공하는 시스템이다. 타겟 시스템이란 개발된 임베디드시스템 프로그램을 테스트하고 구동할 수 있는 시스템이다. 백엔드란 호스트 시스템과 타겟 시스템간에 통신을 하기 위한 매개체다. 툴체인이란 호스트 시스템에 설치되는 타겟 시스템을 위한 개발 환경이다. 임베디드시스템에서 JTAG을 사용하는 용도는 보드에 대한 디버깅 기능보다 부트로더를 플래시 메모리에 퓨징하는 것이다. 리눅스용 임베디드시스템을 위한 콘솔은 호스트 시스템에 설치한 미니컴을 주로 사용한다. Make 유틸리티는 파일의 상호 의존 관계를 분석하여 컴파일을 자동화해주는 명령어 생성 프로그램으로, 원시 코드의 변화에 대한 재번역을 최소화한다.

Thank you