You are on page 1of 51

3 장 .

Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성 요소
 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 실례
 Embedded System 의 산업 구조

Copyrightⓒ2004 1
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성 요소

 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 실례
 Embedded System 의 산업 구조

Copyrightⓒ2004 2
3 장 . Embedded System HW 및 SW 의 구성 요소

정의 및 필요성
 정의
 마이크로프로세서가 내장되어 있고 , 마이크로 시스템을
구동하여 특정한 작업을 처리하기 위하여 프로그램이 내장되어
있는 시스템
 ' 내장형 시스템‘
 소형화 & 저전력 구현

 필요성
 특정한 업무를 효과적으로 수행
 가격대 성능비의 최대화

Copyrightⓒ2004 3
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 의 구성 요소
 일반적으로 하드웨어 (hardware) 부분과 소프트웨어 (software)
부분으로 구분

 구성 요소
 Embedded H/W : 프로세서 / 컨트롤러 , 메모리 , I/O, 네트워크
 Embedded S/W : 커널 , 시스템 S/W, 응용 S/W

Micro Processor OS - Kernel

Micro Controller Device Driver

Memory Application

H/W S/W

Embedded System
Copyrightⓒ2004 4
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 의 특징
 Embedded system 의 등장 초기
 낮은 연산능력 (4/8/16 bit microprocessor)
 언어 : assembly language
 순차적으로 동작하는 응용소프트웨어

 Embedded system 의 현재
 높은 연산능력 (32/64 bit microprocessor)
 언어 : C/C++ language
 운영체제 (operating system) 사용
 멀티태스킹
 네트워킹

 PC H/W Vs. Embedded system H/W


H/W 항목 PC Embedded System
프로세서 고성능 탑재 최소한의 성능 탑재
메모리 대용량 메모리 최소한의 메모리 사용
보조기억장치 다양함 (HDD,ODD,DVD 등 ) 거의 사용 안함
다양함 ( 키보드 , 마우스 , 스피커
주변장치 필요한 장치만 사용
등)

Copyrightⓒ2004 5
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System & 실시간 시스템


 Embedded System 의 역사
 1950 년대 통신 장비 제어를 위해 등장
 1970 년대 후반부터 표준화된 대량 생산이 가능
 1990 년대 초반까지 군사용 제어 , 산업 기기 제어 등의
목적으로 많이 사용
 1990 년대 후반부터 컴퓨터 산업과 정보 가전 기기의 발전으로
첨단 산업으로 재등장

 Embedded System 의 실시간성


 Embedded system 의 특성상 실시간이라는 요소를 만족해야 함
 Embedded system 이 실시간 적인 요소가 있기 때문에 실시간
시스템이라고 봐도 무방함

Copyrightⓒ2004 6
3 장 . Embedded System HW 및 SW 의 구성 요소

실시간 시스템 (Real-Time System)


 실시간 시스템이란 ?
 특정 요구에 대한 응답이 정해진 시간 내에 처리할 수 없을 때 문제가 발생하는
시스템 .
 마감시간 (deadline) 이내에 적시성 (timeliness) 을 가지며 인터럽트 발생시 예측
가능한 방식으로 반응해야 함 .
 Timeliness 의 정의 : 열악한 환경 하에서도 데드라인 (deadline) 이내에 정확한 출력 값을
산출해 내는 것 .
 Deadline 의 정의 : 응답에 요구되는 시간의 한계 값

 실시간 시스템의 분류
 Hard Real-Time system : 제어작업이 deadline 을 어기는 경우 시스템에 심각한
영향을 주는 time-critical 속성을 지닌 시스템
예 ) 항공기 , 우주 왕복선 , 자동차 등
 Soft Real-Time system : Deadline 을 넘는 시간 지연이 발생하더라도 시스템의
에러가 되지 않는 시스템
예 ) 컴퓨터 , 정보기기 , 네트워크 관련기기 등

