yes!PARTNER에서 진행하는 교육/세미나

http://www.yespartner.com/seminar/month.asp
:
http://www.zdnet.co.kr/news/enterprise/os/0,39031185,39157419,00.htm


[특집]윈도우XP임베디드로「차량용 하이엔드 시스템」개발해 보자

디에스티 기술팀 신승운 ( ZDNet Korea )   2007/05/08
xpembedded
DST
차량용 내비게이션으로 길을 찾는 모습은 이제 흔하게 볼 수 있는 모습이다.

최근엔 단순 길 안내를 넘어서 DMB 채널을 이용해 목적지까지 빠른 길을 안내하는 티펙(TPEG) 기능의 내비게이션까지 등장했다.

이런 차량용 내비게이션은 대부분 윈도우 임베디드 CE를 탑재하고 있다. 하지만 윈도우 XP 임베디드 특집 3부에선 단순 내비게이션 기능을 넘어 PMP, DMB 등의 여러 기능을 하나로 통합해 차 내부에서도 컴퓨터처럼 사용할 수 있는 ‘차량용 하이엔드 시스템’을 개발하는 방법에 대해 알아보고자 한다.

윈도우 XP 임베디드의 특징 중 하나인 HORM(Hibernate Once, Resume Many) 기능을 이용해 전원관리에 제약이 있는 일반 PC의 전원관리 문제를 해결하고 나아가 사용자가 원하는 기능만을 선택해 OS 이미지를 빌드할 수 있는 윈도우 XP 임베디드만의 장점을 개발에 적용해 봤다.

▷윈도우 XP 임베디드 개발에 필요한 기초지식
윈도우 XP 임베디드 개발 툴킷인 윈도우 임베디드 스튜디오(Windows Embedded Studio)는 다음 세 가지 구성요소들로 이뤄져 있다.

- 개발도구(Tool)
- 데이터 베이스 엔진(Database Engine)
- 데이터 베이스 (Database)
[그림1] 윈도우 임베디드 스튜디오의 구성

[표 1]각 툴의 기능

윈도우 XP 임베디드로 디바이스를 개발하기에 앞서 충분한 테스트로 XP 임베디드 포팅 가능성을 고려, 리소스를 얻기 위해서 다음과 같은 사전 작업이 요구된다.

(1) 대상 하드웨어 플랫폼 준비
(2) 윈도우 XP 프로 SP2 설치
(3) 디바이스 드라이버 셋업 및 테스트 작업
(4) 타겟 애플리케이션 셋업 및 테스트 작업

다음엔 어떤 시나리오를 토대로 기획을 할 것인지를 생각해야 한다.

(1) ACPI 멀티프로세서 PC: Loader에 대한 사용자 선택
• EWF NTLDR → EWF기능을 사용할 때는 EWF LTLDR를 추가한다.
• NT Loader → 기본적인 NT Loader 파일이다.

(2) Regional and Language Options: 사용 언어 선택
• 24개 언어 컴포넌트 목록 중 사용하고자 하는 컴포넌트를 추가한다.
• 가령 한국어를 사용하려면 ‘Korean Language Support’를 추가한다.

(3) 섹션 매니저(Windows subsystem): Logon 방법 선택
• Minlogon → 사용자 계정이 없는 로그온 방식
• Windows Logon → 사용자 계정이 있는 데스크톱 XP의 로그온 방식

(4) Windows Shell: Shell을 선택
• Command shell → Command 창의 Shell로 사용.
• Explorer shell → 데스크톱 XP의 Shell. 탐색기를 사용하는 Shell.
• Task Manager shell → 작업관리자를 Shell로 사용.
• Custom shell → user 애플리케이션을 Shell로 사용.

(5) 유저 인터페이스 코어: 파일 시스템 선택, 추가하지 않은 파일 시스템의 경우 인식을 못한다.
• FAT Format → FAT File System 지원
• NTFS Format → NTFS File System 지원

▷윈도우 XP 임베디드 개발절차
(1) 윈도우 임베디드 스튜디오 설치.
(2) 대상분석.
(3) 대상 하드웨어 정의파일 Import & 매크로 컴포넌트 작성.
(4) 디바이스 드라이버 & 애플리케이션 컴포넌트화.
(5) 컴포넌트 데이터베이스에 컴포넌트 등록하기.
(6) 컨피규레이션 작성 및 설정.
(7) Dependency Check 및 런타임 이미지 빌드
(8) FBA(First Boot Agent) 및 이미지 배포.
[그림 2] 윈도우 XP 임베디드 개발절차


◆윈도우 XP 임베디드로 ‘차량용 하이엔드 시스템’ 개발하기

필요한 장비는 아래와 같다.

- 개발용 PC, 타겟 보드, 윈도우 임베디드 스튜디오 툴킷, GPS 수신기, LVDS 패널, 터치스크린

전체 진행과정은 아래와 같다.
ezWings3 프로그램 분석하기 – Component Helper
ezWings3 Component 파일 만들기 – Component Designer
Component Database Manager에 Import 하기 – Component Database Manager
ezWings3 컨피규레이션 파일 만들기 – Target Designer
Run-Time Image Build 하기 – Target Designer
타겟 장비에서 FBA 하기 – VIA EPIA EN15000 B/D
타겟 장비에서 ezWings3 프로그램 실행하기 – VIA EPIA EN15000 B/D

