제1장 임베디드 시스템 개요 -임베디드 리눅스 중심으로-

Download Report

Transcript 제1장 임베디드 시스템 개요 -임베디드 리눅스 중심으로-

제1장 임베디드 시스템 개요
-임베디드 리눅스 중심으로-
목차
1.1
1.2
1.3
1.4
1.5
1.6
임베디드
임베디드
임베디드
임베디드
임베디드
임베디드
시스템
시스템
시스템
시스템
시스템
시스템
의미
구성 및 특징
소프트웨어
하드웨어
응용분야
향후 전망
1.1 임베디드 시스템의 의미

임베디드 시스템(Embedded System)이란?
 컴퓨터의 하드웨어와 소프트웨어가 미리 정해진 특
정한 기능을 수행하기 위하여 결합된 시스템

Computers Inside a Product (or a System)

다양한 목적으로 사용되는 PC와 달리, 한 가지
또는 몇 가지 특수한 작업을 수행
 하지만, PDA와 같이 Embedded System에서도 점차
범용성을 띄어 가고 있다
1.1 임베디드 시스템의 의미

임베디드 시스템의 일반적인 의미







마이크로 프로세서/마이크로 컨트롤러를 내장(embedded)하여
원래 제작자가 의도한 특정한 기능만을 수행하는 장치
미리 정해진 특정한 기능을 수행하도록 프로그램이 내장되어
있는 시스템
일반적으로 보다 큰 시스템의 일부이거나 독립된 시스템
특별한 업무를 수행하거나 사용자가 임의로 정한 업무를 수행
하드웨어와 소프트웨어를 포함하는 특정한 응용시스템
하드웨어와 소프트웨어의 변경이 매우 어려운 시스템
개인 휴대 정보 단말, 지리 정보 시스템, 의료 정보 단말, 정보
가전, 게임기기, 자동차, 항공기 및 우주선, 의료 및 산업 원격
조종 장비 등의 시스템을 총칭
1.2 임베디드 시스템의 구성

임베디드 시스템 구성


임베디드 H/W
 프로세서/컨트롤러, 메모리, I/O 장치, 네트워크 장치, 센서,
구동기
임베디드 S/W
 운영체제, 시스템 S/W, 응용 S/W
H/W
S/W
Micro Processor
OS - Kernel
Memory
입출력 장치
네트워크 장치
시스템 소프트웨어
응용 소프트웨어
임베디드 시스템
1.2 임베디드 시스템의 특징
특정한 기능에 부합하는 최적
화 설계가 가능
스마트 서비스
무선 게임 VOD
무선인터넷
LBS
M-커머스
멀티미디어
메세징
열악한 환경속에의 안정성
영상전화
경량화
최적화
네트워크
지원
소형, 경량, 저전력
고신뢰성
마이크로
프로세서 멀티미디어
지원
저전력화
Real-time Operation(Must
finish operations by deadlines)
Extreme Cost Sensitivity
Many embedded systems are
mass-market items that must
have low manufacturing costs.
Limited memory,
microprocessor power, etc.
1.3 임베디드 소프트웨어

System software
System의 하드웨어를 관리하고 응용프로그램에게 시스
템을 사용할 수 있는 효율적이고 안전한 interface를 제공
하는 software(O/S, 미들웨어, 디바이스 드라이버)
 운영 체제



Device drivers


Linux, Window XP Embedded, Window CE, VxWorks, uC/OSII
Device를 제어하기 위한 interface 제공
Application software

실제 필요한 기능을 수행하는 software


PDA의 일정 관리 software
휴대폰의 각종 서비스(game, 벨소리, 전화번호부)
1.3 임베디드 소프트웨어

O/S의 등장 배경

시스템의 규모가 커짐



임베디드 시스템이 해야 할 일이 많아지고 복잡해짐
순차적인 프로그램이 어렵게 됨
Multi Tasking
 임베디드 시스템에도 운영체제의 개념이 필요하게 됨

Network이나 multimedia가 시스템의 기본으로 자리 잡음

Networking, GUI, Audio, Video
1.3 임베디드 소프트웨어

Real Time System (실시간 시스템)




실시간 시스템의 정의
 정해진 시간 내에 시스템이 결과를 출력하는 적시성을 가진
시스템
 주어진 작업을 빨리 처리하는 것이 아니고 정해진 시간
(dedline)을 넘어서는 안 된다는 뜻임
주어진 입력(event)에 대해 정해진 시간 내에 행동할 수 없을
때 문제가 발생하는 시스템.
적시성(timeliness)이란?
 열악한 환경 하에서도 데드라인(deadline) 이내에 논리적으
로도 정확한 출력 값을 산출해 내는 것 .
deadline이란?
 반응에 요구되는 시간의 한계 값
1.3 임베디드 시스템 소프트웨어

