임베디드시스템설계강의자료 2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
Outlie Embedded SW System Program OS Overview Liux Kerel Architecture Developig Embedded SW - 2 - Youg-Ji Kim
임베디드시스템의변천 초기의임베디드시스템 16비트이하의마이크로프로세서주로어셈블리언어및펌웨어 (firmware) 를이용 최근의임베디드시스템 하드웨어의고집적화및저가화 SoC 기술의발전 32비트이상의마이크로프로세서운영체제를기반고급언어를이용한프로그래밍네트워킹및멀티미디어기능등복잡한소프트웨어를추가하여고부가가치지향 - 3 - Youg-Ji Kim
임베디드소프트웨어 임베디드시스템을구성하는소프트웨어 임베디드운영체제, 특정응용에적용하기위한미들웨어, 응용 S/W 를개발하기위한개발도구, 응용소프트웨어등으로이루어짐 다양한디지털제품에내장되어하드웨어의제어, 네트워크, 멀티미디어, 인터넷, 게임, 인공지능, 유비쿼터스컴퓨팅등기본기능및다양한부가기능을제공함으로써제품의경쟁력과부가가치를높여줌 저렴한가격, 소형화, 저전력소비, 고신뢰성, 하드웨어의효율적관리 - 4 - Youg-Ji Kim
일반 S/W 와임베디드 S/W 비교 구분일반 S/W 임베디드 S/W 목적 S/W 자체가제품 H/W 제품의부가가치를올리기위한수단 시장특성 정량적인시장크기추정가능 H/W 제품시장에포함되어, 시장크기의정확한추정이어려움 주도업체전문 S/W 업체 Device 업체 ( 별도의전문 S/W 업체미약 ) 개발자측면요구사항적용제품 프로그래밍기술 (S/W 분야지식 ) 표준화된 H/W 및 OS ( PC ) 풍부한 H/W 자원 Embedded System S/W 경험필요 (H/W 분야및 S/W 분야지식 ) 다양한 H/W 및 OS ( DTV, HHP, ) 제한된 H/W 자원 개발환경보편화된개발도구제품에따라천차만별, 열악한개발도구 중점 고려사항 응용유연성, 인터페이스디자인실시간성, 신뢰성, 제품최적화 ( 출처 : 명지대류연승교수님강의자료 ) - 5 - Youg-Ji Kim
소프트웨어계층 응용프로그램 ( 여러개 ) 운영체제 펌웨어 하드웨어 데스크탑컴퓨터 서버컴퓨터 응용프로그램 ( 하나또는여러개 ) 운영체제 펌웨어 하드웨어 복잡한임베디드컴퓨터 펌웨어 + 응용프로그램 ( 하나 ) 하드웨어 간단한임베디드컴퓨터 ( 출처 : 명지대류연승교수님강의자료 ) - 6 - Youg-Ji Kim
지능형로봇용임베디드 S/W 구성예 URC: Ubiquitous Robotic Compaio - 7 - Youg-Ji Kim
시스템프로그램 출처 : 단국대최종무교수님강의자료 - 8 - Youg-Ji Kim
시스템프로그램 시스템프로그램 Hardware 와긴밀하게연관 (HW 관리 ) 응용이쉽게수행될수있는환경제공 (Iterface 제공 ) 분류 출처 : 단국대최종무교수님강의자료 - 9 - Youg-Ji Kim
시스템프로그램 출처 : 단국대최종무교수님강의자료 - 10 - Youg-Ji Kim
What is a Operatig System? A program that acts as a itermediary betwee a user of a computer ad the computer hardware Operatig system goals: Execute user programs Make solvig user problems easier Make the computer system coveiet to use Use hardware i a efficiet maer User OS HW - 11 - Youg-Ji Kim
Operatig System Structure - 12 - Youg-Ji Kim
운영체제의기능 운영체제의기능 인터페이스, 자원관리, 자체관리기능인터페이스 사용자와운영체제, 운영체제내서브시스템간 자원관리 프로세스메모리파일네트워크장치 자체관리 부팅및초기화시스템생성및튜닝오버레이 (overlay) 및버퍼관리인터럽트처리 - 13 - Youg-Ji Kim
운영체제관점에서본컴퓨터시스템 사용자 명령해석기 (shell) 시스템호출 전통적 의미의 운영체제 서비스 자원 관리 자체 관리 광범위 운영체제 하드웨어, 소프트웨어자원 - 14 - Youg-Ji Kim
Embedded OS Real Time OS (RTOS): real-time costrait (deadlie) 를만족해야함 VxWorks: HONDA의 Asimo에사용 psos: 삼성전자휴대폰에사용, VxWorks와통합 VRTX, uc/osii 기타 Embedded OS Widows CE Itel x86 계열지원, MS 의각종환경지원, Pocket PC 3Com Palm Motorola 드래곤볼칩기반의운영체제, Soy CLIE(PDA) Symbia 모바일기기에사용할목적으로개발된운영체제로 Adroid이전에 smartphoe에많이사용됨 Embedded Liux Google Adroid Apple ios - 15 - Youg-Ji Kim
Embedded Liux Liux 를저성능의프로세서와소용량의메모리를가진임베디드시스템용으로개발 특징 Embedded Liux Source 의공개성 : OS, Applicatios 경제성 안정적이고검증된커널로지속적인 upgrade 개발자및전문가집단 : http://www.tldp.org/, http://kldp.org/ 다양한개발환경을제공 Cross-compiler, Debugger, GUI 등 다양한 CPU에포팅가능많은장치의드라이버를제공 : JTAG, PCMCIA, LCD, I/O, IDE - 16 - Youg-Ji Kim
리눅스커널의구조 (1) - 17 - Youg-Ji Kim
리눅스커널의구조 (2) task task task task User applicatio level System call iterface Kerel Kerel level File system DDI (device driver iterface) Char Driver Block Driver Network Driver LED keyboard Hard disk CD-ROM etheret Hardware level - 18 - Youg-Ji Kim
Device Driver 디바이스드라이버구성도 User Level User Program File System Kerel level Buffer Cache Network Subsystem BSD socket Character Block Network Trasport (TCP,UDP) Device Drivers Network(IP) Device Iterface Hardware level Hardware(hdd, flash, priter etc) - 19 - Youg-Ji Kim
Device Driver 종류와특징 드라이버종류 문자드라이버 블록드라이버 네트워크드라이버 설명 디바이스를파일처럼취급하고접근하여직접읽기 / 쓰기를수행데이터형태는스트림방식으로전송 Eg. 콘솔, 키보드, 시리얼포트드라이버등 디스크와같이파일시스템을기반으로일정한블록단위로데이터읽기 / 쓰기를수행 Eg. 하드디스크, ODD 드라이버등 네트워크의물리계층과프레임단위의데이터를송수신 Eg. 이더넷디바이스드라이버 (eth0) - 20 - Youg-Ji Kim
디바이스드라이버흐름도 디바이스드라이버의동작과정 ( 커널프로그램 ) 드라이버테스트프로그램 ( 사용자프로그램 ) 커널내모듈적재 디바이스열기 1. call 2. retur 디바이스열기 드라이버의동작 (read/write) Dev_Write( ); Dev_Read () 3. call 4. retur 드라이버의동작 (read/write) Write( ); to Dev Read ( ); to Dev 실패시 종료 디바이스닫기 5. call 6. retur 디바이스닫기 커널내모듈제거 종료 - 21 - Youg-Ji Kim
임베디드소프트웨어개발환경 교차개발환경 (Cross Developmet Eviromets) Why? à 내장형시스템의자원제약 전체시스템구성 JTAG Serial/Etheret ICE/ICD Serial/Etheret/JTAG/USB Target system Host system - 22 - Youg-Ji Kim
임베디드소프트웨어개발방법 Cross Compile Host시스템 (e.g., x86 머신 ) 에서 Target시스템 (e,g., ARM) 용컴파일러로실행 ( 바이너리 ) 코드를만들어주는것결과의실행코드는 Target시스템에서만실행가능명령어나데이터처리방법이달라짐 개발시스템의목적언어로된프로그램은실행불가능 교차개발환경 Host: PC. Widows or Liux Cross compiler + Target 용 library + dowload utility Target: Embedded microprocessor Embedded Liux 에서 dowload 후 executio 실행프로그램의결과확인은 Target 시스템으로다운로드해서실행 또는 Target 시스템시뮬레이터에의해실행 - 23 - Youg-Ji Kim
임베디드시스템프로그래밍고려사항 신뢰성및안정성 HW 와 SW 의긴밀하고정확한결합기반 C 언어의기본에대한상세하고정확한지식대상 CPU의구조, 동작원리및어셈블리어시스템의메모리구성최적화의필요성 프로그램크기최소화 ( 제한된메모리크기 ) 프로그램실행속도최대화 ( 제한된 CPU 성능 ) 전력소모최소화 ( 제한된전원 ) - 24 - Youg-Ji Kim