▷ezWings3 프로그램 분석하기
내비게이션 애플리케이션인 'ezWings3'를 컴포넌트로 만들기 위해서는 프로그램의 파일 및 레지스트리 구조를 분석해야 하는데, 이것은 컴퍼넌트 헬퍼(Component Helper)와 디펜던시 체크(Dependency Check)라는 툴을 이용해 쉽고 간편하게 분석할 수 있다.

Component Helper 사용법에 대해 알아보자.

변경되기 전의 상태를 스캔 한다. – SCAN1
프로그램을 설치한 후 변경된 후의 상태를 스캔 한다. – SCAN2
SCAN1 과 SCAN2 를 비교 한다. – DIFF
비교가 모두 완료되면 파일 및 레지스트리 값이 추출된 것을 확인할 수 있다.


다음으로 EXE 실행파일과 관련된 DLL과 함수를 검색해주는 도구인 Dependency Walker 사용법에 대해 알아보자.-

분석하고자 하는 프로그램의 실행파일을 선택한다.

실행파일과 관련된 모든 DLL 파일들과 함수들이 트리 형식으로 보인다.

컴퍼넌트 데이터베이스 매니저(Component Database Manager)의 필터를 이용해 DLL 파일이 포함된 컴포넌트를 검색한다.
- 아래 화면은 KERNEL32.DLL 파일 관련 컴포넌트를 찾은 결과이다.

- KERNEL32.DLL : Windows API - Kernel
- USER32.DLL : Windows API - User
- ADVAPI32.DLL : Windows API - Advanced
- OLEAUT32.DLL : Primitive: Oleaut32
- VERSION.DLL : Primitive: Version
- GDI32.DLL : Windows API - GDI
- OLE32.DLL : Primitive: Ole32
- COMCTL32.DLL : Common Control Libraries Version XP SP2
- IMM32.DLL : Primitive: Imm32
- SHELL32.DLL : Primitive: Shell32
- COMDLG32.DLL : Common File Dialogs
- GNSEZDLL.DLL : ezWings 프로그램 폴더에 있는 파일
- WINMM.DLL : Primitive: Winmm

▷컴퍼넌트 디자이너(Component Designer) 툴을 활용한 ‘ezWings Component 만들기’

(1) 새로운 컴포넌트를 만든 다음에 추출해 놓은 파일들을 모두 ‘Files’ 라는 항목에 추가한다.

- 실제 파일들이 설치된 목록과 추가한 파일들이 모두 일치하는가 확인한다.
- 실제 파일 경로와 크기를 모두 확인한다.
- 불필요한 파일 및 폴더가 추가가 되었으면 삭제한다.

(2) 관련된 파일들은 모두 추가했다면 각 파일에 대한 세부 설정을 해야 한다.

- 파일 이름과 경로를 확인한다.

(3) 파일 추가 작업을 마치고 이제는 레지스트리 값을 추가하는 작업을 진행하도록 하자.
- Component Helper 로 추출한 레지스트리 값들을 추가한다.

(4) 이제 마지막 작업인 DLL 관련 컴포넌트 추가 작업이다.
- Component or Group Dependency를 선택 한 후 Component를 추가한다.


▷컴퍼넌트 데이터베이스 매니저 툴을 이용, 데이터베이스에 내가 만든 컴퍼넌트 저장하기

- 컴퍼넌트 저장 후 꼭 저장되었는지 확인해 본다.

▷Target Designer 툴을 이용해 ezWings3 컨피규레이션 파일 만들기

(1) 애플리케이션, 하드웨어, 드라이버 등의 컴포넌트, 기타 필요한 컴포넌트들을 모두 추가한다.
- ezWings3 Component
- Hardware Component
- Touch Screen Component
- GPS Component
- 필수적으로 들어가야 할 컴포넌트
Korean Language Support : 한국어 사용
Microsoft Korean IME Core : 입력도구모음 사용
Fonts: DPI-120 : Font 추가
Fonts: DPI-96 : Font 추가
Minlogon : 기본 로컬 계정만 사용
NTFS Format : NTFS 포맷지원
Regional and Language Option : 국가 및 언어설정 사용
User Interface Core : 원하는 데스크탑 UI 추가 제거

(2) EWF와 HORM 기능을 추가하기 위해서 관련 컴포넌트들을 추가한다.

- EWF 관련 컴포넌트
Enhanced Write Filter
EWF Manager Console 애플리케이션
EWF NTLDR
Background Disk Defragmentation Disable
Power Management 애플리케이션

- HORM 관련 컴포넌트
ACPI Uniprocessor PC

(3) 이제 필요한 모든 Component 들을 추가했으니 Dependency Check 실행하자.
- Dependency Check 후 불필요한 컴포넌트들은 삭제해 최적화를 한다.

(4) 최적화를 다 마쳤으면 XPE OS를 Build 한다.

FBA를 실행하여, 내가 만든 윈도우 XP 임베디드 OS가 잘 실행되는지 확인하자.

(1) 타겟 시스템에서 First Boot Agent 구동하기.
- 빌드가 완료된 XPE OS 파일을 타겟 시스템의 저장장치에 복사 한다.
- 복사가 다 되면 타겟 시스템을 부팅을 시켜 FBA를 수행한다.
- S/W 와 H/W의 Plug and Play Detection 과정이 진행된다.


▷ezWings3 프로그램 실행하기
FBA 과정이 끝나고 나면 시스템을 부팅시켜 프로그램이 구동되는 지 확인한다.

