Contents 유비쿼터스컴퓨팅을위한센서네트워크기술 2005. 9 박승민 Ubiquitous Computing Middleware Team minpark@etri.re.kr Introduction Embedded Software Ubiquitous Computing ETRI s Smart Sensor Node (H/W) Scalable & Reconfigurable Nano-Qplus OS (S/W) Implementation of Wireless Sensor Network Sensor Network Standards Future Works 2 임베디드소프트웨어란? 임베디드 S/W Embedded S/W makes things Smart! 스마트서비스 무선인터넷 멀티미디어메세징 경량화최적화 무선게임 VOD 임베디드 S/W LBS 고신뢰성 M-커머스 영상전화 2001년세계마이크로프로세서생산량 47억3천만개중 97% 가컴퓨터이외의기기에사용 ( 출처 : 데이터퀘스트 2002, ESP 1999) 네트워크지원 마이크로프로세서 저전력화 멀티미디어지원 4
임베디드 S/W 활용분야 임베디드 S/W 기술개발개념도 방범 방재 정보가전 교육 개인휴대단말 차세대 PC 이동통신 지능형로봇 표준형임베디드운영체제 Network 모바일기기용솔루션 마이크로임베디드운영체제나노임베디드운영체제 Broadband Wireless Internet 통신장비유통 지불 디지털홈다지털TV 정보기기솔루션 표준형플랫폼 나노플랫폼 마이크로플랫폼 규모별플랫폼 센서기기솔루션 산업기기솔루션 텔레매틱스 분야별솔루션 산업용기기 환경 군사 항공 의료 교통 센서네트워크 5 6 임베디드소프트웨어플랫폼구성기술 플랫폼별적용분야 표준형임베디드 마이크로임베디드 나노임베디드 플랫폼종류 방범 방재 교통 의료 환경 SmarTown 시범 응 용 환경교통의료 DMC 임베디드 & 멀티미디어 편재형컴퓨팅미들웨어 임베디드 OS H/W 추상화계층 (HAL) 표준형Micro Nano Embedded Embedded Embedded S/W S/W S/W Platform Platform Platform 통통합합개개발발환환경Power 발표준형 OS 환마이크로 OS 경나노 OS. 방재 데이터수집분석기 수해정보수집기 기상관측센서 Communication Processing Storage Sensor Actuator TMS데이터수집기 자동항법시뮬레이터 초소형환경감지센서 카서버및 VMS 영상차량검지기 교통량센서 재택건강진단기 Smart Watch 원격진단센서 민원정보키오스크 스마트음향기기 지능형가로등센서 Connected MM 글로벌동기식 MM SoC형 MM 사용자상황인식통편재형서비스인식합개경방범 센서 AdHoc 중대형 H/W지원 소형 H/W지원 초소형 H/W지원 표준형임베디드 Micro 임베디드 S/W 플랫폼 Nano 임베디드 S/W 플랫폼 데이터수집및분석기 수해정보수집기 기상관측센서구조물안전센서 Car Server VMS 교통정보키오스크 영상식차량검지기 노변기지국 Smart Watch 재택진단시스템 MEMS Smart Toilet TMS 데이터수집기 비행시뮬레이터 액추에이터비행제어컴퓨터시스템 초소형환경감지센서 자동항법컴퓨터시스템 Smart Its 개인휴대단말 민원정보키오스크 지능형가로등내장센서 7 8
임베디드 OS 의기술추세 임베디드리눅스의장단점 풍부한네트워크솔루션 다양한유선및무선통신지원 경량 TCP/IP, VoIP, 웹서비스 (MS.NET, SUN ONE) 임베디드기기에맞는수려한 지원 멀티미디어기능확장 모바일디바이스를위한저전력지원 풍부한하드웨어지원을통한빠른적용성 저전력소모형또는저가형칩으로의빠른이식성 윈도우 기반의편리한사용자인터페이스를제공하는개발도구 특정제품에하드웨어에서응용까지플랫폼솔루션제공 (ex. WinCE PocketPC) 임베디드리눅스의장점 공개된소스코드 런타임로열티가없음 안정적 (reliable) 이고견고 (robust) 함 풍부한하드웨어플랫폼및디바이스지원 네트워킹과인터넷에대한뛰어난지원 전세계에걸친수많은개발자 빠른발전속도 임베디드리눅스의단점 임베디드용통합개발도구빈약 충분하지않은실시간성능 전력관리기능이부족 너무무거운그래픽 / 윈도우시스템 표준의부재 ( 윈도우매니저, s, 확장, ) GPL 라이선스의사용에대한혼란 9 10 Linux Market Share in Enterprise and Embedded CELF 개요 Sources: IDC, VDC 2003 년 6 월소니와마쓰시다가함께설립 현재는전세계정보가전관련업체들이참여 약 50 개이상의관련업체 정보가전응용에임베디드리눅스를활용 GNU General Public License Sony Matsushita Hitachi IBM NEC Philips Sharp Samsung Toshiba Associate Members (ETRI) Supporting Members Special Supporting Members Linux Enhancement Consumer Electronics Products Founding Members Appointed Members * Including expected members. 11 12
타겟빌더CELF 조직구성 임베디드 S/W 표준플랫폼 Steering Committee IPTV Smart Phone Nano Q + Telematics Working Groups Technical Working Groups Bootup Time Working Group Power Management Working Group Architecture Group Profile Working Groups Mobile Phone Profile Working Group DTV Working Group 정보기기용 모바일기기용 임베디드시스템 센서기기용 임베디드 S/W 솔루션 개발환경 및 Audio/Video/Graphics Working Group Real-Time Working Group System Size Working Group Security Working Group Special Interest Working Group Flash Memory Working Group Ad Hioc Groups Testbed Working Group 표준형임베디드 마이크로형임베디드 나노형임베디드 임베디드 생산기술 13 14 Embedded Intelligence Qplus/Esto (ETRI Embedded Linux) Smart Home Smart Citizen SmarTown SmarTown 리눅스기반임베디드 OS (Qplus) 응용프로그램 Java Web Browser JVM(JDK1.1.8+swing) 통합개발환경 (Esto) 원격개발 IDE 모니터링도구 원격디버거하드웨어기반디버거 디바이스드라이버개발도구 최적화및분석도구 편재형환경시뮬레이터 실시간성분석도구 호스트플랫폼 서버 클라이언트 통신망 서비스유형 홈서버정보가전홈네트워크홈서비스 퍼스널서버웨어러블단말 Personal Area Network 모바일서비스 웹서비스서버임베디드시스템 Ubiquitous Network 편재형서비스 빌더 GTK 표준라이브러리 Tiny-X 시스템콜인터페이스 실시간스케줄러 전력관리 Fast Boot FFS/MMFS Device Drivers 타겟플랫폼 타겟에이전트 Network 15 16
Qplus/Esto 지원하드웨어 Qplus 주요특징 DTV, 홈서버, G/W, 웹패드, PDA, 휴대폰, 로봇, 텔레매틱스플랫폼지원 X86 ETRI 홈서버 Hestia I, II (Pentium III) VIA EPIA-M (VIA C3) Transmeta PDA 개발보드 Samsung i815 칩셋기반홈서버 ARM SMDK2400/2440 개발보드 (Samsung S3C2400/S3C2440) PDA: ipaq (SA1110), Zaurus (SA1110) Tynux Box (xscale) IXDP425 (Xscale) ARM7/ARM9/ARM10 지원 MIPS SmarTV 단말플랫폼 (PMC-SIERRA RM5231A) DBAu1500 개발보드 (Au1500) PPC SWAN-II 개발보드 (PowerQUICC 860P/T) 실시간지원 실시간스케줄러, 선점형커널구현, 락브레이킹기법적용실시간성능향상, Sporadic Server 지원 저전력지원 스케줄러연동저전력지원알고리즘및전력관리모듈개발 빠른부팅 빠른롬바이오스부팅지원 x86 시스템용 ROM BIOS 로써, 기존 BIOS 사용시보다부팅시간이약 1/3 정도소요 커널수준의 RTP/RTCP 통신지원 다양한디바이스드라이버 DTV 수신장치디바이스드라이버지원 17 18 Qplus 주요특징 시스템설정도구 : TargetBuilder 플래시파일시스템 (FFS) 마운트시간및 Garbage collection 알고리즘개선 전원오류시효율적인데이터회복을지원 순위별지움정책을이용지움평준화지원 멀티미디어파일시스템 (MMFS) 저장구조를개선디스크접근시간단축 QoS 보장기법을파일시스템수준에서지원 임베디드 지원 임베디드용경량그래픽 / 윈도우시스템개발지원 응용을위한 빌더지원 Java 클래스라이브러리 lang, io, util,net 를포함한기본 java 클래스라이브러리 그래픽처리를위한 awt 클래스라이브러리일부개발 다양한정보가전플랫폼별로최적의시스템구성을지원하며편리한타겟이미지구축및적재를위한툴킷제공 현재 x86 과 ARM 플랫폼을지원함 상에서커널 / 기본응용 / 타겟환경의통합설정기능제공 중일부는리눅스커널의공식설정방식으로채택됨 쉬운설정을도와주는다양한부가기능제공 의존성자동체크 온라인도움말제공 관련옵션찾기기능 target image 생성및적재 타겟 Root file system 자동생성 다양한적재 (deploy) 방식의지원 (NFS, initrd, Floppy, ) library reduction 을통한최종타겟이미지사이즈의최적화 세세한 package 설정지원 busybox, tiny login 등 30 여기본패키지의세세한설정을지원함 QPD(Qplus Package Descriptor) 를통한쉬운패키지추가지원 19 20
Target Builder 임베디드 범용 응용분야 특화 기본옵션정보 Desktop, Desktop, PDA, PDA, 휴대단말기휴대단말기 TV/ TV/ 텔레매틱스텔레매틱스 /ATM /ATM 단말단말 설정옵션트리 ( 커널 / 시스템응용 / 타겟환경설정에관련된옵션들을트리형태로보여준다 ) 옵션속성 ( 온라인도움말, 의존성규칙, 설치파일목록등을보여준다 ) 확장옵션정보 빌드로그 ( 빌드의결과를보여준다 ) 범용범용범용범용 윈도우윈도우매니저매니저개발개발도구도구범용 Widget 경량그래픽라이브러리 Optimized Library Lib (FrameBuffer ) Frame Buffer 고급고급 고급고급 윈도우윈도우매니저매니저개발도구개발도구고급 Widget Animation 및 3D 기반 Engine ( 예 :Flash 형태 ) 3D Library X Window O.S 시스템설정및구축툴킷주요화면 Graphic Accelerator (H/W) 21 22 Qplus 기반의고화질미디어엔진 임베디드 S/W 통합개발환경 : Esto X86 기반 H.264 비디오 / 오디오인코더및디코더 VGA급 H.264 비디오 / 오디오실시간인코딩 (P-4 3.6GHz or Xeon 3.4GHz 2_way Server 30fps/sec) VGA급 H.264 비디오 / 오디오실시간디코딩 (Celeron 1.2GHz 30fps/sec) 라이브비디오인코딩용사용자인터페이스 DV 트랜스코딩용사용자인터페이스 로컬 H.264 변환용코덱라이브러리주요사용기술 Intel SIMD 기술 (MMX/SSE/SSE2/SSE3) Intel HyperThreading 기술 고속 H.264 인코딩을위한스마트알고리즘 <VGA 급 H.264 비디오 / 오디오실시간인코딩시연및 STB 디코딩시연 > Esto 특징 기반통합개발환경 (IDE) 지원 Eclipse 기반 Linux 및 Windows 호스트지원 지원기능 목적시스템설정및구축툴킷 : 타겟빌더 임베디드시스템모니터링도구 기반디바이스드라이버개발도구 하드웨어기반디버거 임베디드 S/W 최적화및저전력분석도구 실시간성분석도구 편재형환경시뮬레이터 23 24
Eclipse Esto 를사용한임베디드 S/W 개발 Visual Esto 프로젝트생성 원격모니터링 Cross Development Environment 소스코드편집및빌드 HOST Ethernet, Serial/USB, JTAG, TARGET IDE Main 원격디버깅 Profiler Tracer Target Builder Project Manager Cross Compiler Editor LINUX / WINDOWS Remote Debugger Remote Shell Target Monitor Target Comm. Module Target Agent Applications Middleware Kernel BSP D/D 25 26 Eclipse 기반의 Esto 원격디버거 Eclipse Platform Project Manager Remote Debugger JTAG based Debugger Device Driver Dev. Tool Optimization & Analysis Tool Timing Analyzer Remote Monitoring Tool Ubiquitous Env.. Simulator Application Application Application TargetAgent Driver Agent 브레이크포인트설정및응용프로그램실행 Step, Continue, Next, Finish,Disassemble 등디버깅명령사용 Watch 및 Variable 윈도우를통한로컬자료및변수들의자료값확인 Register, Call Stack, Memory 윈도우들의사용등시간제약 (Timing Constraint) 이있는내장형응용개발을위한 Trace point 디버깅지원 Target Configuration Tool Device Driver Device Driver Windows/Linux Host Qplus Target 27 28
개발도구비교 표준형임베디드 응용제품 Visual Esto/ K-Developer/ Eclipse(CDT) Purpose K-Developer Linux Host Programming Eclipse/CDT (TimeStorm) Java-based Plug-in Tool Visual ESTO Professional Embedded SW Development Tool, Also for Resident Programming on Host 홈서버 홈서버메인화면 EBS 수능강의시스템메인화면 General Features Friendlinessto-use Embedded Environment Target Builder Rich Normal None Kernel Configurator Somewhat low Somewhat low Under implementation Kernel Project Rich, plus Source tree view, Run-time debugging, etc High, Visual Studio-like, look-and-feel Fully Operating for Host and Embedded SW - Auto downloading - Real-time debugging etc Friendly Kernel Configurator, plus Application package(ram disk) builder, Automatic dependency checking Additional Tools rich low Rich Target monitor, Target Tracer, Embedded profiler, Memory debugger, 29 30 표준형임베디드 응용제품 표준형임베디드 응용제품 홈서버를이용한영상 VoIP 및공동브라우징시스템 지능형로봇 카서버 ( 텔레매틱스단말 ) 31 32
마이크로형임베디드 응용제품 원격진료시스템 스마트비데 / 원격건강모니터링시스템 33