Module 1: Introduction to Windows CE

35
Module 1: Introduction to Windows CE

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

Transcript of Module 1: Introduction to Windows CE

Page 1: Module 1: Introduction to Windows CE

Module 1: Introduction to Windows CE

Page 2: 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

Page 3: Module 1: Introduction to Windows CE

Windows CE Design Goals

Small

Portable

Modular and Compact

Win32 Compatible

Development Tool Support

Connectivity

Real-time

Page 4: Module 1: Introduction to Windows CE

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)

Page 5: Module 1: Introduction to Windows CE

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

Page 6: Module 1: Introduction to Windows CE

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

Page 7: Module 1: Introduction to Windows CE

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

Page 8: Module 1: Introduction to Windows CE

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

Page 9: Module 1: Introduction to Windows CE

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

Page 10: Module 1: Introduction to Windows CE

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

Page 11: Module 1: Introduction to Windows CE

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

Page 12: Module 1: Introduction to Windows CE

New Windows CE 3.0 Issues

The Add-on Pack

Porting to Windows CE 3.0

Page 13: Module 1: Introduction to Windows CE

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

Page 14: Module 1: Introduction to Windows CE

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

Page 15: Module 1: Introduction to Windows CE

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

Page 16: Module 1: Introduction to Windows CE

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

Page 17: Module 1: Introduction to Windows CE

The Hardware

Minimum hardware requirements:

Supported processor Timer for Scheduler Interrupts Memory

Reference platforms:

HARP CEPC Blue Planet

Page 18: Module 1: Introduction to Windows CE

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

Page 19: Module 1: Introduction to Windows CE

The Kernel Module

Portable across supported processors

NK.EXE, COREDLL.DLL

Support RAM and ROM execution

Modules can be compressed in ROM

Demand paging

Page 20: Module 1: Introduction to Windows CE

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

Page 21: Module 1: Introduction to Windows CE

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

Page 22: Module 1: Introduction to Windows CE

Communications Support

Unimodem

TAPI

WinINET

Applications (PIE, dialing app, etc.)

NetworkRedirector

RAS Winsock

TCP/IP IrDA

PPP/SLIP

Serial DriverInstallabledrivers

NDIS EthernetMiniports

IrDAMiniports

Page 23: Module 1: Introduction to Windows CE

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

Page 24: Module 1: Introduction to Windows CE

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

Page 25: Module 1: Introduction to Windows CE

Support for Development Languages and Tools

Microsoft Platform Builder

Microsoft Embedded Visual Tools 3.0

Custom SDK

Page 26: Module 1: Introduction to Windows CE

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)

Page 27: Module 1: Introduction to Windows CE

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

Page 28: Module 1: Introduction to Windows CE

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

Page 29: Module 1: Introduction to Windows CE

System Memory and Architecture

Physical Memory

Virtual Memory

Object Store

Page 30: Module 1: Introduction to Windows CE

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

Page 31: Module 1: Introduction to Windows CE

Virtual Memory

Memory Mapping(Shared)

Reserved

Slot 32:Process32

.

.

.

Slot 1:Process1

Slot 0:Active Process

2GB

2GB

32MB

Page 32: Module 1: Introduction to Windows CE

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

Page 33: Module 1: Introduction to Windows CE

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

Page 34: Module 1: Introduction 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

Page 35: Module 1: Introduction to Windows CE

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