- 시스템이 부팅이 되면 Custom Shell 이 작동된다.
- DST shell, Touch Screen, GPS, ezWings3, Gom, Windows Explorer, Internet Explorer

- eWings3 Navigation을 실행시킨 화면을 보자.


이제까지 윈도우 XP 임베디드로 애플리케이션을 컴포넌트화 하고 컨피규레이션 단계를 거쳐 윈도우 XP 임베디드 런타임 이미지를 빌드하는 방법에 대해서 알아봤다.

이런 간단한 방식으로 오피스 등의 업무에 필요한 컴포넌트를 추가해 디바이스를 구축할 수 있다면 차 안에 나만의 사무실을 꾸며놓고 업무를 보는 일이 곧 보편화 되지 않을까.@

저자소개:신승운씨는 현재 임베디드 솔루션전문기업이자 마이크로소프트 윈도우 임베디드 OS 총판인 디에스티 기술팀에서 윈도우 XP 임베디드 담당 SE로 활동하고 있다.
:

http://www.zdnet.co.kr/news/enterprise/dev/0,39031103,39156713,00.htm

[특집] 필요한 것만 골라서 척척…맞춤형 OS「윈도우 XP 임베디드」

임혜선 (임베디드 시스템 엔지니어)   2007/04/23
xpembedded
MS
DST
“마이크로소프트(MS)의 윈도우 XP”

전세계 컴퓨터 사용자라면 이미 귀에 익숙한 운영체제(OS)일 것이다.

그렇다면 마이크로소프트 윈도우 XP 임베디드(Embedded)는?


고개를 갸우뚱하는 이들이 많을 것이다. 하물며 실제로 컴퓨터와 가장 밀접한 곳에서 일하고 있는 개발자들도 역시 윈도우 XP 임베디드는 윈도우 XP의 사촌쯤 되는 운영체제로만 인식하고 있을 뿐 그 차이점에 대해서 구체적으로 알고 있는 사람은 드물다.

하지만 두 운영체제는 사용 용도와 특징, 개발방법 등에서 확연한 차이점을 지니고 있다.

우선 윈도우 XP 임베디드는 ‘윈도우 XP 프로’와 동일한 바이너리를 기반으로 개발됐기 때문에 동일한 기능과 안정성을 제공한다. 단, 윈도우 XP 프로와 달리 컴포넌트 형태로 돼 있어 필요한 기능만 선택해 개발할 수 있다는 특징이 있다.

또 XP 임베디드는 윈도우 XP 프로와는 달리 개인용 컴퓨터에 설치 및 사용할 수 없다. 즉 DVR, ATM, POS 등의 어떤 특정 용도의 목적을 가진 임베디드 시스템 개발에만 사용이 가능하다.

윈도우 XP 임베디드를 쉽게 말하면 마이크로소프트사가 편리한 개발환경을 제공함과 동시에 개발기간의 단축과 기기의 안정성 등을 보장하는 그야말로 임베디드 시장만을 노리고 개발해낸 운영체제인 것이다.

그렇다면 이제부터 윈도우 XP 임베디드의 특징과 장점, 아울러 윈도우 XP 프로와의 차이점에 대해서 좀더 자세히 살펴보도록 하자.

◆윈도우 XP 프로의 컴포넌트 버전 '윈도우 XP 임베디드'

윈도우 XP 임베디드의 특징은 무엇보다 데스크톱 OS인 윈도우 XP 프로의 강력한 최신 기술을 다수로 나누어진 컴포넌트 형태로 제공하는 것이다.

이미 시장에서 증명된 윈도우 XP 프로의 강력한 기능과 성능, 안정성 등을 약 10,000개 이상으로 나누어진 바이너리 컴포넌트 형태로 제공함으로써, 개발자는 이러한 윈도우 XP의 최신 기술을 보다 작은 크기로 집약해 최적화된 32비트 OS 플랫폼을 개발할 수 있으며, 특히 윈도우 미디어 테크놀러지(Windows Media Technologies, WMT)를 위시한 최신의 멀티미디어 기능과 인터넷 익스플로러와 같은 최신 웹 브라우징 기술, 임베디드 시장에서 필요로 하는 여러 특화된 기술, 즉 Embedded Enabling Features(이하 EEF)를 지원한다.

특히 EEF 기능은 headless 장치 지원 및 Enhanced Write Filter, El Torito CD, 향상된 전원 관리 라이브러리와 다양한 부팅 및 스토리지 장치 지원 등을 포함하고 있어 임베디드 시장의 요구 사항들을 만족시킨다.

윈도우 XP 임베디드는 보다 간단하면서도 강력한 개발 툴과 기본적으로 약 9,000개 이상의 장치 드라이버를 기본적으로 제공하며, 기존 애플리케이션 또는 장치 드라이버를 수정 없이 그대로 사용할 수 있다.

또한 새로 개발하는 경우에도 윈도우 XP와 완벽하게 호환되기 때문에 애플리케이션 역시 동일한 환경, 동일한 기술로 개발할 수 있다. 그러므로 개발에 소요되는 시간과 비용을 최소화해 보다 유리한 조건으로 빠르게 시장을 선점할 수 있는 기회를 제공한다.

아울러 표준화된 x86 PC 하드웨어 플랫폼을 대상으로 하고 있어 하드웨어 플랫폼 개발 또는 선정에 보다 폭넓은 기회를 제공한다.

