280 likes | 504 Vues
임베디드 시스템 소개. 단국대학교 정보 컴퓨터학부 2004 년 1 학기 최종무 choijm@dku.edu http://embedded.dankook.ac.kr/~choijm. 이 장의 강의 목표. 임베디드 시스템의 정의를 이해한다 . 임베디드 시스템의 종류를 이해한다 . 임베디드 시스템의 구성 요소를 이해한다 . 임베디드 시스템의 최근 경향을 이해한다 . 임베디드 시스템에 사용되는 운영체제를 이해한다 . 임베디드 시스템의 개발 환경을 이해한다 . Micro Processor. OS - Kernel.
E N D
임베디드 시스템 소개 단국대학교 정보 컴퓨터학부 2004년 1학기 최종무 choijm@dku.edu http://embedded.dankook.ac.kr/~choijm
이 장의 강의 목표 • 임베디드 시스템의 정의를 이해한다. • 임베디드 시스템의 종류를 이해한다. • 임베디드 시스템의 구성 요소를 이해한다. • 임베디드 시스템의 최근 경향을 이해한다. • 임베디드 시스템에 사용되는 운영체제를 이해한다. • 임베디드 시스템의 개발 환경을 이해한다.
Micro Processor OS - Kernel Micro Controller Device driver Memory Application H/W S/W 임베디드 시스템 임베디드 시스템이란 • 임베디드 시스템 정의 • 미리 정해진 특정한 기능을 수행하는 시스템 • 하드웨어와 소프트웨어가 긴밀하게 결합 • HW: 마이크로프로세서, Devices, Controllers • SW: 프로세서를 구동하여 특정 기능을 수행하도록 설계된 프로그램 • 최근에는 다기능 임베디드 시스템이 많아짐 Processing Capability inside in a Product
임베디드 시스템 종류 (1/6) • 종류 (from Daniel W. Lewis) • Appliances: TV, refrigerator, dishwashers, microwave ovens, VCRs, washing machine • Peripherals: printers, scanners, keyboards, displays, disks, flash memory • Communications: routers, switches, hubs, satellites • Instrumentations: thermostats, oscilloscopes, ATM, digital analyzers, power supplies • Industrial: elevator controls, surveillance system, factory automation system, parking management system, traffic management system • Medical : health sensor, patient monitors, imaging processing system (XRAY, MRI, ultrasound), heart pacers, ubiquitous healthcare system
임베디드 시스템 종류 (2/6) • 종류 (from Daniel W. Lewis) • Toy: Nintendo’s game boy, MS’s X-box, Sony’s AIBO, MIT’s ROOMBA • Home/Office Automation: answering machines, multifunction devices, smart home/town, fire/security alarm systems, lawn sprinkler controls, intelligent space management system • Aerospace: navigation systems, automatic landing systems, flight attitude controls, engine controls, space exploration (Mars Pathfinder) • Automotive: telematics, fuel injection control, passenger environmental control, anti-lock braking systems, air bag controls, GPS mapping • Personnel: PDA, Cellular phones, wrist watches, GPS, MP3 players, Post PC • …
임베디드 시스템 종류 (6/6) • 전망
임베디드 시스템 특징 • Small Size, Low Weight • Low computation power • Energy Limitation • Harsh Environment • Safety-critical Operation, Dependability • Real-time Operation • Extreme Cost Sensitivity • QoS Support
최근 임베디드 시스템 경향 (1/4) • 초기 임베디드 시스템 • 간단한 컨트롤러 (8 or 16 bit) • Firmware (마이크로 코드, 순차적인 단일 쓰레드, 인터럽트 사용) conventional vending machine new vending machine
최근 임베디드 시스템 경향 (2/4) • 최근 임베디드 시스템 • 소형화, invisible • 다기능(multi function) 제공 • 통신 기능이 필수적 • GUI, 멀티미디어 기반 • SoC 내장 (32 bit 마이크로 프로세서와 내장 컨트롤러들) • 지능화, 인간 중심 컴퓨팅 • 운영체제 도입: GPOS, RTOS
NAND Flash Memory (32Mb-256Mb) Data IN/OUT Flash Controller PCMCIA-ATA Interface ARM core SRAM 16KB NOR 48KB HOST Control DMA 0/1 최근 임베디드 시스템 경향 (3/4) • Case study: Compact Flash Card Processing Unit: FTL 수행
최근 임베디드 시스템 경향 (4/4) • Case study: Smart Phone (CellVic mycube N110)
임베디드 시스템을 위한 운영체제 (1/4) • PC 환경에 비해 다양한 OS 사용 • IEEE Spectrum 2001, 12월호에서 발췌
임베디드 시스템을 위한 운영체제 (2/4) • RTOS vs GPOS • RTOS • 시간 제약 조건 • 실시간 스케줄러, 선점형 멀티태스킹, Priority Inheritance Protocol 등 • Schedulability • hard real time vs soft real time • GPOS • Windows CE.NET, Linux • modularity, efficiency, scalability, portability, reliability
임베디드 시스템을 위한 운영체제 (3/4) • 상용 vs 공개용 • 공개용 • Xinu, uC/OS2, eCOS, 임베디드 BSD, … • 임베디드 리눅스 • 상용 • pSOS, QNX, VRTX, VxWorks, Velos , … (최근 소스 공개 시도) • Windows CE.NET • 자체적으로 독자적인 개발한 OS 사용 • Cisco의 IOS • Hitachi의 uITRON • 비교 (회사에서 새로운 제품 개발 초기 단계에서 고민 내용 ) • OS 안정성, 편리한 개발 환경, 지속적인 기술 지원 • 구입 비용, license 비용, 특정 기능 지원 여부 (FS, Driver, protocol stack) • 개발자 그룹, 호환성
from http://www.microsoft.com 임베디드 시스템을 위한 운영체제 (4/4) • 임베디드 리눅스 장점 • 공개용 (open source), Free • FSF, GNU 등 많은 개발자 • IBM, HP 등 다양한 회사 지원, 안정성 • 연성 실시간 • 다양한 처리기 지원 (ARM, x86, MPC, MIPS 등 ...) • What’s the Catch? • Embedded Linux (XP), What’s the Embedded?
Backup system Serial/Ethernet JTAG ICE/ICD Serial/Ethernet/JTAG/USB Target system Host system 임베디드 시스템 개발 환경 • 교차 개발 환경 (Cross Development Environments) • Why? 내장형 시스템의 자원 제약 • 전체 시스템 구성
임베디드 시스템 개발 환경 • Target system • Boot loader (booting + commands support) • Kernel • File system • Drivers, Applications • Host system • Target software sources • Tool Chains (Cross Compiler, linker, library, ..) • Downloading utilities • Terminal utilities • Debugging utilities • …
임베디드 시스템 개발 환경 • Platform Builder for Windows CE.NET Hyperterminal Platform Builder
결론 • 임베디드 시스템 정의 • 임베디드 시스템 종류 • 임베디드 시스템 구성 요소 • 임베디드 시스템 최근 경향 • 임베디드 시스템에 사용되는 운영체제 • 임베디드 시스템 개발 환경