Copyrightⓒ2004 7
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 을 설계 / 개발 고려사항


 Real-Time, Reactive
 최악의 상황에서도 정해진 시간 내에 동작
 인터럽트나 폴링에 대한 즉각적인 동작

 Small Size, Low Weight


 각 기기의 특성에 맞도록 가볍고 효율적으로 설계되어야 함 .

 Safe, Reliable
 Embedded 운영체제는 안정성 있고 , 신뢰할 수 있게 설계되어야 함 .

 Harsh Environment
 불안정한 환경에서도 오류 없이 안정적으로 동작되도록 설계되어야
함.

 Cost Sensitivity
 저가의 비용으로 효율적인 시스템을 설계하여야 함 .

Copyrightⓒ2004 8
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 구조도

Copyrightⓒ2004 9
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성요소


 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 사용예
 Embedded System 의 산업 구조

Copyrightⓒ2004 10
3 장 . Embedded System HW 및 SW 의 구성 요소

하드웨어 구성도

하드웨어 부분

Copyrightⓒ2004 11
3 장 . Embedded System HW 및 SW 의 구성 요소

Microprocessor
 Embedded system 의 핵심
 PC 에 비해 저전력이 요구됨
 RISC Vs. CISC
 RISC 구조가 CISC 구조에 비해 명령어 구조가 간단함
 Pipeline 의 적용이 쉬운 RISC 구조가 저전력 , 고성능
 ARM core
 강력한 성능 , 저전력을 위한 구조
 Pipeline, Dynamic voltage scaling, RISC
 고성능 ARM core 전용 bus : AHB, ASB, AHB
 net-list 형태로도 제공함
 현재 임베디드 시스템에서 주로 사용되는 CPU

 DSP 의 이용
 디지털 신호처리가 많이 사용되는 임베디드 시스템
 디지털 신호처리 시 뛰어난 성능
 Teak DSP

Copyrightⓒ2004 12
3 장 . Embedded System HW 및 SW 의 구성 요소

Memory
 Embedded System 에서 메모리의 선택
 운영체제와 응용 소프트웨어의 중요도와 크기에 따라 선택
 메모리의 주요 역할 : 프로그램과 데이터 저장

 메모리의 종류
 비휘발성 메모리
 ROM (Read Only Memory)
 PROM (Programmable Read Only Memory)
 EPROM (Erasable Programmable Read Only Memory)
 FLASH 메모리
 휘발성 메모리 (RAM)
 SRAM
 DRAM
 SDRAM, DDR-RAM

Copyrightⓒ2004 13
3 장 . Embedded System HW 및 SW 의 구성 요소

Communication Network
 Embedded system 에서의 communication network
 Heterogeneous/Homogeneous components 간의 통신
 표준 on-chip network 규격을 사용하면 embedded processors 들과
CPU/signal processors 들 및 여러 개의 peripherals 들로 구성된 SoC
design 개발을 쉽고 저렴하게 구축할 수 있음

 일반적인 On-chip-network 종류
 Point-to-Point
 2D-Mesh
 Crossbar
 BUS

Copyrightⓒ2004 14
3 장 . Embedded System HW 및 SW 의 구성 요소

Bus : Example
 AMBA Bus
 ARM 사에서 공개한 표준 on-chip bus 규격으로 SoC design 을 구성하는 기능
블럭들의 연결 방법과 운영 방식들을 상세히 설명함
 ARM core 에 최적화
 임베디드 시스템에서 주로 사용되는 ARM core 와 pair 로 많이 사용된다 .
 AHB, ASB, APB

Copyrightⓒ2004 15
3 장 . Embedded System HW 및 SW 의 구성 요소

입출력장치
 Embedded system 의 입출력 형태
 외부 입력에 반응하여 정해진 작업을 실행하며 지정된 출력을 발생
 Embedded system 의 입력방법
 폴링 (Polling) : 명령어를 사용하여 입력 핀 또는 값을 계속 읽어서 변화를 알아내는 것
 인터럽트 (Interrupt) : CPU 자체가 하드웨어적으로 그 변화를 체크하여 변화시 일정한
대처를 하는 것

 Embedded system 입출력장치

W-LAN UWB 직렬포트


RS232C 규격에 맞추어서 몇 m 떨어진 곳의 주변장치들과 통신