◆윈도우 XP 임베디드, 이래서 좋다

윈도우 XP 임베디드의 장점을 나열하면 다음과 같다.

윈도우 XP 임베디드의 장점:
▷데스크톱 XP의 컴포넌트화 버전
-XP PRO SP2 기반의 기능과 이점을 활용.
-11,000개 이상의 컴포넌트로 최적화된 임베디드 OS 구성 가능.

▷개발시간의 단축
-편리한 개발도구인 XP 임베디드 스튜디오
-기존의 데스크톱 어플리케이션과 x86 플랫폼 활용.

▷시스템 안정성
-데스크톱 XP의 커널과 거의 100% 동일
-EEF(Embedded Enabling Features)가 추가되어 임베디드 고객 및 시장의 요구를 수용
-EEF를 통한 추가적인 기능 및 안정성 확보

▷전세계 23개국 언어지원
-툴킷 하나로 23개국의 언어의 폰트(font)및 코드페이지, MUI를 지원한다.
-프랑스어/독일어/일본어/포르투갈어/포르투갈어(브라질)/스페인어/중국어(간체)/중국어(번체)/네덜란드어/이탈리아어/한국어/노르웨이어/덴마크어/핀란드어/그리스어/폴란드어/스웨덴어/터키어/아라비아어/체코어/히브리어/헝가리어/러시아어


위 내용 중 EEF(Embedded Enabling Features) 기능은 XP 프로에는 없는 임베디드 디바이스에 강력한 이점을 주는 기능이다.

그러면 XP 임베디드의 EEF 기능에 대해서 좀더 구체적으로 살펴보자.

Embedded Enabling Features:
①Enhanced Write Filter(EWF)
파티션의 쓰기동작을 Overlay 공간으로 전환해 하나 이상의 볼륨의 쓰기 방지를 하는 기능이다. 시스템을 재부팅하면 그 동안의 쓰기내용은 사라진다. 심각한 오류나 바이러스로부터 OS를 보호 할 수 있다.

②File Based Write Filter(FBWF)
파일 또는 폴더 단위로 쓰기 방지를 하는 기능으로, Feature Pack 2007부터 제공된다.

EWF의 Protected 파티션과 다른 파티션의 파일을 보호할 경우 같이 사용이 가능하다.

③Hibernate Once, Resume Many(HORM)
EWF와 함께 사용하는 기능으로써, 시스템 부팅 시 Hibernation Image만을 RAM에 Load하여 부팅을 진행하기 때문에 빠른 부팅시간을 제공한다.

시스템 파워를 차단하거나 일시적인 정전이 되더라도 사용할 수 있다.

④Remote Boot(Diskless System)
Remote로 booting하여 Diskless system 구현을 할 수 있다.

⑤El Torito CD Boot
OS를 부팅 가능한 CD로 만들어 CD-R 미디어에서 부팅할 수 있는 기능.

⑥USB2.0 Boot
USB 메모리 스토리지로 OS를 부팅할 수 있는 기능.
FeaturePack2007부터 제공한다.

⑦Remote Management Method
XP 임베디드에 QFE를 적용하고 응용프로그램 업데이트 및 디바이스 드라이버를 업데이트 할 수 있는 기능이다. 기능 및 종류에 따라 3가지로 나뉜다.
-Device Update Agent (DUA)
-System Update Service (SUS)
-System Management Service (SMS)


임베디드 시스템은 한번 구축되면 변경될 일이 거의 없는 시스템이다. 그렇기 때문에 EWF 기능을 사용한다면 상당히 안정적인 시스템을 완성할 수 있다.

이번엔 앞서 언급했던 XP 임베디드와 XP 프로의 차이점을 짚고 넘어가도록 하자.

윈도우 XP 임베디드와 XP 프로는 용도, Footprint, OS사이즈, 윈도우 업데이트, OS Protection 기능 지원여부, 정품인증, 설치방법 등의 항목을 통해서 아래 표와 같이 구분 지을 수 있다.

위와 같이 윈도우 XP 임베디드는 XP 프로의 기능과 성능, 안정성 등을 컴포넌트 형태로 제공해 개발자가 필요한 기능만을 선택, 최적화하여 사용할 수 있도록 했다는 장점이 있다.

최근 윈도우 XP 임베디드는 디지털정보디스플레이(DID), 고성능 셋톱박스, POS, 키오스크, ATM, 의료기기 등 고성능의 다양한 임베디드 시스템에 적용되고 있다.@

저자소개:임혜선씨는 현재 임베디드 솔루션전문기업이자 마이크로소프트 윈도우 임베디드 OS 총판인 디에스티 기술팀에서 윈도우 XP 임베디드 담당 SE로 활동하고 있다.

:
http://www.zdnet.co.kr/news/enterprise/os/0,39031185,39156724,00.htm

[특집] 윈도우 XP 임베디드 플랫폼의「전략과 미래」

서진호 (임베디드 SW 전문가)   2007/04/23
xpembedded
Microsoft
우리 주위를 둘러보면 어렵지 않게 임베디드(Embeded) 기기를 접할 수 있다.

가령 고속철(KTX), 지하철 천정에 걸려 있는 디스플레이 모니터부터 PDA, 스마트폰 등의 모바일 기기들을 비롯해 로봇, 텔레매틱스, 공장 자동화, 군사기기, 센서 노드에 이르기까지 생활 주변에서 쉽게 접할 수 있는 디지털 제품은 모두 임베디드 기기라고 볼 수 있다.

