임베디드시스템개발 part1

18
임임임임 임임임 임임 (1) 임 임 임 [email protected]

Upload: minsuk-lee

Post on 10-Jun-2015

674 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 임베디드시스템개발 Part1

임베디드 시스템 개발 (1)

이 민 석

[email protected]

Page 2: 임베디드시스템개발 Part1

오늘의 목표

• 간단 복습

• 임베디드 시스템 개발• 임베디드 시스템의 경쟁력 이해• 임베디드 시스템 개발 목표의 이해• 플랫폼 , 모델 기반 개발 의지 제고

Page 3: 임베디드시스템개발 Part1

임베디드 시스템의 특징

• 전통적인 임베디드 시스템의 특징• Single functioned

• 하나의 프로그램이 반복 수행• Tightly constrained

• 재료비 , 전력 , 물리적인 크기 , 특정 기능의 속도 , 메모리 등• Reactive and real-time

• 시스템의 환경 변화에 지속적으로 반응• 예측 가능한 응답으로 , 어떤 이벤트가 가지는 시간 제약성을 만족

• 최근 임베디드 시스템의 특징• Digitally converged

• 멀티미디어 , 유비쿼터스 , …• More tightly constrained (except memory)• Scalable and feature-rich

• 더 많은 기능을 수용할 수 있는 소프트웨어 구조

Page 4: 임베디드시스템개발 Part1

임베디드 시스템의 또 다른 이름

• CPS (Cyber Physical System)

= 컴퓨팅 + ‘ 제어 (control)’ 를 의미하는 새로운 용어• 정보통신망에 내재화된 컴퓨터와 네트워크 모니터들이 상호교류

(feedback loops) 를 통하여 물리적 프로세스를 통제• 따라서 , 안전성 , 실시간성 , 상시성 , 분산성 등이 핵심

Page 5: 임베디드시스템개발 Part1

임베디드 시스템 시장

• 목적 시스템 시장• 임베디드 시스템 제품 시장

• 광의의 임베디드 시스템 시장• 목적 시스템 시장 +• 개발 도구 : 목적 시스템 개발 도구• 부품 : 하드웨어 부품 , 소프트웨어 라이브러리• 서비스 : 설계 , 구현 , 디자인 , 테스트 등• 지원 : 기획 , 교육 , 문서화 , 법률 , 금융 , 인력 등

• 국내는 최근 “서비스” 시장이 급격히 커지고 있음• Out-sourcing, Partnership 마인드의 확산 또는 불가피성

• 임베디드 시스템 관련 각종 “지원” 시장 또한 커지고 있음• 기술만으로 안 되는 세상 !

Page 6: 임베디드시스템개발 Part1

앞으로의 임베디드 시스템 시장

• 전통 임베디드 시장의 건재함은 그대로 유지• 항공우주 , 자동차 , 의료 , 공장 , 전통가전 , 게임

• 기술적 발전에 따른 시장 변화• 통신 인프라의 발전 : 유비쿼터스 , 컨버젼스 응용 창출• 반도체 기술의 발전 : 제품의 기술적 구현 가능성 증가• BT, NT 의 발전 : 새로운 소재 , 센서의 등장

• 미래형 임베디드 시스템 시장은 대부분 인간 주변에…• 콘텐츠 중심의 임베디드 시스템 시장• 서비스와 연계 ( 수익 모델의 변경 )

• 미디어 ( 정보에 접근하는 채널 ) 의 변화• SNS, Mobile, Location Based xxx

• 사회 구조 , 제도 , 환경의 변화에 따른 시장 변화• 노령화 , 주 5 일 근무 , 사교육 , 저출산 , 온라인 미디어

지구 온난화 , 지속 가능 에너지 , …

하드웨어에서소프트웨어로

가치창출동력이 바뀜그 중심엔

역시 사람 !!!

Page 7: 임베디드시스템개발 Part1

