Transcript 슬라이드 1
Windows CE.NET 개요
개요
Windows CE 3.0의 후속 버전
초기부터 임베디드 운영체제 시장을 위해 설계
임베디드 시스템을 위한 실시간 운영체제
차세대 스마트 모바일 장치 및 메모리를 적게 차지하
는 장치를 신속하게 개발할 수 있도록 지원
모든 운영 체제 기능 및 완벽한 개발 환경을 제공
풍부한
풍부한
사용자
필요한
Windows CE.NET
네트워킹, 하드 실시간, 적은 메모리 점유율,
멀티미디어, 웹 브라우징 기능 등
정의 Windows CE 기반 장치를 개발하는 데
모든 기능을 포함
2
구조
Applications
Embedded Shell
Remote
Connectivity
Windows CE Shell Services
WIN32 APIs
COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Kernel
Library
GWES
File
Manager
Device
Manager
IrDA
OAL
Bootloader
Drivers
Device
drivers
TCP/IP
File drivers
OEM Hardware
Windows CE.NET
3
특 징 (1)
작은 시스템을 위한 OS
기능
메모리 용량
Kernel + File system
200KB
+ Communication
800KB
+ Graphics and Shell
1.3MB
+ Applications (Pocket Word)
4MB
+ Internet Explorer
8MB
Windows CE.NET
4
특 징 (2)
다양한 하드웨어 지원
Core
Model
ARM
ARM720T, ARM920T, ARM1020T, StrongARM,
Xscale
MIPS
MIPS II/32 w/FP, MIPS II/32 w/o FP, MIPS16, MIPS
IV/64 w/FP, MIPS IV/64 w/o FP
SHx
SH-3, SH-3 DSP, SH-4
x86
486, 586, Geode, Pentium I/II/III/IV
PPC
PPC403, MPC823, MPC850, MPC860 -> .NET부터
미지원.
Windows CE.NET
5
특 징 (3)
표준 API, 프로그래밍 모델 및 도구 사용
Win32 API 제공
지원 안함 : MS-DOS, Win 3.X , ODBC, OLE
지원 : 데이터베이스, MFC, COM, ATL
OS 구성의 모듈화 및 ROM 부팅
200여개의 모듈로 되어 있음
각 모듈은 LIB 형태로 나뉘어 있음
압축되지 않은 운영체제 이미지는 ROM에서 실행가능
Windows CE.NET
6
특 징 (4)
실시간 지원(Real Time Support)
이전 버전 Windows CE :일부 실시간
Windows CE 3.0 : 커널부터 실시간
Windows CE.NET : 다양한 실시간 기능
256 levels of thread priority, Nested Interrupts
Per thread quantum, improved timer accuracy
Priority Inheritance Protocol to overcome Priority
Inversion Problem
다기능(강력한) 제품에 사용 – 고급기능
고급응용서비스, 통신, 데이터베이스, 브라우저, 지역화,
멀티미디어, 디스플레이, 보안
Windows CE.NET
7
특 징 (5)
효과적인 개발환경
플랫폼 빌더(Platform Builder)
Windows CE.NET
정의: Windows CE 운영체제 이미지를 만들기 위한 개발 도구
운영 체제의 구성 요소(components)들을 선택하고 하드웨어
에 맞는 드라이버들을 빌드하여 운영체제 이미지 만듬
에뮬레이터, 보드 지원 패키지(BSP) 마법사, 커널 디버거, 원
격 도구, Windows CE 테스트 키트, 카탈로그 등의 기능이 포
함
8
특 징 (6)
효과적인 개발환경 (계속)
eMVT (eMbedded Visual Tools)
Windows CE.NET
CE 운영체제용 응용프로그램 개발도구
eMbedded Visual C/C++와 eMbedded Visual Basic을 포함
Windows CE용 MFC 및 ATL을 지원
원격 프로세스 뷰어 또는 원격 레지스트리 편집기와 같이 응용
프로그램 개발할 때 유용한 일련의 원격 도구와 원격 디버거를
포함
eMVT는 독립된 IDE로 홀로 설치될 수도 있으며, 기존 Visual
Studio.NET(사실상 Visual Studio 7.0 버전)과 함께 설치
9
특 징 (7)
강력한 제품 사용
고급 응용 서비스: DCOM, Active X, MSMQ (Message Queue
Service)
통신: 직렬, TAPI, 인터넷 연결 공유(ICS), PPTP, IrDA, TCP/IP,
FTP, HTTP, 웹 서버, UPnP, SNMP, 원격 데스크탑 프로토콜
데이터베이스: CE 데이터베이스 API(Win32), OLEDB, ADOCE,
SQL Server 2000 Windows CE Edition
브라우저: HTML 3.2 브라우저 또는 Internet Explorer 4.0 호환
브라우저 지원
지역화: 유니코드 기반. 한국어, 네덜란드어, 영어, 프랑스어, 독
일어, 이탈리아어, 일본어, 포르투갈어(브라질) 등
멀티미디어: DirectX, DirectShow, DirectDraw 및 DirectSound
디스플레이: 터치 스크린, 일반 디스플레이, 흑백으로 픽셀 당
32 비트(bpp)로 실행되는 장치 등을 지원
보안: Kerberos 보안 프로토콜 및 SSL(Secure Sockets Layer)
Windows CE.NET
10
제공
특 징 (8)
세밀한 전원관리
전원 꺼짐: 이 상태에서는 CPU가 꺼지고 RAM에 전원을 공급하
지 않는다. (모든 플랫폼 장치가 꺼져 있는 상태.)
켜짐: 표준 실행 모드. CPU가 실행되어 스레드를 예약하고,
RAM과 모든 플랫폼 장치에 전원을 공급한다.
유휴 상태: 이 상태에서는 실행되는 스레드가 없고 CPU는 일시
중단 모드에서 인터럽트 예외만 관리한다. RAM에는 전원이 공
급되어 모든 값이 유지하지만 그 외 모든 장치가 켜져 있다.
일시 중단: 이 상태에서는 실행되는 스레드가 없고 CPU는 일시
중단 모드이며 타이머 인터럽트가 중단된다. RAM에는 전원이
공급되어 모든 값이 유지하지만 그 외 모든 장치가 켜져 있다.
위험 전원 꺼짐: 이 상태에서는 CPU가 일시 중단되며, RAM은
자동 새로 고침 상태로 에너지 소비가 가장 적다. 모든 플랫폼
장치가 꺼져 있다.
Windows CE.NET
11
적용 분야
Windows CE.NET
12
Board Support
Package(BSP)
BSP (1)
개요
Boot loader, OEM Adaptation layer(OAL), Device Drivers
BSP
Drivers
OAL
Configuration files
Boot Loader
SDB (Standard Development Board)
Windows CE.NET
14
BSP (2)
Boot Loader
주로 사용자가 작성한 커널을 다운로드 하는데 사용
Serial, Ethernet을 지원. 주로 Ethernet을 사용
TFTP 프로토콜을 사용하여 데이터를 다운로드
IP address 설정(static IP or DHCP)
target 보드는 BOOTME packet을 보낸다
Platform Builder에서는 응답을 한다.
TFTP 프로토콜을 사용하여 데이터를 수신한다.
주요 기능
Windows CE.NET
메모리와 인터럽트 컨크롤러 초기화
클럭 및 MMU 설정
커널 다운로드
메모리 테스트
15
BSP (3)
OAL (OEM Adaptation layer)
커널 이미지 링크, 초기화, 하드웨어, 디바이스 드라이버 등을
관리
대부분 커널은 하드웨어에 독립적으로 동작을 하므로 커널이 동
작하는데 필요한 하드웨어적인 함수를 제공하는 부분으로 대부
분 OEM_XX로 시작하는 함수
OAL Layer는 커널과 하드웨어 사이에 존재
Kernel
OAL
RTC
KITL
Hardware
RTC
Windows CE.NET
Ethernet
Serial
16
BSP (4)
Windows CE에 포함된 SDB
Windows CE.NET
17
Overview of Windows
CE.NET
Overview
Overview of Windows CE.NET
Core Operating System Architecture
Advanced Features of Windows CE.NET
Networking and Communications
Real-Time Communication
Multimedia Support and Architecture
Security Features and Architecture
Internationalization
Windows CE.NET
19
Overview of Windows CE.NET
Windows CE.NET: Design Goals
What is New in Windows CE.NET?
Basic Configurations
Target Hardware Support
Windows CE.NET
20
Windows CE.NET: Design Goals
Modular and compact operating system
Wireless and wired connectivity
Robust real-time capabilities
Rich multimedia and multilingual support
Strong development tool support
Windows CE.NET
21
What Is New in Windows CE.NET?
Internet Explorer 5.5 for CE
Wireless support
Multimedia
Customizable UI
Security Services
Real-time collaboration and
communication
Better multi-language support
ClearType
Windows CE.NET
22
Basic Configurations
PDA or mobile handheld device
Cell phone/smart phone
Browser-based with a fixed (CRT or LCD) display and a
keyboard.
Media appliance
Touch-screen user interface and 640x480 or larger display
Internet appliance
160x220 nominal display resolution
Web Pad
Variants with our without applications, such as WordPad
Playback or store music, video, and other electronic media
Digital imaging device
Camera, projector, and printer
Windows CE.NET
23
Basic Configurations (con’t)
Set-top box
Residential gateway
Human Machine Interface (HMI) or Programmable Logic
Controller
Retail Point-of-Sale device
Connects to the internet and shares that connection with a
wired or wireless home network
Industrial automation device
Connects to a TV for display of Internet /media content
Self-service kiosks, electronic payment terminals, POS
terminals
Windows thin client
Minimal remote access terminal with constrained shell and
RDP
Windows CE.NET
24
Basic Configurations (con’t)
Tiny Kernel
Smallest functional Windows CE image
Starting point for the most compact, headless devices
Custom Device
The most fully customizable configuration
Allows you to choose from all operating system features
Also a variant for devices
Windows CE.NET
25
Target Hardware Support
Processor Familly
ARM
MIPS
SHx
X86
Windows CE.NET
CPU
SDB
BSP Name
Intel SA1110
Intel SA111x
Assabet SDB
SA11X0BD
ARM920
ARMINTEGRATOR
ARM1020
ARM Integrator
AP SDB
Intel Xscale
Intel Lubock SDB
TBD
NEC Vr4122
NECDDB-Vr4122
Eagle SDB
EAGLE
NEC Vr5432
NEC DDB-Vrc5476
Boston SDB
DDB5476
SH4-7750
Hitachi SH4
Aspen SDB
ASPEN
SH3-7729
Hitachi SH3
Keywest SDb
KEYWEST
P5/P4/PIII/PII/CelK6x/At
hlon
CEPC
CEPC
NS Geode
National Geode
Reference Platofrm
GEODE
26
Core Operating System Architecture
Applications
Programming Interface
Communication Interface
(Win32, COM, MFC, ATL)
(Winsock, RAS, TAPI)
Device
Kernel
GWES
Manager
Device Drivers
OAL
Filesys
Networking
And
Communications
System
Hardware
Windows CE.NET
27
Core Operating System Architecture
(con’t)
Windows CE.NET
28
The OEM Adaptation Layer
Layer between the Kernel and the hardware
Set of functions related to system startup,
interrupt handling, power management, profiling,
time, and clock
Included in BSPs for supported SDBs
Coded by OEMs to adapt windows CE to their
own custom platforms
Linked with code provided by Microsoft to build
the Kernel
Windows CE.NET
29
The Kernel Module
Portable across supported processors
NK.EXE, COREDLL.DLL
CE loader is designed to save system resources by loading
application pages as and when needed and by keeping only
one physical copy of a DLL
Demand paging
NK.EXE contains Kernel code and Coredll.dll is the operating
system core DLL module
Saving system resources
Kernel is portable as most of the operating system is written
in C
Loads virtual memory pages into physical memory when
needed
Multiple execute in place regions
Allows applications to execute code directly from read-only
memory
Windows CE.NET
30
Device Driver System
Device driver
Built-in Drivers vs. Installable Drivers
Built-in drivers are installed by the platform manufacturer
Installable drivers are third-party peripheral devices that end
users can connect to a windows CE-based platform
Native Drivers vs. Stream Drivers
Links an operating system and a device
All of the device drivers managed by GWES are native device
drivers
Device manager loads stream interface drivers when the
system boots, if those drivers are listed in the registry
Monolithic Drivers vs. Layered Drivers
Monolithic drivers implement interface directly in terms of
actions on the device they control
Layered drivers separated the implementation into two layers
Windows CE.NET
31
The GWES Modules
Graphics, Windowing, and Event Subsystem
Graphics output: display and printer
User input: keyboard, stylus, and mouse
Window management: message routing
Graphic Device Interface (GDI)
Is the drawing subsystem of GWES
Control how text and graphics are displayed
Uses a device context to store drawing attributes for a
specified device
Windows CE.NET
32
The Filesys Module
The Filesys Module
Implements the object store
File systems
Registry
Property Database
Substitutes for a hard drive on an embedded drive
Resides in ROM, RAM, or both
Can have a maximum size of 256 MB
Windows CE.NET
33
The Filesys Module (con’t)
Storage manager
Installable file systems
Can provide access to a floppy diskette, a hard drive, a flash
file system on a PC Card, or to other external storage
devices
File-shadowing mechanism
Is responsible for all external storage items, including all the
file systems and block drivers
Allows a file to be stored both in RAM and ROM.
Differences from other Windows file systems
No letters assigned to file systems
No concept of current directory
No support for overlapped I/O
All files stored in Ram are automatically compressed
Windows CE.NET
34
The Filesys Module (con’t)
Registry
Provides a common repository for system settings,
application data, and user preferences
Resides in RAM, if not present in RAM, the registry can be
reloaded from persistent storage or rebuilt from ROM
Registry functions specific to Windows CE
Property Database
Provides a lightweight database management system
Accessible using a new set of Win32 API functions specific
to Windows CE
Data stored in a flat model
Accessible to ActiveX Data objects for Windows CE (ADOCE)
Supports multiple volumes on installable file systems
Windows CE.NET
35
Real Time Operating System
Bounded interrupt response latency
Timer precision configurable (1millisecond
default)
System timer tick independent of thread quantum
Nested interrupt support
Priority inheritance
Protected virtual memory
Synchronization objects
Windows CE.NET
36
Power Management Features
Power management features respond to system
calls for turning the system off or for idling
Device level power states, DO-D4
D0-Full on: Full power with full functionality
D1-Low On: Slightly reduced functionality, lower power
and/or performance
D2-Standby: Partial power with automatic wake
D3-Sleep: Partial power with device initiated wake
D4-Off: Power off
The only device power state that all devices must
support is D0, full on
Windows CE.NET
37
Advanced Features of Windows
CE.NET
Networking and Communications
Real-Time Communication
Multimedia
Security
Internationalization
Windows CE.NET
38
Networking and Communications
Networking and Communications
Architecture
Wireless Platform Support
Component Object Model
Additional Networking Features
Networking Scenarios
Windows CE.NET
39
Networking and Communications
Architecture
Applications
Web server
TAPI
RAS
Unimodem
MSMQ
COM
SNMP
IP Helper
PPP
WNet
WinInet
Winsock
Protocol Stacks(TCP/IP, IrDA)
Serial
NDIS(LAN, WAN, TR, IrDA)
Network Drivers
Serial Port
Windows CE.NET
Ir Port
FIR H/W
Network Interface
40
Wireless Platform Support
802.11 zero configuration and 802.1x
Bluetooth
Supports dial up networking, WLAN access and
object exchange
NDIS 5.1
Enables roaming with minimal configuration and logon
using user/password and certificate
Wireless enhancements, battery status
MediaSense
Connect/disconnect, roaming in range/out of range
notifications
Windows CE.NET
41
Component Object Model
COM is a platform-independent object-oriented system
OEMs can choose from the different levels of run-time
support
Minimal COM (MCOM) provides baseline API set
COM provides a mid-range implementation of COM and OLE
automation
COM storage (COM_STG) combines the midrange COM
implementation with structured storage functionality
DCOM provides full-featured distributed COM implementation
Marshaling support
Windows CE.NET
42
Additional Networking Features
Dynamic Host
Configuration Protocol
(DHCP)
Internet Connection
Sharing (ICS)
Virtual Private Networking
(VPN)
Windows Sockets 2
(Winsock)
Message Queuing (MSMQ)
Windows CE.NET
Object Exchange (OBEX)
Infrared Data Association
IrDA
IEEE 1394 (Firewire)
MediaSence
Media Access Control
(MAC) Bridging
43
Networking Scenarios
Personal Area Networking (home, office)
Local Area Networking (office, factory)
Scenarios: Thin Client, Enterprise Web Pad, Industrial
Automation
Features: Ethernet, DCOM
Wireless LAM (office, coffee shop)
Scenarios: PDA, Internet Appliance, Networking Printer
Features: Bluetooth, IrDA, UPnP
Scenarios: Cell Phone, PDA, Web Pad
Features: Ethernet, Zero Configuration 802.11/802.1x
Wide Area Networking (WAN)(home, hotel)
Scenarios: PDA, Internet Appliance, Web Pad, Residential
Gateway
Features: TAPI, RAS, PPP, Unimodem, VPN, PPTP
Windows CE.NET
44
Real-Time Communication
RTC Support
RTC Architecture
RTC Scenarios
Windows CE.NET
45
RTC Support
Real time Audio Communication (VoIP)
SIP (Session Initiation Protocol) based
Between IP devices- peer to peer or through
server
Across gateways to PSTN phones
Instant Messaging
Presence
Contacts
Watchers
Windows CE.NET
46
RTC Architecture
User App
Instant Messenger
RTC API
SIP
RTP
PINT
FTP
HTTP
TCP / IP
PPP
NDIS
Serial Driver
Hareware
Windows CE.NET
47
RTC Scenarios
Connectivity combinations
CE device-to-CE or XP device
CE device-to-PSTN phone
CE device-controlled PSTN Phone-to-CE or XP device
Application requirements
Instant Messaging over a Network
CE-to-CE or CE-to-XP, no SIP server needed
Monitor a Contact’s Presence or Control Presence
Information
CE device on a network with an SIP server
Windows CE.NET
48
Multimedia Support and
Architecture
Multimedia Support
Multimedia Architecture
Multimedia Scenarios
Windows CE.NET
49
Multimedia Support
DirectDraw
Direct3D
DirectDVD
DirectMusic 7
DirectShow 6.1
DirectSound® 6.1
Windows CE.NET
Legacy Video
Playback
Midi Playback
MP3 Playback
MPEG-1 Video
Playback
Digital Rights
Management (DRM)
50
Multimedia Architecture
Browsers / Applications
Media Player Control
COM Interface
DirectShow filter graph manager
Source Filter
(ASF, AVI, etc)
Transform Filter
Media Source
(Internet or file system)
Render Filter
DirectX foundation
Media destination
(audio / video hadrware)
Windows CE.NET
51
Multimedia Scenarios
Stream or play live or recorded audio and
video media from local or remote locations
on mobile or fixed devices
Possible applications
Digital Media appliances
Web Pads and Internet portals
Set-top boxes
Telecommunications equipment
Industrial control and medical applications
Education and training
Windows CE.NET
52
Security Features and Architecture
Which Security Features Are Supported?
SSPI Security Architecture
Security Scenarios
Windows CE.NET
53
Which Security Features Are
Supported?
Trusted environment
Certified applications
CyptoAPI
Protected registry
Password control
Protected store
Windows CE.NET
LDAP Security Model
Secure Sockets Layer
PPTP
PC/SC
Secure file System
DCOM security
802.11 security
54
SSPI Security Architecture
SSPI-Security Support Provider Interface
Kerberos protocol
NTLM protocol
Windows CE.NET
55
Security Scenarios
Control access to the device
Protect against unauthorized applications
Secure data storage and file systems
Secure network and internet connections
Windows CE.NET
56
Internationalization
Platform localization options:
Localization vs. Internationalization
Changing the language of your operating system
Adding locales
Selecting codepages
Creating international Applications:
Building for a different Locale
Shared source files
Understanding Unicode and NLS
Windows CE.NET
57
Internationalization (con’t)
Common practice for developing international
software:
Translation Tips
Use a few target locales for initial development and testing
Resource Localization: Strict or Non-strict
Avoid using vague words, colloquialisms, jargon, acronyms,
and abbreviations
Use good grammar
Avoid dynamic concatenation of different strings
Avoid hard-cording file names in a binary files
Avoid including text in image and icons
International Conventions
Locales might have different conventions for expressing
information
CE.NET
Locales might have different keyboard conventions
Windows
58