즉 임베디드 기기를 간단하게 정의하면 ‘디지털 기기들에 컴퓨터가 내장돼 배터리를 적게 소모하는 강력한 시스템’이다.

편집자주:전세계 임베디드 산업의 현주소를 알아보고 마이크로소프트의 임베디드 플랫폼의 전략과 미래를 살펴본다. 또한 미래 임베디드 산업이 앞으로 어떻게 흘러갈지에 대해서도 논의해 보도록 하겠다.


◆윈도우 임베디드의 시작
해외 모 임베디드 커뮤니티 사이트에 접속하는 유저를 대상으로 온라인 설문조사를 실시한 결과 (*그림1 참조) 지난 2년간 가장 많이 사용한 임베디드 플랫폼은 '윈도우 임베디드 CE'인 것으로 나타났다.

임베디드 CE는 조사결과 21.2%를 차지했고 '윈도우 모바일'과 '윈도우 XP 임베디드'가 16.6%로 공동 2위를 차지했다. 이 밖에 리눅스가 13.2%로 그 뒤를 이었다.

또 ‘향후 2년간 귀사가 선택할 임베디드 플랫폼은 무엇인가’에 대한 물음에선 윈도우 임베디드 CE가 여전히 1위를 자리를 고수했고, 윈도우 XP 임베디드가 20.5%로 그 뒤를 이었다.
[그림1]윈도우 포 디바이스 닷컴 온라인 설문 조사

마이크로소프트사(MS)의 윈도우 임베디드 플랫폼에는 우리에게 잘 알려진 윈도우 임베디드 CE 와 윈도우 XP 임베디드가 있다.

윈도우 XP 임베디드란 일반 PC 형태의 임베디드 컴퓨팅으로써 x86 프로세서에서만 동작하기 때문에 실시간 기능성은 제공하지 않는다. 하지만 풍부한 PC 하드웨어 컴포넌트 및 드라이버를 제공해 안전하고 강력한 임베디드 시스템을 개발할 수 있게 해준다.

윈도우 XP 임베디드의 시작은 MS-DOS이다. 정확하게 말해서 문자 기반의 운영체제를 사용할 때 부터라고 할 수 있다. 그 당시에 모든 임베디드 운영체제는 펌웨어와 같은 텍스트 기반 형태였다(그림2 참조).
[그림2] 텍스트 명령 형태의 DOS 임베디드 시스템

그 이후 그래픽 사용자 인터페이스를 데스크톱 PC에서 윈도우 3.1이라는 이름으로 시작하게 됐는데 임베디드 분야에서 롬(ROM)에 탑재해 사용할 수 있도록 개발자들에게 처음으로 제공했다.

1995년부터는 8비트(bit)나 16비트의 임베디드 프로세서가 막을 내리고 본격적으로 i80386과 같은 32비트 프로세서를 포함하는 임베디드 시장이 형성되기 시작했다.

그리고 끊임없는 발전을 통해서 마침내 펜티엄 프로세서가 출시됐고 개발자들은 뛰어난 처리 속도와 그래픽 성능 향상으로 사람과 기계 사이에 강력한 인터페이스를 탑재한 임베디드 시스템을 개발하게 된다.

그러나 RTOS나 임베디드 커널에 익숙한 임베디드 개발자라면 윈도우 95나 윈도우 NT를 탑재한 임베디드 운영체제에 대해서 헛갈릴 수 있다.

그래서 윈도우와 호환 가능하면서 RTOS 기능과 임베디드 커널을 탑재한 임베디드 운영체제 프로젝트가 시작됐는데 이것이 바로 ‘윈도우 임베디드 CE’였다.

윈도우 임베디드 CE란 임베디드 시스템과 가전 제품에 사용할 목적으로 개발된 운영체제.

이는 개발자들에게 Win32 API와 같은 익숙한 윈도우CE API를 제공한다.

당시 임베디드 개발자들에게 윈도우 95, 윈도우 NT에서 볼 수 있었던 API 나 MFC를 지원했는데, 데스크톱PC에서 지원하던 Win32 API를 배터리 절약과 플래쉬 메모리에 맞게 쓸 수 있도록 개량한 WinCE API가 큰 호응을 얻었다.

WinCE API는 Win32 API와 같이 뛰어난 사용자 인터페이스 API를 제공하며 강력한 멀티미디어 기능을 임베디드 환경에서 구현할 수 있도록 했다.

◆윈도우 XP 임베디드 환경에서의 개발
윈도우 XP 임베디드 환경에서 개발이란 윈도우 XP 임베디드 스튜디오 안에 포함돼 있는 약 1만 2,000개의 컴포넌트를 서로 조합해 배포하면 끝난다.

그 이유는 윈도우 임베디드 CE처럼 멀티 CPU를 지원하지 않기 때문에 각 장치 속에 있는 CPU에 맞게 포팅(Porting)하는 일련의 작업이 생략돼 코어 부분을 편집할 필요가 없다.

윈도우 XP 임베디드 스튜디오라는 강력한 개발 및 배포 도구만 있다면 쉽고 편리하게 대상 디바이스에 제공할 수 있다.
[그림3]윈도우 XP 임베디드 환경에서의 전체 개발 절차