임베디드 시스템 시장에서의 경쟁력

• 임베디드 시스템 경쟁력 요소• 핵심 기반 기술 ( 부품 , S/W, 외관 ) 에 대한 기술력• 핵심 기술 인력 ( 매니저 , 엔지니어 ) 과 생산성• 시장 접근 능력 : 선점을 위한 제품 기획 , 마케팅

• 경쟁력 확보 방법

• 투자에 있어서의 선택과 집중• 나머지는 Partnership 으로 해결

• 기술 확보• 훌륭한 이론가 / 엔지니어• Open Source Software 활용• 기초 과학 , 소재 , 기반 기술 개발• 국제적인 표준 활동

• 장기적 관점의 인력 양성• 기술 단계별 전문 분야 인력 ( 개발 , 시험 , 기획 , 마케팅 , …)• 관리 인력 양성 ( 프로젝트 관리자 양성 )• 지속적인 재교육

기술

인력

마케팅

핵심

기술

Page 8: 임베디드시스템개발 Part1

임베디드 시스템 개발의 목표

기술적 목표

• Correctness• 사용자 관점의 기능 충실도

• Availability• 시스템 가용 시간의 확보

• Technical Requirements• Power Consumption• Space Limitation• Legal Stuffs ( 특허 , 전자파 , …)• …

• Security• 논리적 , 기계적 보안• 사용자 보호 , 기술 보호

• Flexibility• Testability

시장적 목표

• Marketing driven requirements• 수요자 그룹을 위한 디자인• 사회적 요구 ( 윤리적 , 환경적 , …)

• Price+ NRE (Non-Recurring Engineer-

ing)• 개발비 등 1 회성 비용

+ Unit (BOM) Cost+ 중간쯤 있는 비용

• 장비 , 광고 , 땅 , …

• Time• to Prototype• to Market

• Maintainability• or NOT

Page 9: 임베디드시스템개발 Part1

임베디드 시스템 비용

개발 비용 NRE based-on Time-to-Market H/W, S/W Engineering Team Size

간접 비용 H/W, S/W Development Tools Maintenance and Support Costs

제품 단위 비용 Unit Material (BOM) Cost Unit-base S/W Royalty

FixedCosts• per project

VariableCosts• per unit

Page 10: 임베디드시스템개발 Part1

설계의 핵심 : Trade-Offs

• Unit Size• Cost• Power• Battery Type• Processor Speed• Distance• Hardware Architecture• Encoding Schemes• Dynamic Loading over RF• Antenna Size• RF Frequency• Development Tools• Functionality• Algorithm complexity• Sampling Rate• Routing Algorithms• Redundancy• Reliability• Security• Encryption• Mobility• Real-Time Guarantees• Number of Nodes• …

Sensor 중심의 CPS Device설계 시의 Trade-Off 항목의 일부• 정답은 없다 .

• 모든 것을 일반화 할 수도 없다 .

Design for Trade-Offs !!!

• WYNIWYG– What You Need is What You Get – No more, No Less!

+ Configurable and Reusable S/W

SizePerformance

Power

NRE cost

Page 11: 임베디드시스템개발 Part1

Trade-Offs

• High NRE, Low BOM, Long Time-to-Market vs. Low NRE, High BOM, Short Time-to Market

• Long Battery Life, Low Performance vs. Short Battery Life, High Performance

• Hardware, High BOM, Short Time-to-Market vs. Software, Low BOM, Long Time-to-Market

• High Flexibility/Maintainability, High BOM vs. Low Flexibility/Maintainability, Low BOM

• Big Size, Long Battery Life vs. Small Size, Short Battery Life

• Trade-offs Everywhere

vs

BOM: Bill of Materials (Cost)

Page 12: 임베디드시스템개발 Part1

Time-To-Market !

• 수입 모델• 제품 단종 시기 = 2W

가장 잘 팔리는 시기 = W• 삼각형의 넓이가 수입• 시장 진입 시점 =

