350 likes | 369 Views
Learn about the design goals, differences from Windows NT, supported technologies, development tools, system memory architecture, and connectivity options in Windows CE. Discover the benefits, portability, real-time capabilities, and hardware specifications. Explore the various modules, components, APIs, libraries, and tools available.
E N D
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 Win32 Compatible Development Tool Support Connectivity Real-time Windows CE Design Goals
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) Small
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 Portable
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 Modular and Compact
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 Win32 Compatible
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 Development Tool Support
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 Connectivity
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 Real-time
The Add-on Pack Porting to Windows CE 3.0 New Windows CE 3.0 Issues
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 The Add-On pack NewTools • Kernel Tracker • Remote System Information • Remote Performance Monitor
Interruptible ISRs ISTs and WaitForSingleObject Thread priorities Thread quantums Timer granularity Simpler Priority Inversion Handling Multiple XIP ROM regions supported 256MB max object store Porting to Windows CE 3.0
Overview of Windows CE Architecture The Hardware The OEM Adaptation Layer The Kernel Module The Filesys Module The GWES Module Communications Support Windows CE Architecture
Remote Connectivity Windows CE Shell Services WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Overview of Windows CE Architecture OEM ISV, OEM Microsoft Applications Embedded Shell Kernel Library GWES File Manager Device Manager IrDA TCP/IP Network drivers File drivers Device drivers OAL Boot loader Drivers OEM Hardware
Minimum hardware requirements: Supported processor Timer for Scheduler Interrupts Memory Reference platforms: HARP CEPC Blue Planet The Hardware
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 OEM Adaptation Layer
Portable across supported processors NK.EXE, COREDLL.DLL Support RAM and ROM execution Modules can be compressed in ROM Demand paging The Kernel 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 Filesys 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 The GWES Module
Applications (PIE, dialing app, etc.) WinINET Network Redirector TAPI RAS Winsock Unimodem TCP/IP IrDA PPP/SLIP NDIS Ethernet Miniports IrDA Miniports Installable drivers Serial Driver Communications Support
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 The Communications Support (continued)
Support for Development Languages and Tools Support for Popular Technologies and Libraries API Differences with Windows 95 / Windows NT International Support Supported Technologies, Libraries, and Tools
Microsoft Platform Builder Microsoft Embedded Visual Tools 3.0 Custom SDK Support for Development Languages and Tools
Supported Technologies Component Object Model (COM) Message Queuing Service (MSMQ) DirectX Supported Libraries Microsoft Foundation Classes (MFC) Active Template Library (ATL) Support for Popular Technologies and Libraries
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 API Differences with Windows 95 / Windows NT
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 International Support
Physical Memory Virtual Memory Object Store System Memory and Architecture
Physical Memory 4 GB 3 GB ROM .5 MB to 512 MB NK RAMIMAGE RAM–Object Store Program Memory 2 GB RAM .5 MB to 512 MB 1 GB 0 Physical Memory Virtual Address Space
Reserved 2GB Memory Mapping (Shared) Slot 32:Process32 2GB . . . Slot 1:Process1 32MB Slot 0:Active Process Virtual Memory
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: File System
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: Registry
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 Object Store: Databases
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 Review