Real Time System의 분류
 Hard realtime 시스템 : 제어작업이 deadline을 어기
는 경우 시스템에 심각한 영향을 주는 time-critical
속성을 지닌 시스템
예) 원자력 발전소 제어, 화재 발생 검출시스템, 항공기, 우주
왕복선, 자동차 등
 Soft realtime 시스템 : Deadline을 어긴 단위 제어
작업의 무효화로 시스템의 평균적 성능에 미세한 영
향을 주는 시스템
예) 컴퓨터, 정보기기, 네트워크 관련기기 등
1.3 임베디드 시스템 소프트웨어

상용 RTOS
 pSOS
 VxWorks
 VRTX

임베디드 OS






Windows CE
임베디드 리눅스
임베디드 자바
Qplus
Tiny OS
OS 선정
 시스템의 특성 파악 그 시스템에 적합한 OS 선정
1.3 임베디드 시스템 소프트웨어

WinCE.NET







강력한 GUI, 멀티미디어 및 인터넷 기능을 내장
PDA 등의 정보 가전 기기에 널리 사용되는 운영체제
다 종의 Intel 계열 32bit 프로세서 지원, 다양한 주변장치에 대한 빠른
지원, Visual Studio라는 편리한 개발 도구 지원 등의 장점
마이크로 소프트사가 제안한 .NET 구조 지원
부담이 되는 기술료(running royalty), 크기가 큰 무거운
소프트웨어 종속성 심화
VxWorks





전통적인 분야인 제어, 통신 기기, 로봇 등의 분야에서 1위를 고수
WindRiver사의 대표적 RTOS
스레드(Thread) 기반의 태스크(Task) 관리를 지원
작고 모듈화된 커널 구성
토네이도(Tornado)라는 편리한 개발 환경
1.3 임베디드 시스템 소프트웨어

PalmOS






Palm Computing사에서 공급
핸드헬드(Hand-held) 장비에 가장 많이 사용되는 32비트 운영체제
작은 크기와 웹 입력 프로그램 및 웹 프로그램 개발 도구들이 풍부
소스 코드는 부분적으로 공개
Palm은 지난 5년간 선도적인 PDA 플랫폼이었으나 WinCE, 임베디드
리눅스 및 Symbian의 맹렬한 추격을 받고 있음
EPOC (Symbian)




무선 통신을 활용하는 모바일 장비를 위해 최적화된 32비트 멀티 스레
딩(multi-threading) 운영체제
영국의 Psion사에 의해 개발되었고, 그 후에 Ericsson, Motorola,
Nokia와 함께 설립한 Symbian사에 의해 계속 개발 공급
통신 프로그램과 웹 브라우저와 각종 오피스 도구들을 갖춤
OPL, C++, Java 언어를 제공, 높은 시스템 안정성, 고기능 전력 절약
기능 및 유연한 GUI의 장점이 있어 모바일 기기에 많이 탑재
1.3 임베디드 시스템 소프트웨어

Lynx OS


Embedded Linux 계열



Linux 커널 2.4.x나 2.6.x를 기반으로 임베디드 시스템의 특징
에 필요한 빠른 부팅, 저전력 관리, 크기의 소형화, GUI의 소형
화 등의 기능을 갖도록 개선한 것이 주종
MontaVista의 HardHat, 한국에서는 한국전자통신 연구원(ETRI)
의 Qplus/Esto 등
Clinux, TinyOS


Linux Real-Time 사의 임베디드 운영체제로 POSIX 호환성을
제공하면서도 작은 크기의 장점을 가진 32 비트 운영체제
MMU가 없는 CPU를 사용하는 센서 노드 등을 위한 작은 임베
디드 시스템용으로 많이 사용
기타

REX, eCos, microCOS II, 네트워크 장비를 위한 RTOS인
Cisco 사의 IOS, in-house kernel 등
1.3 임베디드 리눅스 시스템

임베디드 리눅스의 출현 배경
 H/W의 발전

32/64bit 고성능 CPU
 S/W의 많은 기능 요구

O/S의 기능이 중요, 안정된 운영체제의 제공(멀티 태스킹)
 강력하고 다양한 네트워크 환경의 제공
 다양한 형태의 파일시스템과 실행파일 포맷 지원
 확장성의 다양함과 용이함의 제공

Free Software
1.3 임베디드 리눅스 시스템

임베디드 리눅스 장점






기능성과 확장성이 우수 (리눅스 이용에 따른 장점)
PowerPC, ARM, MIPS 등 다양한 CPU Platform지원함
로열티가 없으므로 가격 경쟁력이 우수
사용자 층이 넓어 오류 수정이 빠르고 안정성이 우수
기존의 데스크 탑 개발 환경과 동일하여 개발이 용이함
임베디드 리눅스 단점