마우스
키보드 입출력장치 병렬포트
시리얼보다 더 근접한 위치의 주변장치들과 입출력 함

400 Mbps 까지의 전송속도


마이크 USB IEEE 1394 최대 63 개의 주변장치
최대 12 Mbps 까지 전송속도
최대 127 개의 주변 장치들을 연결

Copyrightⓒ2004 16
3 장 . Embedded System HW 및 SW 의 구성 요소

UWB Standardization (802.15.3a)


: MB-OFDM vs DS-CDMA
 DS-CDMA
 Motorola, XtremeSpectrum, ParthusCeva 주도함
 Dual-Band CDMA PSK 에 기반함 Low Band High Band
 Modulation : MBOK + B(Q)PSK
 CDMA 방식으로 8 Piconets 지원

 MB-OFDM
3 4 5 6 7 8 9 10 11
 MB-OFDM Alliance (Intel, TI, Time-Domain) 주도함
 Multi-Band OFDM 기반함
 Modulation : 128-point IFFT
 Support 4 Piconets on Multi-Band Hopping

Band Band Band Band Band Band Band


#1 #2 #3 #6 #7 #8 #9

3432 3960 4488 6336 6864 7392 7920


MHz MHz MHz MHz MHz MHz MHz f

Mode 1 : 3-Bands ; Mode 2 : 7-Bands


Copyrightⓒ2004 17
3 장 . Embedded System HW 및 SW 의 구성 요소

MultiBand-OFDM vs WLAN
IEEE 802.15.3a MB-OFDM UWB IEEE 802.11a WLAN
Madatory 55, 110, 200 Mbps 6, 12, 24 Mbps
Data-Rate
Optional 80, 160, 320, 480 Mbps 9, 18, 36, 48, 54 Mbps
BPSK OFDM (for 6, 9 Mbps)
Constellation QPSK OFDM (for 12, 18 Mbps)
QPSK OFDM
/Modulation 16-QAM OFDM (for 24, 36 Mbps)
64-QAM OFDM (for 48, 54 Mbps)
IFFT/FFT Size 128 (= 27) 64 (= 26)
Data 100 48
Number of
Subcarriers 12 (Dedicated Tones) + 10 (Guard
Pilot 4
Tones)
Total Bandwidth (Minimum Sampling Rate) 528 MHz X 3 (528 Msps) 20 MHz (20 Msps)
Bandwidth of Subcarrier (∆F) 4.125 MHz (= 528MHz / 128) 0.3125 MHz (= 20MHz / 64)

Occupied Bandwidth 507.375 MHz (= ∆F X (100+12+10+1)) 16.5625 MHz (= ∆F X (48+4+1))

IFFT/FFT Period 242.42 ns (= 1/∆F) 3200 ns (= 1/∆F)

Cyclic-Prefix or Zero-Padding Duration 60.61 ns (= 242.42ns / 4) 800 ns (= 3200ns / 4)


Guard Interval (for Band-Switching) 9.47 ns (= 242.42ns X (5/128)) -
OFDM Symbol Duration 312.5 ns (= 242.4ns + 60.6ns + 9.5ns) 4000 ns (= 3200ns + 800ns)
Error Correction Code ‘K = 7’ (64 States) Convolutional Code
1/3 with G0 = 1338, G1 = 1458, G2 = 1758 1/2 with G0 = 1338, G1 = 1718
Coding Rate Basic
(Unused Directly) (for mandatory 6, 12, 24 Mbps)
S(x) = x7 + x4 +1 with one initial non-zero
Scrambling S(x) = x15 + x14 +1 with four initial states
state

Copyrightⓒ2004 18
3 장 . Embedded System HW 및 SW 의 구성 요소

입출력장치
 Wireless LAN
 사용주파수 : 2.4 - 2.48GHz
 IEEE 802.11a
 IEEE 802.11b
 IEEE 802.11g

 UWB
 IEEE 802.15.3a
 저전력 ( 수백 mW)
 초고속 (~1Gbps) 통신 가능
 근거리 무선 통신 (WPAN)
 간섭을 일으킬 확률이 매우 낮다는 것
 대용량의 데이터를 고속으로 전송