삼각형의 시작 위치

• 손해는… • 두 삼각형의 넓이 차이

On-time Delayedentry entry

Peak revenue

Peak revenue from delayed entry

Market rise Market fall

W 2W

Time

D

On-time

Delayed

Rev

enue

s ($

)

Page 13: 임베디드시스템개발 Part1

개발 = ( 하드웨어 + 소프트웨어 ) 개발

•System On a Chip

•Hardware/Software Co-Design

Page 14: 임베디드시스템개발 Part1

플랫폼 기반 임베디드 S/W 개발

• 임베디드 소프트웨어의 구성 요소• 임베디드 운영체제• 특정 응용에 적용하기 위한 미들웨어• 서비스 개발을 위한 라이브러리• 응용 소프트웨어• 소프트웨어 개발 및 시스템 구성 도구 , 분석 및 시험 도구 ,

• 플랫폼 기반 개발• Platform : 서로 연관되어 상승 효과를 낼 수 있는 공통 서비스들의 추상화

• 다양한 요구 사항을 해석하여 그들을 수용하는 architecture 를 제시한 것

• 잘 정의된 공통 서비스를 바탕으로 “필요 기술 요소”의 확인 / 조달을 빠르게 함 ( 각 요소 서비스 제공자들을 나열한 solutions-map 과 함께 )

• 쉽게 말하면 , 모두가 이해할 수 있는 ‘틀’ 을 기반으로 뭔가를 만들자 !

소프트웨어 플랫폼

Page 15: 임베디드시스템개발 Part1

예 , Mobile S/W platform

• Platform (or Mobile Framework) : Abstracting Technologies• Bridging the gap between the Application on various devices and the World

Operating System

Middleware

UI and Services

Applications

SDK &Tools

Cloud

Server

Somebody

Anybody

Anything

Platform

thereal/virtual

world

thedeviceworld

Page 16: 임베디드시스템개발 Part1

모델 기반 개발• 모델 기반 개발 방법

1. PIM (Platform Independent Model) 개발2. PSM (Platform Specific Model) 개발3. Source Code 자동 생성 , 구현 , ( 자동 ) 시험

• 모델 기반 프로그래밍의 장점• 플랫폼 독립적인 소프트웨어 모듈의 재사용성 증가• 새로운 하드웨어 플랫폼에의 적응성 향상• 사용자 요구 변화에 대한 빠른 대응

• 모델 기반 설계 도구• 요구 분석 , 시스템 설계 , 소프트웨어 구현 과정을 지원

• Visualize and verify design • Automatic source, document generation• Automatic test• Parallel development

• 상용 모델 기반 설계 도구• IBM 의 Rational Rose-RT• Telelogic (iLogix) 의 TAU• Mathworks 의 SIMULINK Real-time Workshop

소프트웨어생산성 증가

( 출처 : Mathworks)

다양한 CPU, 하드웨어같은 S/W 플랫폼을 쓰는 많은 모델복잡한 제약 조건과 요구 사항

Page 17: 임베디드시스템개발 Part1

임베디드 소프트웨어 개발 도구

• 모델 기반 설계 도구 사용 증가• UML 2.0 사용 도구…

• Eclipse 가 대세• Timesys – TimeStorm : 프로젝트 관리도구• Montavista – DevRocket (Linux)• Wind River – Workbench (VxWorks, Linux)• QNX – Momentics (Neutrino)• ETRI – QuickDriver (Linux Device Driver)

• 임베디드 Linux 디버깅 / 개발 생산성의 재발견• Virtual Machine 이용

• kgdb/ddd with Virtual Machine• UML (user mode Linux, arch=um)• JTAG-ICE 를 이용한 Linux Kernel 디버깅

QuickDriver

( 출처 : 정보과학회지 2006.7)

Page 18: 임베디드시스템개발 Part1

Q & A