MHK200 Module 1: Introduction to Windows CE
MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools System Memory Architecture
MHK200 Windows CE Design Goals Small Protable Modular and Compact Win32 Compatible Development Tool Support Connectivity Real-time
MHK200 Small Typical hardware: 4MB-8MB ROM Samllest footprint: 500K Win32 API is only API Win32 API is subset of desktop Compared to Windows Me(100MB) or Windows 2000(500MB)
MHK200 Portable Easy portability to new processors –Most parts of the OS written in C –Various processors supported Easy portability to new platforms –OAL layer
MHK200 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, MAXALL, IESAMPLE... –Components can be added, deleted, or replaced Execute In Place (XIP) from ROM
MHK200 Win32 Compatible Uses the same Win32 programming model 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
MHK200 Development Tool Support Not restricted to a particular language Strong development support –Embedded Visual Basic/C++ –Tools: Remote debugger, emulators –Tech: COM, DCOM and MSMQ –APIs: TAPI, Winsock... –Lib: ATL, MFC
MHK200 Connectivity Win CE devices designed for mobility Support connectivity to desktop PC, other Win CE devices, and the Internet Wide variety of comm options and API: serial, LAN, modem, infrared... Secure comm at all levels Synchronization model: ActiveSync
MHK200 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
MHK200 Windows CE Architecture Overview of Windows CE Architecture The Hardware The OEM Adaptation Layer The Kernel Module The Filesys Module The GWES Module Communication Support
MHK200 Overview of Windows CE Architecture OEM Hardware Embedded Shell Applications WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Windows CE Shell Services Remote Connectivity Kernel Library IrDA GWES Device Manager File Manager TCP/IP OAL Boot loader Drivers Device drivers File drivers Microsoft OEM ISV, OEM Network drivers
MHK200 The Hardware Minimum hardware requirements: –Supported processor –Timer for Scheduler Interrupts –Memory Reference platforms: –HARP –CEPC –Blue Planet
MHK200 The OEM Adaptation Layer Layer between the kernel and the H/W Coded by OEMs to adapt WinCE to their own platforms Linked with processor-independent code provided by MS to build the kernel Set of functions related to system startup, interrupt handling, power management, profiling, timer, and clock
MHK200 The Kernel Module Portable across supported processors NK.EXE, COREDLL.DLL Support RAM and ROM execution Modules can be compressed in ROM Demand paging
MHK200 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
MHK200 The GWES Module Graphics, Windows, and Event manager –Graphic output(display and print) –User input: keyboard, stylus, mouse, etc. –Windows management: message routing, etc. GWES is the most componentized WinCE module GWES exports only a subset of the Win32 API functions