Copyrightⓒ2004 19
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성요소


 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 실례
 Embedded System 의 산업 구조

Copyrightⓒ2004 20
3 장 . Embedded System HW 및 SW 의 구성 요소

소프트웨어 구성도
 Embedded software 의 계층화된 구조
Diagnostic and application layer
Error Memory
MMI/GUI
Handling Allocation
Host Application Diagnostics
Message Task State
Manager Controller Machine

Application Program Interfaces


Display Alarm Event
Stack Services Services Manager Kernel
Protocol File Data Services
Library
Manager I/O

Device Drivers
RTOS layer
Hardware

Copyrightⓒ2004 21
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded OS & RTOS


 Embedded system 운영체제

상용 RTOS Embedded OS
WindRiver 사 - VxWorks Windows CE

ISI 사 - pSOS Embedded Linux

VRTX Embedded Java

Qplus

Hard Real-time 지원 Soft Real-time 중심

Copyrightⓒ2004 22
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded OS 의 기본 요소
 Kernel, 멀티 태스킹 , Scheduler, 선점 (Preemptive), Semaphore,
Deadlock, Priority Inversion, Interrupt service, Mutual exclusion

 임베디드 리눅스 커널 구조
 메모리에 상주하여 시스템 구동에 필요한 환경을 만들고
관리하는 소프트웨어
 작은 의미의 OS 자체
 시스템 내의 모든 리소스 (H/W, S/W) 관리
 응용 프로그램에게 서비스제공

Copyrightⓒ2004 23
3 장 . Embedded System HW 및 SW 의 구성 요소

커널의 역할 및 구조

Copyrightⓒ2004 24
3 장 . Embedded System HW 및 SW 의 구성 요소

커널 모듈 프로그램의 기본 구조
#include <linux/kernel.h> /* 커널에서 수행될 때 필요한 헤더 파일 */

#include <linux/mocule.h> /* 모듈에 필요한 헤더 파일 */

#include <linux/errno.h> /* linux 커널의 에러 코드 헤더 파일 */

Int init_module()
{
/* 모듈이 설치될 때 초기화를 수행하는 코드 */
…………..
}

Void cleanup_module()
{
/* 모듈이 제거될 때 반한 작업을 수행하는 코드 */
………..
}

Copyrightⓒ2004 25
3 장 . Embedded System HW 및 SW 의 구성 요소

Device Driver
 디바이스 드라이버 정의
 물리적인 하드웨어 장치를 다루고 관리하는 소프트웨어
 커널의 일부분
 주번호 (major number)
 디바이스에 고유하게 주어지는 번호로 장치와 연관된 driver 를 찾는데 사용
 부번호 (minor number)
 같은 메이저 번호를 공유하는 장치에서 특정 장치를 나타내는 숫자

 디바이스 드라이버의 용도
 응용프로그램에서 하드웨어장치를 이용해서 데이터를 직접 읽고 쓰거나
제어해야 하는 경우에 디바이스 드라이버를 이용

 디바이스 드라이버의 구성
 함수와 자료구조의 집합

Copyrightⓒ2004 26
3 장 . Embedded System HW 및 SW 의 구성 요소

Device Driver
 디바이스 드라이버 구성도

User Program
User Level

File System

Network
Buffer Cache
Subsystem
BSD socket
Kernel level
Character Block Network Transport (TCP,UDP)

Network(IP)
Device Drivers

Device Interface

Hardware level Hardware(hdd, floppy, printer etc)

Copyrightⓒ2004 27
3 장 . Embedded System HW 및 SW 의 구성 요소

Device Driver Overview


Linux Kernel Device Interface Table

Boot
Bootcode
code blkdevs[] chrdevs[]
blkdevs[] chrdevs[]

