Mike Hall Senior Technical Product [email protected] Corporation
Windows Embedded
http://blogs.msdn.com/mikehall
Devices Everywhere.
Set-top boxes
Windows CE Windows XP Embedded
Windows Mobile
Smartphone
Pocket PC Phone
WindowsAutomotiv
e
Portable Media Center
VoIP phonesMobilehandhelds
Gateways
Retail Point-of-
Sale
Windows-based
terminals
Medical devices
Entertainment devices
.NET Micro Framework
Health Monitoring
WearableDevices
AuxiliaryDisplays
Remote Controls
Sensor Networks
Decreasing hardware requirementsIncreasing functionality
Extending .NET to smaller devices
Small .NET runtime for embedded devices
Managed Code reliability and productivity
No unsafe instructionsMemory Management/Garbage collectionException Handling
Lowest cost .NET platformMemory footprint for the platform – 250K RAMNo MMU required
Develop and debug in Visual Studio
Extensible Emulation on the PCFull-featured debugging on device Familiar tools decreasing cost of resources and trainingIncreased productivity
.NET with an Embedded flavor
Embedded ExtensionsThread manager and processor stateWPF instead of System.FormsValidation as post compilation process
Use C#, a subset of .NET libraries
Leverage code and data structuresFamiliar coding decreasing cost of resources and trainingECMA Compliant CLR
Runtime FeaturesUI/Shell
• Object model based on Windows Presentation Foundation (WPF)
• Input event routing• Layout system
Content sizing Text flow Rich support for nested controls
• Bitmap fonts• Images• Pens, brushes, colors• Vector primitives• Alpha blending
What is CE 6.0 ?
Windows Embedded CE 6.0 is NOTWindows Mobile 6.0
Windows Embedded CE 6.0 is…32-bit, real-time, multitasking OSHighly componentized
Delivered as a granular set of componentsUse CE 6.0 Platform Builder tools to configure image
ScalableFootprint scales with functionality selected
Wide variety of CPU supportRuns on x86, ARM, MIPS and SH4
And, will be the core of Windows Mobile…
Feeling the crunch.
Windows Mobile 5.0 = Windows CE 5.0 O/S
Same O/S Architecture since Windows CE 1.0
Maximum 32 Processes32 MB VM per processDLL “Cram” (Slot 1, 32MB)
Windows CE 5.0 System Calls
Application makes callPSL jump
Kernel Validates parametersMaps Service into Slot 0
Possible Cache Flush
Calls into to the service
Service Runs Returns to Kernel
KernelMaps App into Slot 0
Possible cache flush
Returns to App
App Service
Kernel
CE 6.0 – New OS Layout
Supports upto 32K processes2GB VM Space per process!512 MB VM Shared DLL spaceMoving critical drivers, file system, and graphical window manager into the kernel
BenefitGreatly reduces the overhead of system calls between these componentsReduces overhead of all calls from user space to kernel spaceIncrease code sharing between base OS services
CE 6.0 System Calls
Application makes callSame PSL jumpApp stays mapped during the call
Kernel Validates parametersCalls into to the service
Service Runs Returns directly to the app
App
ServiceKernel
Page 12
ApplicationsApplications
Windows CE 6.0 System Architecture
HardwareBootloader
NK.EXE
Kernel.DLL
FileSys.DLL GWES.DLLDevice.DLL
Kernel Drivers
KCoredll.DLL
OS DLLs (Coredll, Winsock, CommCtrl, …)
ShellServices
Services Manager
UM DriverManager
User Mode
Drivers
UserMode
KernelMode
ApplicationsApplications
Windows XP Embedded is Windows XPRuns on standard x86 PC architecture hardwareStandard hardware support - PnP, USB
ComponentisedOver 12,000 components to flexibly build a customised deviceReduced footprint, Can fit with an app in 64 MB RAM
Rapid DevelopmentPowerful tools for building custom devicesFull Win32® API, and .NET Framework support
ReliableBuilt on the robust Windows XP KernelEmbedded specific capabilities to increase reliability in devices
What is Windows XP Embedded ?
Development Overview
ApplicationBinaries
Hardware
DefinitionApplication
Components
App, OS and EEFComponents
OSImag
e
Windows XP
Embedded Component Database
Target Analyzer
Target Designer
Component Designer
Embedded Specific Features
USB 2.0 BootEnhanced Write FilterFile Based Write FilterCD-Boot, Flash Boot, PXE BootHeadless OperationMessageBox interception
What is Windows Embedded for Point of Service?
Standard, retail-optimized OS platform for Point of Service devices
Only POS platform to provide Plug-n-Play support for retail peripheralsBased on Windows XP with Service Pack 2Available from Windows Embedded OEM partnersReduced OS footprint
Microsoft’s recommended OS for full-featured Point of Service terminals
Point of SaleKiosksSelf-CheckoutFuel PumpsAutomated Teller machines
First of a series of retail-focused investments from Microsoft
WEPOS Highlights.
Plug-n-Play retail peripheral supportPOS for .NET Libraries
.NET class library based on UPOS 1.8Supports legacy (COM-based) COs/SosExposes device statistics as PerfMon counters
Enumeration of available POS devicesInstantiation of service objects
Retail standards supportUnified POS
Full desktop Servicing model (SMS, MOM, WMI, Windows Update etc…)Rapid Device/Application development
La référence technique
pour les IT Pros :technet.microsoft.com
La référence technique
pour les développeurs :
msdn.microsoft.com
S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée
Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs
Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique
Visual Studio 2005 +
Abonnement MSDN Premium
Abonnement TechNet Plus :
Versions d’éval + 2 incidents support