7496_hall 070204 research faculty summit
DESCRIPTION
TRANSCRIPT
Windows EmbeddedWindows Embedded
Mike HallMike HallTechnical Product ManagerTechnical Product ManagerMobile & Embedded Devices GroupMobile & Embedded Devices GroupMicrosoft CorporationMicrosoft Corporation
[email protected]://blogs.msdn.com/mikehall
AgendaAgenda
Windows XP Embedded SP2Windows XP Embedded SP2FeaturesFeatures
ToolsTools
Build SystemBuild System
Windows CE 5.0Windows CE 5.0FeaturesFeatures
ToolsTools
Technical challengesTechnical challenges
A day in the life…A day in the life…
<warning><warning>Marketing VideoMarketing Video</warning></warning>
Shows what can be done todayShows what can be done today
Think about Think about The technical challenges ‘today’ and the The technical challenges ‘today’ and the futurefuture
How to enrich peoples lives through How to enrich peoples lives through embedded systemsembedded systems
Security, reliability, and manageability of Security, reliability, and manageability of embedded systemsembedded systems
Windows XP EmbeddedWindows XP EmbeddedThe most complete embedded platform The most complete embedded platform enabling advanced devices by delivering the enabling advanced devices by delivering the power of Windows in componentized formpower of Windows in componentized form
Windows CE Windows CE Windows CE integrates reliable real time Windows CE integrates reliable real time capabilities with advanced Windows capabilities with advanced Windows technologies to rapidly build a wide range of technologies to rapidly build a wide range of innovative, small-footprint devicesinnovative, small-footprint devices
Windows Embedded PlatformsWindows Embedded Platforms
MicrosoftMicrosoft®® WindowsWindows® ® XP EmbeddedXP Embeddedwith Service Pack 2with Service Pack 2
What Is Windows XP Embedded (XPe)What Is Windows XP Embedded (XPe)
Componentized version of Windows XP Componentized version of Windows XP ProfessionalProfessional
Based on the same binaries as retail version of Based on the same binaries as retail version of Windows XP ProfessionalWindows XP ProfessionalBut you choose only features and services you But you choose only features and services you need for your deviceneed for your device
Includes additional embedded-enabling Includes additional embedded-enabling features (EEF)features (EEF)
Enable broad range of devices to utilize rich Enable broad range of devices to utilize rich Windows XP Professional featuresWindows XP Professional features
4 powerful authoring tools 4 powerful authoring tools Streamline the end-to-end embedded device Streamline the end-to-end embedded device development processdevelopment process
XPe Development ToolsXPe Development Tools
1. Component Designer1. Component Designer GUI tool used to create components GUI tool used to create components
for use on embedded devicesfor use on embedded devices Developer specifies the files, Developer specifies the files,
resources and dependencies resources and dependencies required by the componentrequired by the component
2. Target Analyzer2. Target AnalyzerSimplifies configuring OS image for Simplifies configuring OS image for target hardwaretarget hardware
Generates XML definition Generates XML definition of target hardware of target hardware
XPe Development ToolsXPe Development Tools
3. Target Designer3. Target Designer GUI tool used to build runtime images GUI tool used to build runtime images End-user selection and configuration of End-user selection and configuration of OS, App or macro components OS, App or macro components Automatic inclusion of required Windows Automatic inclusion of required Windows componentscomponents““Build”; assembles the bootable OS Build”; assembles the bootable OS imageimageComponent-based documentationComponent-based documentation
4. Visual Studio .NET4. Visual Studio .NETDevelopment environment for Development environment for Embedded ApplicationsEmbedded Applications
XPe ComponentsXPe Components
XP Pro Technologies, componentizedXP Pro Technologies, componentizedWindows binaries wrapped in XML metadataWindows binaries wrapped in XML metadata
Pre-determined component dependenciesPre-determined component dependencies
Macro Components to enable rapid Macro Components to enable rapid prototypingprototyping
Design Templates: starting point for Design Templates: starting point for device development, saves developer timedevice development, saves developer time
Helper Macros: quickly & easily gets your Helper Macros: quickly & easily gets your device bootingdevice booting
Technology Macros: simple access to Technology Macros: simple access to Windows technologiesWindows technologies
Support for 22 languages with MUI Support for 22 languages with MUI (Multilingual User Interface)(Multilingual User Interface)
XPe Embedded FeaturesXPe Embedded Features
XPe SP1 Windows FeaturesXPe SP1 Windows Features.NET Framework, USB 2.0, IPv6, Windows Media Centre .NET Framework, USB 2.0, IPv6, Windows Media Centre components, etc.components, etc.Maintains binary compatibility with Windows XP Pro SP1Maintains binary compatibility with Windows XP Pro SP1
Deployment and servicing XPe devicesDeployment and servicing XPe devicesRemote BootRemote Boot: Allows booting devices from images stored : Allows booting devices from images stored on a serveron a serverDevice Update Agent (DUA)Device Update Agent (DUA): Light-weight servicing client : Light-weight servicing client
Solid-state DevicesSolid-state DevicesEnhanced Write Filter (EWF)Enhanced Write Filter (EWF): Allows development : Allows development of solid state devices, e.g. based on flash disksof solid state devices, e.g. based on flash disksCD-BootCD-Boot
Mass production of OS imagesMass production of OS imagesImage Cloning & ResealImage Cloning & Reseal
XPe Development OverviewXPe Development OverviewTarget Target
DesignerDesignerComponent Component
DesignerDesigner
XPe Component
Database
ApplicationApplicationBinariesBinaries
App, App, OS and EEFOS and EEFComponentsComponents
Target Target AnalyzerAnalyzerHardwareHardware
DefinitionDefinition
Application Application ComponentsComponents
OSOSImageImage
OSOSImageImage
XPe SP2 Design GoalsXPe SP2 Design Goals
Enhance securityEnhance securityIntegrate the Windows XP Professional SP2 Security Integrate the Windows XP Professional SP2 Security innovations into the Windows XP Embedded with SP2 innovations into the Windows XP Embedded with SP2 releaserelease
Provide compatibilityProvide compatibilityBinary parity with Windows XP Professional SP2Binary parity with Windows XP Professional SP2
New featuresNew featuresFrom both XP Pro and embedded-specificFrom both XP Pro and embedded-specific
Requested by customers and partnersRequested by customers and partners
Windows Media 9, .NET Framework 1.1Windows Media 9, .NET Framework 1.1
EEF Updates, EWF API now exposedEEF Updates, EWF API now exposed
XPe SP2 will follow ASAP after the desktop releaseXPe SP2 will follow ASAP after the desktop release
Windows CE 5.0Windows CE 5.0
What is Windows CE 5.0 ?What is Windows CE 5.0 ?Latest version of Windows CELatest version of Windows CE
Componentized, compact, real-time Componentized, compact, real-time embedded operating systemembedded operating system
Design TenetsDesign TenetsProductivityProductivity
Unified build, PQD (Production Quality Drivers), Unified build, PQD (Production Quality Drivers), comprehensive how-tos and documentation, extensive comprehensive how-tos and documentation, extensive partner base (2000+)partner base (2000+)
ReliabilityReliabilityWindows Error Reporting (Watson), security Windows Error Reporting (Watson), security enhancements, automated testing scenariosenhancements, automated testing scenarios
InnovationInnovationAdvanced multimedia, Direct3D Mobile, extensive Advanced multimedia, Direct3D Mobile, extensive wireless and networking capabilities wireless and networking capabilities
PlanetaryPlanetaryRoverRover
California Polytechnic, California Polytechnic, Pomona Pomona
For more academic examples…For more academic examples…Using both CE and XPeUsing both CE and XPe
Microsoft Research & Windows Embedded Innovation Excellence Microsoft Research & Windows Embedded Innovation Excellence Awards, 2003-2004Awards, 2003-2004
$1.7M awards total$1.7M awards total
78 projects worldwide in 26 countries at 75 universities78 projects worldwide in 26 countries at 75 universitiesSome of you are here today (we hope!)Some of you are here today (we hope!)
62 research projects, 12 teaching projects62 research projects, 12 teaching projects
Projects started Projects started - Summer 2003- Summer 2003
Projects completing Projects completing - Summer 2004- Summer 2004
Wrap-up workshop Wrap-up workshop - September 2004- September 2004
Overall theme: Overall theme: Innovative Embedded Research & TeachingInnovative Embedded Research & Teaching
Interim workshop at Windows Embedded DevCon, San Diego, JuneInterim workshop at Windows Embedded DevCon, San Diego, June
Sample of projects shown at the DemoFest tomorrow!Sample of projects shown at the DemoFest tomorrow!
OEM HardwareOEM Hardware
Embedded ShellEmbedded Shell
ApplicationsApplicationsApplicationsApplications
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell ServicesWindows CE Shell Services
Remote ConnectivityRemote Connectivity
KernelLibraryKernelLibrary
IrDAIrDA
GWESGWES Device ManagerDevice
Manager
File System
Manager
File System
Manager TCP/IPTCP/IP
OALBootloader
OALBootloader DriversDrivers Device
driversDevice drivers File driversFile drivers
MicrosoftMicrosoftMicrosoftMicrosoft OEMOEMOEMOEM ISV, OEMISV, OEMISV, OEMISV, OEM
Windows CE ArchitectureWindows CE Architecture
Windows CE Memory MapWindows CE Memory Map
System Reserved(kernel mode space)
0000 0000
64MB 0400 0000
4200 0000
8000 0000
4GB FFFF FFFF
Active ProcessActive ProcessActive ProcessActive ProcessActive ProcessActive ProcessApplication Space
Reserved
Large Memory Area(memory mapped files)
.
.
.
Memory Map Reveled Memory Map Reveled
Slot 1Slot 0
Slot 2Slot 3
Slot 32
Kernel Space
0000 00000200 00000400 00000600 00000800 0000
3E00 00004000 00004200 0000
8000 0000
FFFF FFFF
DLLsProcess 2
Process 3
Process 31Process 32
Act. Process
Large Memory Area(memory mapped files)
Slot 31
NK “Slot”C200 0000
CE Application Memory MapCE Application Memory MapCOREDLL.DLL
0000 00000001 0000
Read only data
03FF FFFF
Code
Read write data
reserved
Other XIP DLLs
Resources
Stack (reserved space) Heap (reserved space)
Free virtual space
Application Specific Space
XIP DLL space
0200 0000
DLL Space (Constant for all
applications)
non-XIP DLLs
Windows CE is DifferentWindows CE is DifferentDifferent Hardware, Different NeedsDifferent Hardware, Different Needs
Desktop/Laptop PCDesktop/Laptop PC2 GHz Pentium IV2 GHz Pentium IV256 K 256 K 512 K cache 512 K cache512 M 512 M 1 G DRAM 1 G DRAM100 G hard drive100 G hard drive1280x1024 display1280x1024 display2 2 4 hour battery 4 hour battery requirementrequirement50 Watts50 WattsKeyboard & mouseKeyboard & mouseExtensible throughExtensible through
PCI, AGC, USB, EISA, PCI, AGC, USB, EISA, 1394, PC-Card, CF, 1394, PC-Card, CF, enet, …enet, …
DeviceDevice400 MHz RISC400 MHz RISC4 K 4 K 8K cache 8K cache4 M 4 M ~32 M DRAM ~32 M DRAM4 M 4 M ~32 M Flash / ROM ~32 M Flash / ROM170x170 170x170 640x480 640x48024 hour battery 24 hour battery requirementrequirement<1 to 2 Watts<1 to 2 WattsStylus or ThumbStylus or ThumbNot very extensibleNot very extensible
PC-Card, SD, CFPC-Card, SD, CF
ToolsToolsPlatform Builder Platform Builder
Integrated Development EnvironmentIntegrated Development EnvironmentUnified build system Unified build system
CompilerCompilerLink time code generation Link time code generation
Buffer security check - run-time protection of buffer overrunsBuffer security check - run-time protection of buffer overruns
General performance enhancementsGeneral performance enhancements
DebuggerDebuggerWindows Error Reporting Windows Error Reporting
eXDI2 - single debugger to assist in debugging hardwareeXDI2 - single debugger to assist in debugging hardware
Break point improvementsBreak point improvements
Profiling ToolsProfiling ToolsEmulator performance, security, and debugging updatesEmulator performance, security, and debugging updates
Windows CE 5.0Windows CE 5.0
Windows CE 5.0, over 300 changes or Windows CE 5.0, over 300 changes or improvements over Windows CE 4.2improvements over Windows CE 4.2
Typically, releases include updates to Typically, releases include updates to Technologies and/or processor Technologies and/or processor supportsupport
Delta from 4.2 followsDelta from 4.2 follows
Core Operating SystemCore Operating SystemKernel, Storage and File SystemKernel, Storage and File System
Shared heap memoryShared heap memoryImproves performance on inter-process retrieval dataImproves performance on inter-process retrieval data
Watchdog timerWatchdog timerAllows applications to set a timer in the OS to recover from hung appsAllows applications to set a timer in the OS to recover from hung apps
64 system interrupts64 system interruptsKernel supports 64 system interrupts (SYSINTRs)Kernel supports 64 system interrupts (SYSINTRs)
Power down threadPower down threadKernel handles powering down hardware in a thread with highest priorityKernel handles powering down hardware in a thread with highest priority
Embedded database (EDB)Embedded database (EDB)Based on SQL Server CE 3.0 with advanced database functionalityBased on SQL Server CE 3.0 with advanced database functionality
Write-back cacheWrite-back cacheNon-removable media file systems Non-removable media file systems
ATAPI enhancementsATAPI enhancements
Core Operating SystemCore Operating SystemDevice DriversDevice Drivers
Production quality drivers (PQD)Production quality drivers (PQD)Over 50 PQD drivers in the box in addition to sample driversOver 50 PQD drivers in the box in addition to sample drivers
USB 2.0 host and function USB 2.0 host and function HID, Mass storage, Printer, RNDIS, SmartCardHID, Mass storage, Printer, RNDIS, SmartCard
SDIO hostSDIO hostClient driver interface compatible with SDIO Now! Client driver interface compatible with SDIO Now!
New model for PC cardNew model for PC cardFully supports 16 and 32-bit PC cards, Cardbus and Installable ISRsFully supports 16 and 32-bit PC cards, Cardbus and Installable ISRs
Device managerDevice managerNew design for bus drivers supporting removable mediaNew design for bus drivers supporting removable media
File system driver manager File system driver manager Can now flush and lock file systems individuallyCan now flush and lock file systems individually
Core Operating SystemCore Operating SystemBoard Support PackagesBoard Support Packages
Production quality OAL supportProduction quality OAL supportDesigned to minimize modifications made by the Designed to minimize modifications made by the OEM and reduce overall development timeOEM and reduce overall development time
BSP test suiteBSP test suiteAutomated testing that replaces previous manual Automated testing that replaces previous manual processprocess
New and updated BSP support for New and updated BSP support for most popular hardwaremost popular hardware
Core Operating SystemCore Operating SystemBrowserBrowser
Blocking pop-up windowsBlocking pop-up windowsDisables window.openDisables window.open
RPC support for IERPC support for IERequirement for some websites to render properlyRequirement for some websites to render properly
Platform for privacy preferences (P3P)Platform for privacy preferences (P3P)IE will now be able to display sites with a P3P policyIE will now be able to display sites with a P3P policy
Support theming for IE controlsSupport theming for IE controlsIE intrinsic controls can be displayed using skinsIE intrinsic controls can be displayed using skins
Filters and transitionsFilters and transitionsImproved user experience and presentation of web contentImproved user experience and presentation of web content
IE 6.0 sampleIE 6.0 sampleAuto complete URL, Status bar, Internet Settings Control PanelAuto complete URL, Status bar, Internet Settings Control Panel
TV lens support TV lens support Fixed width layoutFixed width layout
Core Operating SystemCore Operating SystemShellShell
Common controls Common controls Animation control, List view, Image listAnimation control, List view, Image list
Shell explorer and APIsShell explorer and APIsAllows an ISV to create custom context menus for Allows an ISV to create custom context menus for their data typestheir data types
Explorer recycle binExplorer recycle binSupport without a RAM file systemSupport without a RAM file system
HPC ShellHPC ShellImproved Taskbar code for easier OEM Improved Taskbar code for easier OEM customizationcustomization
Core Operating SystemCore Operating SystemInternationalInternational
Input languageInput languageInfrastructure to support more then one language keyboard layout per Infrastructure to support more then one language keyboard layout per imageimage
MUI across East Asian languagesMUI across East Asian languagesEnables inclusion of more than one East Asian language in an imageEnables inclusion of more than one East Asian language in an image
Complex script enablementComplex script enablementImproved “in the box” support for additional, more complex languages Improved “in the box” support for additional, more complex languages
MSPY 3.0 for Simplified ChineseMSPY 3.0 for Simplified ChineseBased on latest desktop version of the Pinyin IMEBased on latest desktop version of the Pinyin IME
Shuang Pin on-screen keyboard for MSPY 3.0Shuang Pin on-screen keyboard for MSPY 3.0Reduces input error based Reduces input error based
National language support (NLS) updatesNational language support (NLS) updatesUses the same infrastructure as the desktop so development is more Uses the same infrastructure as the desktop so development is more familiar and broadly understoodfamiliar and broadly understood
Core Operating SystemCore Operating SystemNetworking Networking
Wireless LAN – Wi-Fi (Native 802.11)Wireless LAN – Wi-Fi (Native 802.11)WPA support on both AP and station sides WPA support on both AP and station sides
BluetoothBluetoothSDIO support, new profile support: PAN, Headset, HIDSDIO support, new profile support: PAN, Headset, HID
New IPv6 service support New IPv6 service support DNS / Dynamic DNS, SNTP, MSMQ, Web ProxyDNS / Dynamic DNS, SNTP, MSMQ, Web Proxy
Peer to PeerPeer to PeerProvide ad hoc and managed infrastructure for secure communicationProvide ad hoc and managed infrastructure for secure communication
UPnP AV toolkitUPnP AV toolkitAV schema support to standardize audio/visual device intelligenceAV schema support to standardize audio/visual device intelligence
Real-time communications supportReal-time communications supportWindows Messenger 5.0 - multiple points of presence (MPOP)Windows Messenger 5.0 - multiple points of presence (MPOP)
Remote Desktop Protocol (RDP)Remote Desktop Protocol (RDP)File redirection filter - faster and more reliable clientFile redirection filter - faster and more reliable client
Core Operating SystemCore Operating SystemMultimediaMultimedia
Direct3D MobileDirect3D MobileCOM-based D3D programming model built on DirectX 8COM-based D3D programming model built on DirectX 8
Graphics Device Interface (GDI)Graphics Device Interface (GDI)Faster graphics and text rendering, alpha blendingFaster graphics and text rendering, alpha blending
Display drivers Display drivers ((Silicon Motion Cougar, ATI Rage XL, Single Silicon Motion Cougar, ATI Rage XL, Single Flat driver)Flat driver)
Test kit and benchmarking tools for driver optimizationTest kit and benchmarking tools for driver optimization
Fast Start Fast Start Decreases playback start time for multimediaDecreases playback start time for multimedia
Still image supportStill image supportSingle library to support still image codecs (JPG, GIF, PNG, TIFF, Single library to support still image codecs (JPG, GIF, PNG, TIFF, BMP and ICO)BMP and ICO)
Updating Windows Media codecs to support:Updating Windows Media codecs to support:WMA Pro, WMA Lossless , WMV Advanced Profile (Broadcast)WMA Pro, WMA Lossless , WMV Advanced Profile (Broadcast)
Core Operating SystemCore Operating SystemSecuritySecurity
General security effortsGeneral security effortsExtensive security reviewsExtensive security reviews
Cryptography / PKICryptography / PKIAdvanced Encryption Standard (AES)Advanced Encryption Standard (AES)
Will apply for FIPS 140-2 Level 1 certificationWill apply for FIPS 140-2 Level 1 certification
CryptMsg APIs (CAPI) (PKCS #7) CryptMsg APIs (CAPI) (PKCS #7) Support for S/MIME (secure MIME / e-mail format)Support for S/MIME (secure MIME / e-mail format)
Upgrading certificate chaining engineUpgrading certificate chaining engineImproves OS robustness Improves OS robustness
New local authentication sub-system (LASS)New local authentication sub-system (LASS)Modular device lock down mechanismModular device lock down mechanism
Credential Manager enhancementsCredential Manager enhancementsImproved secure cachingImproved secure caching
Technical ChallengesTechnical ChallengesRemote device management – reflash entire O/S or portions Remote device management – reflash entire O/S or portions
Fast, reliable, secure file systems for devicesFast, reliable, secure file systems for devices
Transacted file systems, and file system cachingTransacted file systems, and file system caching
Sandboxing of untrusted drivers and services Sandboxing of untrusted drivers and services
Trust models for 3Trust models for 3rdrd party applications and drivers party applications and drivers
Hardware security systems Hardware security systems
Digital rights on a mobile device Digital rights on a mobile device
Efficient, robust, light weight implementation of symmetric Efficient, robust, light weight implementation of symmetric multiprocessing and simultaneous multi-threading on small multiprocessing and simultaneous multi-threading on small systems with strict power requirements and real time systems with strict power requirements and real time constraints. constraints.
Network traversal through NAT and firewallNetwork traversal through NAT and firewall
Ad-hoc networksAd-hoc networks
Source and SharingSource and SharingShared Source ProgramShared Source Program
Access to over 2.5 M lines of source codeAccess to over 2.5 M lines of source code
Available in all versions of Windows CE .NET Available in all versions of Windows CE .NET
Academic edition for courseware creationAcademic edition for courseware creation
Shared Platforms ProgramShared Platforms Program
Ability to share non-commercial run-times Ability to share non-commercial run-times http://www.microsoft.com/Windows/Embedded/community/sharedplatforms/http://www.microsoft.com/Windows/Embedded/community/sharedplatforms/
Windows Embedded Academic ProgramWindows Embedded Academic Program
See you at the DemoFest!See you at the DemoFest!http://msdn.microsoft.com/embedded/community/academic/http://msdn.microsoft.com/embedded/community/academic/
[email protected]@microsoft.com
Shared Source: What is IncludedShared Source: What is Included
OEM HardwareOEM Hardware
Embedded ShellEmbedded Shell
ApplicationsApplicationsApplicationsApplications
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell ServicesWindows CE Shell Services
Remote Connectivity
Remote Connectivity
KernelLibraryKernelLibrary
IrDAIrDA
GWESGWES Device ManagerDevice
ManagerFile
ManagerFile
Manager TCP/IPIPv6
TCP/IPIPv6
OALBootloader
OALBootloader DriversDrivers Device
DriversDevice Drivers File DriversFile Drivers
Mostly Mostly AvailableAvailableMostly Mostly
AvailableAvailableNot Not
AvailableAvailableNot Not
AvailableAvailableISV, OEM ISV, OEM ProvidedProvidedISV, OEM ISV, OEM ProvidedProvided
Windows CE 5.0Windows CE 5.0
TodayToday 2005+2005+
Mobile and Embedded Mobile and Embedded RoadmapRoadmap
Further InformationFurther Information
Windows Embedded Home PageWindows Embedded Home Pagehttp://msdn.microsoft.com/embeddedhttp://msdn.microsoft.com/embedded
Mikehall’s BlogMikehall’s Bloghttp://blogs.msdn.com/mikehallhttp://blogs.msdn.com/mikehall
NewsgroupsNewsgroupshttp://msdn.microsoft.com/embedded/communityhttp://msdn.microsoft.com/embedded/community/community/newsgrp/default.aspx/community/newsgrp/default.aspx
AcademicAcademichttp://msdn.microsoft.com/embedded/cohttp://msdn.microsoft.com/embedded/community/academic/default.aspxmmunity/academic/default.aspx
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.