int
intcode
code Y_open()
Y_open() Z_open()
Z_open()
Q_open()
Q_open() O_open()
O_open()
Y_release()
Y_release() Z_release()
Z_release()
Q_read()
Q_read() O_read()
O_read()
Y_read()
Y_read() Z_readl()
Z_readl()
Q_ioctl()
Q_ioctl() O_ioctl()
O_ioctl()
X_open() Y_write()
Y_write() Z_write()
Z_write()
X_open() Q_write()
Q_write() O_write()
O_write()
X_release() Y_ioctl()
Y_ioctl() Z_ioctl()
Z_ioctl()
X_release() Q_close()
Q_close() O_close()
O_close()
X_read() Y_int()
Y_int() Z_int()
Z_int()
X_read()
X_write() Y_init()
Y_init() Z_init()
Z_init()
X_write()
X_ioctl()
X_ioctl()
X_int()
X_int() Interrupt X_controller
X_init()
X_init() Set
Setof
ofRegisters
Registers

dev1
dev1 dev2
dev2 dev3
dev3
Copyrightⓒ2004 28
3 장 . Embedded System HW 및 SW 의 구성 요소

Device Driver 종류와 특징

드라이버
설명
종류
디바이스를 파일처럼 취급하고 접근하여 직접 읽기 / 쓰기를 수행
문자
데이터 형태는 스트림 방식으로 전송
드라이버
EX) 콘솔 , 키보드 , 시리얼 포트 드라이버등

디스크와 같이 파일 시스템을 기반으로 일정한 블록 단위로


블록
데이터 읽기 / 쓰기를 수행
드라이버
EX) 플로피 디스크 , 하드 디스크 , CDROM 드라이버 등

네트워크 네트워크의 물리 계층과 프레임 단위의 데이터를 송수신


드라이버 EX) 이더넷 디바이스 드라이버 (eth0)

Copyrightⓒ2004 29
3 장 . Embedded System HW 및 SW 의 구성 요소

디바이스 드라이버 흐름도


디바이스 드라이버의 동작과정

( 커널 프로그램 ) 드라이버 ( 사용자 프로그램 )


테스트 프로그램

커널 내 모듈 적재

디바이스 열기 1. call 디바이스 열기


2.
return

드라이버의 동작 (read/write) 드라이버의 동작 (read/write)


3. call 실패시
Dev_Write( ); Write( ); to Dev
4.
return 종료
Dev_Read () Read ( ); to Dev

5. call
디바이스 닫기 디바이스 닫기
6.
return

커널 내 모듈 제거
종료

Copyrightⓒ2004 30
3 장 . Embedded System HW 및 SW 의 구성 요소

디바이스 드라이버 코드
 init_module( )
 커널 모듈이 적재될 때 호출되는 함수  insmod
 cleanup_module( )
 커널 모듈이 제거될 때 호출되는 함수  rmmod
 file_operation
 operation 및 연관된 함수 정의
 Keypad 의 경우는 open, release, ioctl, read 사용
 open
 디바이스를 사용하기 위해 해당 디바이스를 여는 함수
 디바이스를 사용하는 응용 프로그램의 수를 저장
 release
 해당 디바이스가 응용 프로그램에 의해서 더 이상 사용되지 않을 때 호출
 디바이스를 사용하는 응용 프로그램의 개수를 감소
 ioctl
 디바이스에 종속적인 명령을 만들 수 있도록 하는 함수
 read
 keypad 로부터 읽혀진 데이터 값을 커널 메모리 영역으로부터 사용자 영역으로
복사하는 역할을 수행  copy_to_user( ) 이용
 Write 의 경우는 copy_from_user( ) 이용

Copyrightⓒ2004 31
3 장 . Embedded System HW 및 SW 의 구성 요소

디바이스 드라이버 모듈 동작 원리
register_chrdev(major, *name, *fops)
init_module()
{
{
insmod my_drv.o MAJOR == 0; chrdevs[] 자동할당
register_chrdev()
MAJOR != 0; chrdevs[major];
}
}
my_drv_open()
{ device_struct
request_irq()
} chrdevs[]
my_drv_fops
my_drv_fops 0
1
my_drv_release() my_drv_open
{ 2
free_irq() my_drv_release 3
}
my_drv_read .
.
my_drv_read() my_drv_write .
{ .
copy_to_user() 255
}