그림3에서 보듯 윈도우XP 임베디드 환경에서 모든 개발 절차는 리눅스나 윈도우 임베디드 CE와 같은 타 임베디드 운영체제 개발과 차이점을 두고 있다.

예컨대 쥬크박스와 같은 동영상 및 음악을 듣는 기기를 만든다고 가정해 보자.

우선 쥬크박스와 같은 타겟 장치의 하드웨어 및 드라이버 정보를 타겟 분석기로 정의한 다음 최종 고객이 사용할 사용자 인터페이스를 담은 응용 프로그램을 바이너리 형태로 컴포넌트 디자이너에게 제공한다.

그러면 개발자들은 컴포넌트 디자이너를 통해 윈도우 미디어와 다이렉트X 기술과 같은 필요한 컴포넌트를 추가 또는 삭제를 한다. 그리고 최종적으로 타켓 장치에 배포시킨다.

또한 응용 프로그램은 비주얼 스튜디오 2005(Visual Studio 2005)와 같은 개발 도구로 데스크톱PC에서 사용하던 Win API를 그대로 이용할 수 있다.

이는 데스크톱PC 응용 프로그램과 100% 호환 가능하므로 특별히 윈도우 XP 임베디드 환경을 위해 응용 프로그램을 개발할 필요가 없는 것이 큰 장점이다.

이런 절차는 윈도우 NT 임베디드 플랫폼부터 정착돼 지금의 윈도우 XP 임베디드 운영체제 플랫폼의 ‘조상’격이 됐다. 윈도우 NT의 데스크톱 특성을 전부 컴포넌트로 나눠 쉽게 개발할 수 있고 배포할 수 있도록 제공된 것이다.
[그림4] 윈도우 XP 임베디드 스튜디오

그림4는 윈도우 XP 임베디드 스튜디오라고 부르는 개발 배포 도구 중 대상 디자인에서 최종 단계로 빌드되고 있는 모습이다.

윈도우 XP 임베디드의 최신 버전은 .NET 프레임워크 2.0 기반의 윈도우 XP 임베디드 FP 2007 버전이다.

윈도우 XP 임베디드 스튜디오에서는 약 1만 2,000개 이상의 컴포넌트가 수록돼 있고 개발자들에게 표준 Win32 API를 제공하며, 게다가 데스크톱 운영체제와 동일한 장치 드라이버를 사용할 수 있도록 제공해 준다.

특히 윈도우 XP 임베디드 FP 2007부터는 USB 2.0 부팅을 할 수 있도록 지원해 주며, PCMCIA와 CF 카드와 같은 외부 장치와 더불어 IEEE 1394 및 제거할 수 있는 미디어 카드 (SD 카드, 플래시 카드, 소니 메모리 스틱, 멀티미디어 카드)를 모두 제공한다.

그리고 윈도우 XP 임베디드 컴포넌트 중에 가장 많이 사용하고 있는 인터넷 익스플로러 6.0, 윈도우 미디어10 버전을 지원한다.

거기에 비디오, 마우스, 키보드 없이 스스로 동작하는 헤드리스 장치 지원과 더불어 TCP/IP 연결을 통한 원격 접속 기능을 제공해 준다.

이런 컴포넌트를 통해 한층 더 세련된 임베디드 응용 프로그램을 개발할 수 있으며, 컴포넌트의 독립성을 세분화시켰고 드라이버 또한 제공된다. 그리고 더 나아가 더 많은 임베디드 시스템이 PC와 서버와의 통합뿐 아니라 컴포넌트화된 운영체제를 요구해 한층 더 발전된 모습을 볼 수 있다.

◆인터넷에 연결된 장치로 발전
최근 웹 2.0 트렌드가 IT 전반적인 산업에 끼치는 영향은 크다. 임베디드 산업 분야에서도 예외가 아니다.

진정한 웹 2.0이란 단순히 웹 서비스 이상만 추구하는 것이 아니라 고객들에게 더 새로운 경험을 주기 위해서 웹 2.0과 연동된 장치를 필요로 한다.

즉 어떤 플랫폼이든 어떤 장치이든지 간에 고객들이 동일한 인터넷 경험을 할 수 있게끔 제공돼야 한다.

그동안 임베디드 장치들은 텍스트 기반으로 웹 경험을 하거나 전체 웹 사이트의 크기를 줄여 보았기 때문에 웹 경험이 매우 불편했다.
">[그림5] 딥 피쉬, 풀 브라우징을 지원하는 새로운 모바일 웹 브라우저

그림 5에서 보듯 최근 윈도우 라이브 랩에서 발표한 ‘딥피쉬(DeepFish)’는 PC의 웹 브라우징 경험을 그대로 할 수 있게 끔 임베디드 장치에서 제공한다.

필자가 소유한 MIT-450폰으로 다음(www.daum.net) 사이트를 접속해 보니 텍스트 파일의 손상 없이 잘 구현됐다.

이는 올 3월 20일 마이크로소프트사가 주관한 ‘윈도우 임베디드 OEM 테크니컬 세미나’에서 언급됐던 “디지털 라이프에서 향후 임베디드 장치가 인터넷 연결성을 가지는 의미가 크다”라는 내용을 여실히 증명해 주고 있다.
[그림6] 윈도우 XP 임베디드 로드맵

그림 6은 향후 윈도우 임베디드 로드맵을 나타낸 것이다.

올해는 윈도우 모바일6 과 윈도우 XP 임베디드 FP 2008 버전을 모바일/임베디드 개발자 컨퍼런스(MEDC)를 통해 발표할 것이다.