기존의 RTOS보다 많은 메모리를 요구함
범용 OS로 설계되어 Real-Time 지원이 어려움
개발 환경이 Text 기반의 환경임으로 개발에 어려움이 있음
GUI 환경을 개발하기 어려움
제품화하기 위한 솔루션 구성이 어려움
많은 업체들과 개발자들이 독자적으로 개발하고 있어 표준화가
어려움
1.4 임베디드 시스템 하드웨어

Processor
프로그램 명령어 처리기
 8bit/16bit/32bit & 64bit
 Arm 계열, Power PC 계열, MIPS 계열 등


Memory
프로그램 및 data 저장
 RAM/ROM/FLASH memory


I/O device


serial port, parallel port, USB, IEEE1394A
Network device

Lan(802.3, csma/cd), wireless lan(802.11, csma/ca)
1.4 임베디드 시스템 하드웨어

프로세서



임베디드 시스템의 핵심 부분
반도체 회사에서 많은 종류의 제품들을 시판
프로세서의 속도



마이크로 프로세서 와 마이크로 컨트롤러



MHz의 클럭속도
8 비트, 16 비트, 32 비트, 64 비트 등 데이터 버스의 크기와 기본연산의
단위에 따라 선택
마이크로 프로세서 : CPU 코어만을 하나의 칩(chip)으로 구성한 경우
를 말한다.
마이크로 컨트롤러 : CPU 코어에 여러 종류 및 크기의 메모리, 네트워
크 입출력 장치, TPU 등의 timer 프로세서 장치 등, 다양한 주변장치들
까지 포함
CISC 와 RISC 프로세서


CISC (Complex Instruction Set Computer) : 복잡하고 다양한 고기능
의 명령어를 갖는 아키텍처
RISC (Reduced Instruction Set Computer) : 명령어의 개수를 줄이고
동일 규격화하여 명령어 수행의 파이프라이닝(pipelining)을 극대화하
며, 저전력 소모에 저가로 생산할 수 있도록 한 아키텍처
프로세서
Where Has CS Focused?
Interactive
Computers
200M
per Year
In Vehicles
Where Are the Processors?
Direct
2%
Robots Vehicles
6%
12%
8.5B Parts
per Year
Servers,
etc.
EmbeddedIn Robots
Source: DARPA/Intel (Tennenhouse)
1.4 임베디드 시스템 하드웨어
 메모리의 역할 : 프로그램과 데이터 저장
 메모리의 종류
대 분류
비 휘발
(nonvolatile)
휘발성
(volatile)
중 분류
ROM
세 분류
특징
Mask
ROM
칩 제조사에서 영구적으로 자료를 저장한 ROM
EEPROM
전기적으로 반복 삭제 가능한 ROM, 바이트 단위로만 쓰기
가능
FLASH
블록 단위로 읽기 및 쓰기 가능
읽기는 빠른 (수 ms) 반면 쓰기는 느림(70-100ns)
NAND 및 NOR 형태가 있음
SRAM
하나의 cell이 6개의 트랜지스터로 구성된 flip-flop을 사용
용량의 약점과 빠른 접근 시간의 장점
비동기적 SRAM(ASRAM)과 동기적 SRAM(SSRAM)이 있음
DRAM
하나의 cell이 하나의 트랜지스터와 1 개의 커패시터로 구성
용량의 장점과 refresh의 필요성으로 인한 SDRAM에 비해 상대적 느린
접근 속도의 단점
1.5 임베디드 시스템 응용분야

정보가전 : 세탁기, 오디오, 인터넷 냉장고, HDTV 등

제어분야 : 공장자동화, 가정자동화, 로봇 제어, 공정제어 등

정보기기 : 핸드폰, PDA, 스마트 폰, LBS 등

네트워크기기 : 교환기, Router, 공유기, 홈 게이트웨이 등

게임기기 : 가정용 게임기(PS2, XBox), 지능형 장난감 등

항공/군용 : 비행기, 우주선, 로켓, 야전 이동단말(GPS, GIS)

물류/금융 : ATM, RFID, 물류단말, 영업단말 등

차량/교통 : 자동차, ITS 등

사무, 의료 : 전화기, 프린터, Heart pacer, 수술로봇, 증강현
실장비
1.5 임베디드 시스템 응용분야

정보가전





기술의 발전에 따라 일반 가전 제품에 다양한 기능이 요구됨
다양한 기능의 처리를 위한 가전제품 전용 임베디드 시스템 적용
가정 내 네트웍 구성에 따른 원격 제어, 정보 수집 등이 가능해짐
홈 오토메이션, 홈 네트워킹과 함께 가정 자동화의 핵심 부분
인터넷 냉장고, HDTV, 인터넷 전자레인지,DVR, 세탁기 등
전자레인지
인터넷으로 요리정
보 검색 및 다운로드
HDTV/인터넷TV
인터넷 검색, 각종
기능 설정 등
세탁기
인터넷으로 세탁기
제어 및 각종 자동
실행
인터넷 냉장고
인터넷으로 제어, 정
보 검색 및 다운로드
홈
네트워크
보일러
인터넷으로 제어 및
각종 운행
캠코더
디지털 카메라, 네트
워크 연결, 다양한
기능
1.5 임베디드 시스템 응용분야