my_drv_write()
{
copy_from_user()
}
cleanup_module()
register_chrdev(major, *name)
{
{
unregister_chrdev()
rmmod my_drv }
}

Copyrightⓒ2004 32
3 장 . Embedded System HW 및 SW 의 구성 요소

key_init( )
1. static int __init key_init(void)
2. {
3. int result;
4. int ret;
5. unsigned long immr;
6. printk(KERN_WARNING "key: key module is loading...\n");
7. result = register_chrdev(key_major, "key_dd", &key_fops); device driver 등록

8. if(result < 0){


9. printk(KERN_WARNING "key_dd: can't get major %d\n", key_major);
10. return result;
11. }
12. asm("mfspr %0,638": "=r"(immr):);
13. immr &= 0xFFFF0000;
14. ((immap_t *)immr)->im_siu_conf.sc_siel |= 0x08000000;
15. ((immap_t *)immr)->im_siu_conf.sc_siumcr &= 0xFFFFEFFF; interrupt handler
16. ((immap_t *)immr)->im_siu_conf.sc_simask |= 0x08000000;
17. ((immap_t *)immr)->im_siu_conf.sc_sipend |= 0x08000000;
18.
19. ret = request_8xxirq(keypad_irq, keypad_irq_handler, SA_SHIRQ, "key_dd", NULL);

20. if(ret) {
21. printk(KERN_WARNING "Cannot request IRQ 0\n");
22. result = -EFAULT;
23. }
24. keyport = (unsigned char *)ioremap(0x20000000, sizeof(char)); Memory Address 지정
25. inter = (unsigned short *) keyport;

26. return result;


27. }

Copyrightⓒ2004 33
3 장 . Embedded System HW 및 SW 의 구성 요소

key_cleanup()
1. static void __exit key_cleanup(void)
2. {
3. free_irq(keypad_irq,NULL); IRQ 해제
4. iounmap(keyport); memory 해제

5. unregister_chrdev(key_major,"key_dd"); device driver 해제

6. }

Copyrightⓒ2004 34
3 장 . Embedded System HW 및 SW 의 구성 요소

key_fops
1. struct file_operations key_fops = {
2. ioctl : key_ioctl,
3. open : key_open,
4. read : key_read,
5. release : key_release,
6. };

Copyrightⓒ2004 35
3 장 . Embedded System HW 및 SW 의 구성 요소

key_open & key_release


 key_open
1. int key_open(struct inode *inode, struct file *filp)
2. {
3. MOD_INC_USE_COUNT;
4. return 0;
5. }

 key_release
1. int key_release(struct inode *inode, struct file *filp)
2. {
3. MOD_DEC_USE_COUNT;
4. return 0;
5. }

Copyrightⓒ2004 36
3 장 . Embedded System HW 및 SW 의 구성 요소

key_read
1. static ssize_t key_read(struct file *file, char *buffer, size_t count, loff_t *offset){
2. int i,size,tmp;
읽어 들일 배열의 개수
3. printk(" count is %d\n",count);
4. size = strlen(key_buff); 현재 메모리의 입력된 개수
5. printk(" size is %d\n",size);
6. if(size < count){
7. copy_to_user(buffer,&key_buff, size); 사용자 메모리 영역으로 복사
8. for(i=0; i<size; i++) 초기화
9. key_buff[i] = '\0';
10. loc = 0;
11. return size;
12. }
13. else {
14. copy_to_user(buffer,&key_buff, count); 사용자 메모리 영역으로 복사
15. for(i=0; i< (size - count);i++){
16. key_buff[i]= key_buff[i+count]; 남은 데이터 앞으로 이동
17. key_buff[i+count] = '\0';
18. }
19. loc = tmp = size - count; 요청된 개수를 읽고 남은 개수 표시

20. for(i=tmp;i < 256; i++) 초기화


21. key_buff[i] = '\0';
22. return count;
23. }
24. }

Copyrightⓒ2004 37
3 장 . Embedded System HW 및 SW 의 구성 요소

