Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit...
Transcript of Mike Hall - Microsoft · Windows CE 6.0 Tools SP1 Microsoft Windows Vista support ... Toolkit...
Mike HallSoftware ArchitectMicrosoft [email protected]://blogs.msdn.com/mikehall
Windows Embedded
Agenda
.NET MicroFramework
Windows Embedded CE 6.0 SP1
Windows XP Embedded
Microsoft Robotics Studio
Portable Media Center
Extending the Microsoft Embedded Story
Windows Mobile
Smartphone
Increasing Functionality
Windows CE
Windows Mobile
Pocket PC Phone
Wearable Devices
Windows XP Embedded
Windows
Automotive
VoIP Phones
Mobile
Handhelds
Gateways
Set-top Boxes
Medical Devices
Windows-based
Terminals
Retail Point-of-Sale
Entertainment Devices
Sensor Nodes
Auxiliary Displays
Health Monitoring
Remote Controls
Security
Building Automation
Visual Studio + Managed Code
Decreasing Size
Small is Beautiful.NET Micro Framework
Architecture: PhilosophyBootable .NET
Benefits of managed code, close to the metal
ISVs follow similar decision-making process to developing .NET apps on the desktop
Not appropriate for all applications
Emphasis on robust development environment, code execution safety
.NET Micro Framework represents first entry down a path
Continuing work on reducing footprint
Commitment to highly configurable solution
High degree of integration with other MS initiatives
Architecture: Stack
Internals:Common Language Runtime (CLR)
Derived from ECMA (CLI) standard
CLS/CTS/VES
No unsafe instructions supported
A few extensions appropriate for embedded environments
Small footprint
runtime + framework library: ~200 KB
<500KB full featured (UI, XML, …)
System.Web System.Windows.Forms
System.Data System.XML
System
• Services• Description
• Discovery
• Protocols
•UI• HTML controls
• Web controls
Design
Configuration
Cache
Session state
Security
Imaging
Drawing 2D
Text
Printing
Design
ADO.NET
SQL ServerCE
SQL Client
Xslt/XPath
XML Document
Reader/writers
Serialization
Service process
Configuration
Threading
Diagnostics
Net
IO
Resources
Reflection
Security
Collections
Globalization
Text
Component model
.NET MicroFramework
• Interop services
• Runtime
• Serialization
• Remoting
System.Drawing
Internals: Target environmentsSupported chipset
ARMARM7TDMI, 25/27.6Mhz, 384Kb RAM, 1/2Mb FLASH, 8Kb D/I cache
ARM920T, 96Mhz, 4Mb RAM, 2Mb FLASH, 16Kb D/I cache
ARM Cortex M3 (in development)
Supported platforms (as a hosted runtime)
M68k
Windows XP
Net+OS
Porting to new HW requires new HAL
~80-100 API calls
Porting to new platform requires new PAL
~20-40 API calls
A porting kit (DDK) will be available soon
User Interface
Based on WPF (Avalon)
Input event routing
Layout systemContent sizing
Text flow
Nestable controls
Fonts
Images
Pens, brushes, colors
Vector Primitives
Alpha-blendingApplicable to all primitives
Tool Chain
Microsoft Visual Studio 2005
Project system/templates
Post-build processing
Deploy to device (USB, serial, TCP/IP) or emulator
Interactive debugging in VS IDE
Breakpoints
Memory inspection
Tracing
Extensible Device Emulator
Windows Embedded CE 6.0
CE 6.0 tools and Vista
VS 2005
VS 2005 SP1
VS 2005 SP1 for Vista
Windows Embedded CE 6.0
.NET Compact Framework 2.0 SP2
March 2007 QFE Rollup
CE 6.0 SP1
Windows CE 6.0 Tools SP1
Microsoft Windows Vista support (also good for XP!)
Quality improvements (~250 bug fixes in Debugger alone)
HW Assist debugging, Full OS Awareness
New eXDI Device Emulator sample
New CEDebugX Debugger extension
Remote Tools Framework (RTFx)
New Tools Only release
Windows CE 6.0 Tools SP1
We provide sample with PB for third-party probe vendors to jump-start eXDI development
Provides interface for the PB System debugger to HW Assist debug Windows Mobile/CE platforms
New Device Emulator eXDI sample
CEDebugX
Debugger extension that completes the debugging experience for Windows Mobile and Embedded by providing more discipline-specific information and an automatic diagnosis mechanism
Sits on top of the target control window and is accessible at break time.
Use !help for a list of available commands
Available at CE 6.0 Platform Builder SP1 for both Windows Mobile 5.0 and CE 6.0 operating systems
Debugger extension
CEDebugX
Complete the debugging experience
Provide deep system information
Thread lists (all, run, sleep, blocked)
Proxy lists, events
Provide discipline specific information
Window lists, GDI table, MSG Queues
Screenshot, heap information
Provide product knowledge
Automatic diagnosis of deadlocks, CPU starvation, heap corruption, memory issues, exceptions
Hints of what could be going wrong on the device
Debugger extension
Introducing the Remote Tools Framework
The new framework for remote tools development
Simplified desktop-side UI development using .NET
Highly-abstracted connectivity and command packet APIs
Plug-ins delivered as a single-file for easier distribution
For anyone who wants to:
Develop a remote tool with ease
Distribute a remote tool without complicated setup
Have a unified experience in using a remote tool
How Does the Remote Tools Framework Work? (cont'd)
Two command handler modes
Synchronous
Desktop initiates the command
Waits for response from device
Updates desktop view
Asynchronous
Device initiates the command
Desktop view updates
Windows XP Embedded
Windows XP Embedded Roadmap
Based on Vista
File-based Write Filter
USB Boot
Footprint, reliability, productivity improvements
Rollup of WMP11, IE7, RDP6, .NET3.0, UMDF
XP SP3
Unified Setup
Plus??? If we could do just one thing for you…
Windows Embedded Customer Needs
Power developers – served today through Windows XP Embedded
Need full granularity, customization due to hard requirements
Proficient in Target Designer
Will customize beyond out-of-the-box componentization
Express developers/enterprises – served today through Windows Embedded for Point of Service
No footprint constrained, quick build, easy servicing
Embedded Customer Needs
Power
Developer
Express
Developer
Toolkit Setup
vNext +1 Product vs. Current (XPe)
Features vNext+1 Windows XP Embedded
Windows Vista technologies Same as Windows Vista Ultimate Subset available on Windows XP Professional
e.g., Windows Media Player 11, Internet Explorer 7
Image Build Modified Windows Vista (OPK):
- Windows setup
- Windows System Image Manager
- Package Manager
- WIM
Embedded Studio Toolkit:
- Target Designer
- Component Designer
- DB Manager
- Target Analyzer
Processor support 32-bit (x86)
64-bit (x64)
32-bit (x86)
OS Image Footprint Larger compared to Windows XPe
Image size > 300 M
Min image size 40-50M
OS Building Blocks Very coarse (<100)
Driver Packs (<1000)
Granular OS components (~1000)
Granular Drivers (~9000)
vNext+1 Product vs. Current (XPe) (cont'd)
Features vNext+1 Windows XP Embedded
Build Time Striving for improvement compared to Windows XPe
CD+TD build time
Team Sharing WIM location shared across network (distribution share)
Component database shared on the network
Deployment tools Windows Deployment Services
Windows OPK (WinPE 2.0)
CD Boot, USB Boot
PXE Boot, Remote Installation
WinPE 1.0
CD Boot, USB Boot
Embedded Enabling Features Parity with Windows XPe EWF, FBWF, etc
Servicing OEM Servicing
Device Servicing (Windows Update)
Image updates only (OEM Servicing)
Activation Required Not required
Image Building Concepts
Embedded Core
(Bootable)
Embedded
OS
Enhanced
Write Filter
Internet
Explore
r
Lang Packs/
Driver Packs
3rd Party
Software
Installer
OS Updates
Update
Package
Feature
PackageEEF Package
Image-
Based
Setup
OS Image Building Blocks (cont'd)
Every image is built using:
The Embedded Core
Feature Packages (e.g., Internet Explorer 7, Windows Media Player 11)
Language Packages (e.g., English-US)
Driver Packs (e.g., printers and display)
Embedded Enabling Features (e.g., FBWF)
OS updates
Third-party software and drivers
The building blocks are combined in Image-Based Setup to create an image
Feature Packages
Logical collections of functionality, e.g.:
Windows Media Player 11
Internet Explorer 7
Network Security
Expect less than 100
Signed and serviceable by Microsoft
Binaries and resources can not be tweaked
Tweaking breaks servicing
Configurable Settings
Embedded Enabling Features
The goal is to have Windows XPe parity:
Write Filters (EWF, EWF HORM, FBWF, Registry Filter)
USB Boot
Device Update Agent
MessageBox default reply
Custom Shell support
Current Status of the Product
Currently in product planning phase
Yet to be defined:
SKUs
Pricing
Licensing
Give us your feedback and requirements!
Customer Programs
Early Technology Adoption Program (TAP)
Partner with the development team
Shape the final product
Late 2007
Community Technology Preview (CTP)
Public access to builds and documentation
https://connect.microsoft.com/windowsembedded
Early 2008
Microsoft Robotics Studio
Shared Challenges… Input from industry, hobbyists, academia, research, etc.
Configuring sensors and actuators in running system
Monitoring/interacting/debugging running system
Coordinating sensors and actuators asynchronously
Span multiple compute units
Starting and stopping components dynamically
Development when access to robot is limited
Rapid application development and re-use of
components across hardware platforms and devices
Microsoft Robotics Studio
Runtime environment
Execute, monitor, and interact with robotics applications
Authoring environment
Write, orchestrate, and deploy robotics applications
Simulation environment
Execute robotics applications using simulated hardware, physical entities, and terrain
Addressing the challenges
Microsoft Robotics StudioHigh-level architecture
Runtime Environment
Concurrency and
Coordination Runtime
(CCR)
Decentralized Software
Services (DSS)
Services
Simulation
Orchestration
Devices
Interaction
Internet
Explore
Win
Forms
Visualization
&
Simulation
Authoring Environment
Visual
StudioVPL
Other
…
Other..
Authoring Environment
Many choices for creating robot applications
Using a Web browser
Inspect/change service state
JScript (Javascript) as application development language
Visual Studio and .NET support
C# (Desktop and Windows Embedded CE 6.0)
Visual Basic .NET (Desktop and Windows Embedded CE 6.0)
C++/CLI
Iron Python
Authoring Environment
Dataflow editing
Drag and drop
Service blocks
Messages as connections
Novice to expert
Visual programming language
Visual Programming Environment
Summary
Huge opportunity
Breadth of operating system technologies
Amazing tools
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it
should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.