공장자동화 : FA ( Factory Automation )

특정 기계나 장비를 통해 생산 과정을 자동적으로 관리하는 시스템

센서와 제어 시스템, 로봇 등으로 구성하여 무인시스템을 구축

공장 자동화 및 로봇은 실시간 시스템과 임베디드 시스템 발전의 원동력

생산성증대: 인건비감소, 오류감소, 품질의 균일화, 생산기간단축
로봇, conveyor belt

1.5 임베디드 시스템 응용분야

정보단말기기

단순한 통화 중심의 이동 전화기에서 각종 정보검색, 오락, 메시징 등
의 복합 기능이 수행되는 디지털 정보단말기기로 발전

단말기기 각각의 기능에 맞는 마이크로프로세서, 메모리, 운영체제,
응용 프로그램 등으로 구성

앞으로는 다양한 단말기기가 하나의 기기로 통합될 것으로 예상됨

핸드폰, PDA, 스마트 폰, MP3 플레이어, 게임기기 등
1.5 임베디드 시스템 응용분야

항공기


보통 수 백 개의 프로세서 탑재
우주왕복선



Pathfinder -실시간 운영체제인 VxWorks가 탑재된 것으로 유명
대표적인 실시간 시스템의 하나
영상처리, 통신 등 모든 처리기능을 복합적으로 가짐
NASA Pathfinder
(mission to MAR 1997)
1.5 임베디드 시스템 응용분야

교통



자동차의 엔진 및 각종 제어 시스템, 무인 자동화 시스템
지능형 교통시스템(ITS : Intelligent Transport Systems) 등
지능형 장난감

단순한 장난감의 형태에서 지능성을 갖는 형태로 변화
1.5 임베디드 시스템 응용분야




고성능 프로세서 탑재
마이크로소프트의 Xbox
소니의 playstation 2
닌텐도 게임보이 어드벤스
(nintendo gameboy
advance)



32-Bit ARM 프로세서
2.9인치 TFT 스크린
32,768 색상을 지원하는 휴대
형 게임 장치
1.5 임베디드 시스템 응용분야

물류/금융



물류 : POS 단말기
금융 : 자동 현금 입출금기 혹은 ATM 단말기
사무용기기

프린터, 스캐너, 팩스, 복사기, 이들의 기능을 하나로 모은 복합
기등
1.5 임베디드 시스템 응용분야



디지털 교환기, PABX (private automatic branch exchange)
등의 음성 서비스 통신기기
라우터, 게이트웨이, 공유기 등의 유무선 데이터 통신 장비
Set-top box
1.6 임베디드 시스템 향후 전망
1.6 임베디드 시스템 향후 전망
임베디드 시스템의 각국동향

미국



유럽



프로세서, OS, 프로토콜 등 전 분야를 점유
미국은 군사/과학용 임베디드 S/W를 21세기 핵심 분야로 선정
하고 매년 4천억 달러 이상을 연구개발에 투자
개발도구, 브라우저 등의 일부 업체가 존재
군사/교통용 임베디드 S/W에 '99년부터 7년간 3조8천억을 투자
일본


총무성 주도로 Ubiquitous 네트워크 개발을 추진 중
‘84년부터 TRON 협회에서 표준 임베디드 OS를 개발


일본 내 가전제품에 적용 중
임베디드 OS:



Real-time Operating System 중심
MS의 WinCE 및 임베디드 리눅스 진입 시작
미들웨어, 각종 서비스를 포괄하는 플랫폼 기술이 중요하게 대두
1.6 임베디드 시스템 향후 전망
 Embedded system의 다기능화 추세로 WinCE, Embedded Linux,
Palm OS, Symbian, 등과 같은 범용 운영체제 기반으로 산업이 재편되
고 있음
 MS는 임베디드 OS 시장의 주도권 장악을 미래 전략으로 채택함
1.6 임베디드 시스템 향후 전망

임베디드 운영체제(OS)에 절대강자가 없는 상황



PC 시장과 같이 특정 OS 가 시장을 독점하지 못하고 있음
적용제품의 종류, 규모에 따라 여러 종류의 상용 및 비상용 제
품 다양
임베디드 OS 및 플랫폼, 애플리케이션 시장을 놓고 불꽃 튀는
경쟁





VxWorks를비롯한 RTOS
윈도CE
임베디드 리눅스
썬의 Java
일본의 Tron