Upload
herb
View
51
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Module 1: Introduction to Windows CE. Windows CE Design Goals Comparing Windows CE and Windows NT Embedded New Windows CE 3.0 Issues Windows CE Architecture Supported Technologies, Libraries, and Tools System Memory Architecture. Overview. Small Portable Modular and Compact - PowerPoint PPT Presentation
Citation preview
Module 1: Introduction to Windows CE
Overview
Windows CE Design Goals
Comparing Windows CE and Windows NT Embedded
New Windows CE 3.0 Issues
Windows CE Architecture
Supported Technologies, Libraries, and Tools
System Memory Architecture
Windows CE Design Goals
Small
Portable
Modular and Compact
Win32 Compatible
Development Tool Support
Connectivity
Real-time
Small
Typical hardware: 4MB-8MB ROM
Smallest footprint: 500K
Win32 API is only API
Win32 API is subset of desktop
Compared to Windows Me (100MB) or Windows 2000 (500MB)
Portable
Easy portability to new processors
Most parts of the OS written in C Various processors supported Complete list of supported processors available on
Windows CE Web site at http://www.microsoft.com/Windows/embedded/ce/guide/processors/proc30.asp
Easy portability to new platforms
OAL layer
Modular and Compact
Modules
Kernel, GWES, Filesys, and Communications
Each module is divided into components
Build an OS image that fits your needs
Windows CE configurations: MINKERN, MININPUT, MINCOMM, MINGDI, MINWMGR, MINSHELL, MAXALL, IESAMPLE, MAXDX
Components can be added, deleted, or replaced.
Execute in place (XIP) from ROM
Win32 Compatible
Uses the same Win32 programming model
Uses the same Win32 PE file format
Supports a large number of Win32 API functions
Supports other programming interfaces: MFC, ATL and Embedded VB
Advantages:
Ease of porting existing Windows applications Many developers have good Windows knowledge
Development Tool Support
Major requirement of OEMs and ISVs
Not restricted to a particular language
Strong development support
Languages: Embedded Visual Basic, Embedded Visual C++
Tools: Remote debugger, emulators Technologies: COM, DCOM and MSMQ APIs: TAPI, Winsock, CryptoAPI, NLS API Libraries: ATL, MFC
Connectivity
Windows CE devices designed for mobility
Support connectivity to desktop PC, other Windows CE devices, and the Internet
Wide variety of communication options and API: Serial (Win32), LAN (NDIS), Modem (TAPI), Infrared (IrDA), RAS, Winsock, Web Server and WinInet
Secure communications at all levels
Synchronization model: ActiveSync
Mobile channels
Real-time
Interrupt Handling
Guaranteed maximum latency for highest priority interrupt
Nestable (Prioritized) Interrupt Handling
Thread Scheduling
Guaranteed maximum latency for highest priority thread
256 thread priorities
Controllable thread quantum
Comparing Windows CE and Windows NT Embedded
Feature Windows CE NTeMemory Footprint
500K - 8MB+ 8MB- 300MB
Configurability 200 Modules 4 Configurations
API Support “Best of” Win32 plus Windows CE-specific enhancements
Complete Win32
CPU Support x86, PPC, MIPS, SHx, ARM
Only x86
Device Driver Fine-tuned for size derivative of NT Driver
100% compatibility with Desktop
Security Minimal Complete NT security module
Development Environment
Windows NT/ Windows 2000
Windows NT/ Windows 2000
New Windows CE 3.0 Issues
The Add-on Pack
Porting to Windows CE 3.0
The Add-On pack
Operating System Features XML Parser (MSXML 2.0)
Internet Connection Sharing
Point-to-Point Tunneling Protocol (PPTP)
Crypto API 2.0
Remote Desktop Protocol (RDP) 5.0
DirectX Support
Windows Media
New Tools
Kernel Tracker
Remote System Information
Remote Performance Monitor
Porting to Windows CE 3.0
Interruptible ISRs
ISTs and WaitForSingleObject
Thread priorities
Thread quantums
Timer granularity
Simpler Priority Inversion Handling
Multiple XIP ROM regions supported
256MB max object store
Windows CE Architecture
Overview of Windows CE Architecture
The Hardware
The OEM Adaptation Layer
The Kernel Module
The Filesys Module
The GWES Module
Communications Support
Overview of Windows CE Architecture
OEM Hardware
Embedded Shell
Applications
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell Services
Remote Connectivity
KernelLibrary IrDAGWES Device
ManagerFile
Manager TCP/IP
OALBoot loader
Drivers Device drivers
File drivers
Microsoft OEM ISV, OEM
Network drivers
The Hardware
Minimum hardware requirements:
Supported processor Timer for Scheduler Interrupts Memory
Reference platforms:
HARP CEPC Blue Planet
The OEM Adaptation Layer
Layer between the kernel and the hardware
Coded by OEMs to adapt Windows CE to their own platforms
Linked with processor-independent code provided by Microsoft to build the kernel
Set of functions related to system startup, interrupt handling, power management, profiling, timer, and clock
The Kernel Module
Portable across supported processors
NK.EXE, COREDLL.DLL
Support RAM and ROM execution
Modules can be compressed in ROM
Demand paging
The Filesys Module
Three types of persistent storage
File systems Registry Property Database
The object store is built on an internal heap
The internal heap is transacted to ensure integrity
The internal heap is compressed to save memory
The GWES Module
Graphics, Window, and Event manager
Graphic output (display and printer) User input: keyboard, stylus, mouse, etc. Window management: message routing, etc.
GWES is the most componentized Windows CE module
GWES exports only a subset of the Win32 API functions
Communications Support
Unimodem
TAPI
WinINET
Applications (PIE, dialing app, etc.)
NetworkRedirector
RAS Winsock
TCP/IP IrDA
PPP/SLIP
Serial DriverInstallabledrivers
NDIS EthernetMiniports
IrDAMiniports
The Communications Support (continued)
Desktop Connectivity
ActiveSync for data synchronization between a desktop PC and a Windows CE device
Remote API (RAPI) as remote procedure call mechanism
Mobile Channels
Supported Technologies, Libraries, and Tools
Support for Development Languages and Tools
Support for Popular Technologies and Libraries
API Differences with Windows 95 / Windows NT
International Support
Support for Development Languages and Tools
Microsoft Platform Builder
Microsoft Embedded Visual Tools 3.0
Custom SDK
Support for Popular Technologies and Libraries
Supported Technologies
Component Object Model (COM) Message Queuing Service (MSMQ) DirectX
Supported Libraries
Microsoft Foundation Classes (MFC) Active Template Library (ATL)
API Differences with Windows 95 / Windows NT
What is missing
Redundant APIs
Windows NT security functions, ANSI API, “LE” of OLE printing, USER/GDI
Portions of the large APIs such as TAPI, Sockets,
Some flags on very complex APIs
What is different
Memory size and power management are special concerns
Device driver model is different
Thread scheduling is simpler
Different product classes have different API sets
International Support
Windows CE supports Unicode strings only
OS ships localized in several European languages
Easy to localize for other European languages National Language Support (NLS) API
Input Method Editor (IME)
End User Defined Characters (EUDC)
Soft Input Panel
System Memory and Architecture
Physical Memory
Virtual Memory
Object Store
Physical Memory
Virtual Address SpacePhysical Memory
RAM.5 MB
to512 MB 0
1 GB
4 GB
3 GB
2 GB
NKNKRAMIMAGERAMIMAGE
RAM–Object StoreRAM–Object StoreProgram MemoryProgram Memory
ROM.5 MB
to512 MB
Virtual Memory
Memory Mapping(Shared)
Reserved
Slot 32:Process32
.
.
.
Slot 1:Process1
Slot 0:Active Process
2GB
2GB
32MB
Object Store: File System
File system access is through Win32 API
No letters assigned to file systems
No concept of current directory
No support for overlapped I/O
Support for installable and remote file systems
Support files stored in ROM
File-shadowing mechanism
Object Store: 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 Rebuilt from ROM
Access to the registry is through the same set of Win32 API functions as other Windows operating systems
Registry functions specific to Windows CE
Object Store: Databases
Windows CE built-in lightweight database management system
Data stored in a flat model (no hierarchy)
Ideal for storing contacts, notes, and mail
Accessible through a new set of Win32 API functions specific to Windows CE
Also accessible to ActiveX Data Objects for Windows CE (ADOCE)
Supports multiple volumes on installable file systems
Review
Windows CE Design Goals
Comparing Windows CE and Windows NT Embedded
New Windows CE 3.0 Issues
Windows CE Architecture
Supported Technologies, Libraries, and Tools
System Memory Architecture