Keypad 응용 프로그램
1. int main()
2. {
3. int fd, i, retval;
4. char value[256];
5. unsigned short buf, buf1, buf2;
6. fd = open(“/dev/key_dd”, O_RDWR);
7. if(fd < 0)
8. {
9. printf(“fd error()\n”);
10. exit(1);
11. }
12. retval = read(fd, &value, 5);
13. for(i=0 ; i<retval; i++)
14. {
15. operation
16. }
17. }

Copyrightⓒ2004 38
3 장 . Embedded System HW 및 SW 의 구성 요소

Qplus (Q+) 커널 구성도


 한국 전자 통신 연구원 (ETRI)
 1998.11.1 - 2000.12.31 (2 년 2 개월 )

응용 프로그램

라이브러리

소켓 Pthread 시스템
라이브러리 라이브러리 설정

시스템 콜 인터페이스
구축
프로세스 관리 메 네 입 툴킷
모 트 출
실시간 처리 리 웍 력 (Target
관 관 관 builder)
저전력 관리모듈 리 리 리

하드웨어 디바이스
Fast Boot
관리 드라이버

하드웨어

Copyrightⓒ2004 39
3 장 . Embedded System HW 및 SW 의 구성 요소

미들웨어
 일반적으로 미들웨어란 두개 이상의 시스템 혹은 프로그램 사이에서
둘 사이를 중재하는 프로그래밍 서비스를 의미

사용자 인터페이스 DBMS

응용 논리 DB Service
API
SQL SQL
IPC
미들웨어 NPS 미들웨어

미들웨어
LAN

클라이언트 서버

Copyrightⓒ2004 40
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded 미들웨어 사용예


 JVM, CORBA, COM, 무선 인터넷 플랫폼 (Brew), 각종 통신
프로토콜 관리기 등

Copyrightⓒ2004 41
3 장 . Embedded System HW 및 SW 의 구성 요소

Software 설계시 고려사항


 Cross Compile
 x86 머신에서 ARM 용 바이너리 코드를 만들어 주는 것
 Target 시스템에서만 실행 가능
 명령어나 데이터 처리방법이 달라짐
 개발 시스템의 목적언어로 된 프로그램은 실행 불가능
 Cross development environment ( 교차개발환경 )
 Host: PC. Windows or Linux
 Cross compiler
 Target: Embedded microprocessor
 Downloading and execution
 실행 프로그램의 결과 확인은 Target 시스템으로 다운로드해서
실행
 시뮬레이터에 의해 실행

Copyrightⓒ2004 42
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성요소


 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 실례
 Embedded System 의 산업 구조

Copyrightⓒ2004 43
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 의 활용

Copyrightⓒ2004 44
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 의 실례
 정보가전
 정보를 이용해서 TV, 냉장고 , 세탁기 , 청소기 등의 가전용품을 인터넷 등에
연동
 Digital TV
 Digital 영상 및 음성 정보 + 부가적인 Digital 데이터
 데이터 : 프로그램에 관련된 정보 및 다른 부가서비스 관련 정보
 VOD(Video On Demand), 양방향 TV 등이 가능

 인터넷 냉장고
 15.1 인 치 액 정 화 면 (TFT LCD) 과
LAN 포트를 장착
 인터넷에서 쇼핑 , 양방향 화상통신 ,
TV 방송 수신 및 e 메일 송수신

 게임기
 소니 PlayStation2 Computer Entertainment System
 Emotion Engine™ 이라는 multimedia processor

 MIPS 프로세서를 탑재

Copyrightⓒ2004 45
3 장 . Embedded System HW 및 SW 의 구성 요소

Ubiquitous
 넓은 의미
 “Ubiquitous” 는「편재:어디에나 있다」
 “Ubiquitous Computing” 을 단순하게 「언제든、어디에서든 컴퓨터를 사용할 수 있는 것

웨어러블 컴퓨팅 컴퓨터를 옷이나 안경처럼 착용할 수 있게 하여


인간이 컴퓨터를 휴대할 수 있게 하는 기술

엑조틱 컴퓨팅 노매딕 컴퓨팅