윈도우 XP 임베디드 FP 2008은 윈도우 XP 임베디드 FP 2007 버전의 다음 버전으로 .NET 프레임워크 3.0과 인터넷 익스플로러7 그리고 윈도우 미디어 플레이어11와 같은 최신 컴포넌트를 임베디드 장치에서 사용할 수 있게 제공해준다.

또 웹과 데스크톱의 동일한 경험과 더불어 문서와 미디어의 통합, 3차원 세계의 인터페이스를 지향하는 윈도우 비스타(Windows Vista) 임베디드 버전이 코드명 ‘퀸얼트(Quinault)’로 준비 중이다.

그동안 비트맵 파일은 리소스 점유율이 높아 무겁고 다이렉트X와 같은 기술을 구현하기가 어려운 기술을 텍스트 문서에서 간단히 XML(XAML)로 정의하면 벡터 그래픽 방식으로 렌더링 돼 더욱 동적이고 풍부한(Rich) 응용 프로그램을 임베디드 장치에서 구현할 수 있다.

이 같이 마이크로소프트는 임베디드 산업 분야에서 지속적으로 고객들의 요구사항인 쉽고 편리한 사용자 인터페이스와 안전한 보안 기능을 차츰 개선해 나가고 있다.@

저자소개:서 진호씨는 한국 마이크로소프트에서 임베디드 개발자 에반젤리스트로 활동하고 있으며, 윈도우 임베디드 관련 기술을 학교와 기업에 널리 전파하고 있다. 온라인 블로그(http://blogs.msdn.com/jinhoseo)를 운영하고 있다.


참고자료:
Windows For Device.com 온라인 설문 조사
http://www.windowsfordevices.com/cgi-bin/survey/survey.cgi?view=archive&id=02142005172129
윈도우 임베디드 OEM 테크니컬 세미나
http://www.microsoftembeddedseminars.com/Agenda.aspx?seminarid=35
모바일/임베디드 개발자 컨퍼런스
http://www.medc2007.com
윈도우 임베디드 블로그
http://blogs.msdn.com/mikehall
한국 모바일/임베디드 개발자 블로그
http://blogs.msdn.com/jinhoseo
딥피쉬 프로젝트
http://labs.live.com/deepfish/
:
Microsoft Windows Embedded - Embedded Devices, Embedded Technology and Embedded Development, presented by Microsoft Windows Embedded
http://www.microsoft.com/windows/embedded/default.mspx

:

세미나 자료 포함

http://www.microsoftembeddedseminars.com/Agenda.aspx?seminarid=35

General Session I
Connected your digital life : Microsoft Windows Embedded Strategy and Vision (Windows Embedded CE 6.0, Windows XP Embedded FP 2007)
- 서진호 차장 / 한국마이크로소프트
General Session II Introduction to .NET Micro Framework
- Michaeline Stiles / Marketing Manager / Microsoft Corporation.
Warren Dent / Director of .NET Frame MF Team / Microsoft Corporation
  Windows Embedded CE Application Track Windows Embedded CE Device Track Windows XP Embedded Track
Session I 프로세스/메모리가 확장된 CE 6.0 통합 커널
- 김정욱 차장 /
한국마이크로소프트
CE 6.0에서 Build
시스템과 절차 이해

- 백원석 과장  /  
Advantech Technologies
Windows XP Embeded
Feature Pack 2007의
새로운 기능

- 김대환 대리  /  
Advantech Technologies
Session II
CE 6.0 에서의 USB
디바이스 드라이버 제작

- 송준호 선임연구원  /
 ㈜하제소프트
CE 6.0 에서의 전원 관리 기법
- 김재형 차장  /
  DST
Windows XPE로
Kiosk 와
High-End Navigation
개발방법 및 구현사례

- 임혜선 대리  /
  DST
Session III
Visual Studio 2005를
이용한 CE 6.0
응용프로그램 개발

- 성수현 대리 /
DST
Windows Embedded
CE 6.0의 부트로더 개발
- 윤준호 대리 /
Advantech Technologies
Visual Studio 2005로
WEPOS 응용 프로그램
개발
- 김종진 사장 /
진소프트



:

http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=dd567053-f231-4a64-a648-fea5e7061303

Microsoft Device Emulator 2.0 -- 독립 실행형 버전

개요
Microsoft Device Emulator 2.0은 ARM 기반 장치를 위해 공식적으로 릴리스된 Device Emulator의 두 번째 버전입니다. 이 에뮬레이터는 Windows Embedded CE 6.0의 적용 키트(AK: Adaptation Kits)와 함께 릴리스됩니다.

Device Emulator 2.0 버전에는 Visual Studio 2005와 함께 제공된 1.0 버전에서와 동일한 실행 파일 및 DLL이 포함됩니다. 이 버전의 에뮬레이터에서는 성능 및 일부 새로운 기능이 업그레이드되었습니다. 이 버전을 설치하면 Visual Studio 2005와 함께 설치되었던 에뮬레이터를 바꿉니다.

:

RTOS STATE OF THE ART

2007. 3. 11. 20:37
윈도우 임베디드 CE 6.0 몇 경성 실시간 임베디드 시스템 관련 글


RTOS STATE OF THE ART
- Understanding RTOS Technology and Markets?

http://download.microsoft.com/download/4/d/e/4de00440-1eba-43b4-98e4-aa0bcdc21385/sta_rtos_11.pdf
:

사이트 : http://blog.naver.com/jay_korea


Windows CE 6.0 소개...
http://blog.naver.com/jay_korea/30006406879

Windows CE 6.0 소개 - 2
http://blog.naver.com/jay_korea/30006414586

Windows CE 6.0 소개 - 3
http://blog.naver.com/jay_korea/30010425319

Windows CE 6.0 소개 - 4
http://blog.naver.com/jay_korea/30010878068

Windows Embedded CE 6.0의 새로운 기능들...
http://blog.naver.com/jay_korea/30010911152

Windows Embedded CE 6.0 개발 도구
http://blog.naver.com/jay_korea/30010914104

Platform Builder 6.0 을 사용해 보자...
http://blog.naver.com/jay_korea/30010918434

Platform Builder 6.0 을 사용해 보자... 2
http://blog.naver.com/jay_korea/30010921850

Platform Builder 6.0 을 사용해 보자... 3
http://blog.naver.com/jay_korea/30010924126


:
디지털 컨버전스의 핵심, Windows Embedded CE 6 웹 캐스트 시리즈

http://www.microsoft.com/korea/events/Embedded/default.mspx


드디어 디지털 컨버전스의 핵심인 Windows Embedded CE 6.0이 새롭게 발표 되었습니다!!
특히 이번 Windows Embedded CE 6.0은 커널을 재 설계하여 모바일/임베디드 개발자들에게 더 풍부한 메모리와 프로세스를 사용할 수 있도록 지원해 줍니다. 또한 CE 6.0의 커널 소스를 100% 공유하여 그 동안 궁금했던 개발자들에게 많은 도움을 드리게 될 것 입니다. 이번 웹 캐스트 시리즈는 Windows Embedded CE를 처음 배우는 초보자나 지방에 계셔서 서울 행사를 참여할 수 없는 분들, 그리고 기존의 Windows CE 5.0 개발자 등을 위하여 실제 사용 위주의 데모 구성으로 쉽고 재미나게 커널부터 부트로더, OAL 및 장치 드라이버, 그리고 응용 프로그램 개발까지 총망라하여 8편으로 구성 했습니다.

‘Windows Embedded CE 6 웹 캐스트 시리즈’를 통해 디지털 컨버전스의 핵심이 무엇인지 파악하고 준비하는 임베디드 개발자가 되시기 바랍니다.

세 션 강 사 보 기
모바일/임베디드 개발자를 위한
새로운 Windows Embedded CE 6.0 커널 아키텍처
한국마이크로소프트
서진호 차장
새롭게 Visual Studio 2005에 통합된
Windows Embedded CE 6.0 Platform Builder
Windows Embedded CE 6.0의 BSP 및 Boot Loader 개발
Windows Embedded CE 6.0 OEM Adaption Layer 이해 하제소프트
이봉석 대표이사
Windows Embedded CE 6.0 에서 장치 드라이버 개발 한국마이크로소프트
서진호 차장
터치 패널을 통해 살펴 본
Windows Embeded CE6.0 장치 드라이버 사용법
하제소프트
이봉석 대표이사
Windows Embedded CE 6.0 에서 응용 프로그램 개발 WinCE LAB
고재관 시삽
Windows CE 5.0 BSP를 Windows Embedded CE 6.0 으로 포팅하기 DST Coporation
성수현 대리
한국마이크로소프트 임베디드 개발자 에반젤리스트
MSDN 블로그 운영자 (http://blogs.msdn.com/jinhoseo)
한국 모바일/임베디드 개발자 컨퍼런스 (2003~2006)
OEM Technical Seminar 강사
Windows Mobile Devices MVP (2001~2006)
현 ㈜하제소프트 대표이사
‘Windows CE 5.0 실전가이드’ 책 저자
MEDC 2006 및 OEM Technical Seminar 스피커
HP 및 MDS 테크놀로지 교육센터 전임 강사
PDAlab.org 대표 (Windows Embedded CE 개발자 커뮤니티)
Windows Embedded CE 기반 응용프로그램 개발 전문가
모바일 프로젝트 매니저 (삼성전자, KT 등 다수)
모바일 솔루션개발 (KT&G, 우리홈쇼핑, 삼성경제연구소 등 다수)
Embedded CE 개발 도서 저자
MEDC, COMDEX 등 스피커 및 강의활동
Microsoft Windows CE 5.0 MOC 강사
Embedded Community 활동 (WECOM)
Windows CE용 2 Character LCD Device Driver 개발
Windows CE 포팅
Microsoft 스피커 (MEDC, OEM Technical Seminar 등) 활동
MSDN 웹 캐스트 시리즈 - Windows Embedded CE 6.0을 모두 보신 분들은 다음의 웹 사이트에서 Windows Embedded CE 6.0 플랫폼 빌더 평가판을 다운로드 받고 직접 실행해 볼 수 있도록 HOL 자료를 제공 합니다.
Windows Embedded CE 6 가상 실습 (영문)

Windows Embedded CE 6.0 플랫폼 빌더 평가판 다운로드 (영문)

Windows Embedded CE 6 실습교재 (한글)
:

BLOG main image
by 오직너를

공지사항

카테고리

분류 전체보기 (34)
Android (1)
Windows CE (18)
컬럼 (1)
용어설명 (4)
Python (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total :
Today : Yesterday :