스스로 생각해 물리공간과 전자공간의 네트워크의 이동성을 극대화해
연계를 수행하는 컴퓨팅 특정장소가 아니라
사용자가 자유자재로 이동하면서
어디서든지 컴퓨터를 사용

1 회용 컴퓨팅 유비쿼터스 퍼베이시브 컴퓨팅


컴퓨터를 1 회용 종이 만큼이나 IBM 에서 제안하였으며 ,
저렴하게 만드는 기술 유비쿼터스와 유사한 개념

Embedded 컴퓨팅 감지컴퓨팅


컴퓨터가 수행해야 할 기능을 센서 등을 통해 정보를 컴퓨터가 감지해
미리 프로그래밍해 심는 기술 사용자에게 제공
조용한 컴퓨팅
사람이 의식하지 않아도
정해진 일을 묵묵히 수행하는 컴퓨팅

Copyrightⓒ2004 46
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System HW 및 SW 의 구성요소


 Embedded System 이란 ?
 하드웨어 구성 요소
 소프트웨어 구성 요소
 Embedded System 의 실례
 Embedded System 의 산업 구조

Copyrightⓒ2004 47
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 시장
 제 1 강자는 없다
 Embedded System 하드웨어
 모토롤라반도체 사업부
 32 비트 시장 중심 가장 다양한 제품군 보유 (MC683XX, MPC8260,…)
 썬마이크로시스템즈
 성능 강화에 중점을 둔 64 비트 고성능 프로세서 출시
 High-End 시장 선도

 가장 각축전이 치열한 분야는 Embedded 운영체제 (OS)


 PC 시장과 같이 특정 OS 가 시장을 독점하지 않고 있음
 적용제품의 종류 , 규모에 따라 여러 종류의 상용 및 비상용 제품 다양
 Embedded OS 및 플랫폼 , 애플리케이션 시장
 VxWorks
 윈도 CE
 Embedded 리눅스
 썬의 Java
 일본의 Tron 진영 간의 불꽃 튀는 경쟁

Copyrightⓒ2004 48
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 세계 시장 동향
 미국
 프로세서 , OS, 프로토콜 등 전 분야를 점유
 미국은 군사 / 과학용 Embedded S/W 를 21 세기 핵심 분야로 선정하고
매년 4 천억 달러 이상을 연구개발에 투자

 유럽
 개발도구 , 부라우저 등의 일부 업체가 존재
 군사 / 교통용 Embedded S/W 에 ’ 99 년 부터 7 년간 3 조 8 천억을 투자

 일본
 총무성 주도로 ubiquitous 네트워크 개발을 추진 중
 ’84 년부터 TRON 협회에서 표준 Embedded OS 를 개발 , 일본 내
가전제품에 적용 중

 Embedded OS
 Real-Time Operating System 중심
 MS 의 WinCE 및 Embedded 리눅스 진입 시작
 미들웨어 , 각종 서비스를 포괄하는 플랫폼 기술이 중요하게 대두

Copyrightⓒ2004 49
3 장 . Embedded System HW 및 SW 의 구성 요소

Embedded System 산업의 발전 동향

아날로그 디지털
정보단말 이동지능정보단말
휴대폰 휴대폰

에듀테인먼트 백색가전 , 정보가전 ,


및 TV 부착형게임기 Playstation2, X-Box
가전기기

기계식 전자식 라우터 , 이동통신지원


통신장비 교환기 교환기 게이트웨이 통신시스템

제어기기 Transistor 기반 모니터기반 고기능 Intelligent


제어시스템 제어시스템 제어시스템 제어시스템

이전 1970 1980 1990 2000 2010


마이크로 프로세서등장 고급 RTOS 등장

Copyrightⓒ2004 50
3 장 . Embedded System HW 및 SW 의 구성 요소

참고문헌
 Embedded 월드 참고
 http://www.ubiu.com/ ( 유비쿼터스 포럼 )
 http://www.tta.or.kr/
 http://www.hanbat.ac.kr/ - Hanbat National University
 http://kesl.org

Copyrightⓒ2004 51

You might also like