Академический Документы
Профессиональный Документы
Культура Документы
Slide 2
.NET Micro Framework History
Slide 3
Convergence of trends in embedded
Slide 4
New Opportunities
Industrial Automation
Corporate IT Servers to Shipping Palettes
Home Automation
Presence and Home Dashboards
Healthcare
Body Monitoring, Elder Care
Retail
Card Readers, Point of Purchase Devices
Remote Displays
Conference Messaging, Remote Controls
Slide 5
What is needed?
Power efficient
Slide 6
Extending the MS Embedded Story
Portable Media
Entertainment
Center
Remote Controls Set- VoIP phones Medical devices devices
Set-top boxes
Slide 7
Selecting an Embedded Platform
.NET Micro
Windows CE Windows XPe
Framework
Sensor Nodes, Aux
GPS Handhelds, PDAs, Thin Clients, ATMs,
displays, Health
Example Devices Monitoring, Remote
Automotive, Set Top
Boxes Kiosks
Controls, Robotics
Connected, Graphical PC-class performance,
Connected, Small,
Device Features Wearable, Graphical UI
UI, Server, Browser,
RAS, DirectX PC networking
Slide 8
The Microsoft .NET Micro Framework
Extending .NET to smaller devices
Slide 9
Runtime Features
UI/Shell
Bitmap fonts
Images
Pens, brushes, colors
Vector primitives
Alpha blending
Slide 10
Embedded Specific Features
Power management
Managed Code Drivers
Validation in post-compilation
Prioritized Persistence
Customizable Bootloader with optional signatures
Slide 11
Tools
Slide 12
Architecture
Goals
Bootable .NET
Minimal native code core
Application space entirely managed
Safe
No direct access to hardware resources
Managed drivers to safe access
Secure
Signed assemblies only
Extensible
Portable
Slide 13
Architecture
Slide 14
.NET Framework
System.Web System.Windows.Forms
Services UI Component
Description HTML controls Design
model
Discovery Web controls
Protocols
System.Drawing
Cache Security Drawing 2D Printing
Configuration Session state Imaging Text
System.Data System.XML
ADO.NET SQL Client XML Document Serialization
Design SQL ServerCE Xslt/XPath Reader/writers
System
Collections IO Configuration
Runtime
Security Net Service process Interop services
Text Reflection Diagnostics Remoting
Serialization
Globalization Resources Threading
Slide 15
.NET Compact Framework
System.Web System.Windows.Forms
Services UI Component
Description HTML controls Design
model
Discovery Web controls
Protocols
System.Drawing
Cache Security Drawing 2D Printing
Configuration Session state Imaging Text
System.Data System.XML
ADO.NET SQL Client XML Document Serialization
Design SQL ServerCE Xslt/XPath Reader/writers
System
Collections IO Configuration
Runtime
Security Net Service process Interop services
Text Reflection Diagnostics Remoting
Serialization
Globalization Resources Threading
Slide 16
.NET Micro Framework
System.Web System.Windows.Forms
Services UI Component
Description HTML controls Design
model
Discovery Web controls
Protocols
System.Drawing
Cache Security Drawing 2D Printing
Configuration Session state Imaging Text
System.Data System.XML
ADO.NET SQL Client XML Document Serialization
Design SQL ServerCE Xslt/XPath Reader/writers
System
Collections IO Configuration Runtime
Security Net Service process Interop services
Text Reflection Diagnostics Remoting
Globalization Resources Threading Serialization
Slide 17
Runtime Features
UI/Shell
Bitmap fonts
Images
Pens, brushes, colors
Vector primitives
Alpha blending
Slide 18
Runtime Features
Slide 19
Runtime Features
Timers
using System.Threading;
Slide 20
Runtime Features
Serialization
~60% smaller than .NET Framework
Reflection
Remote Procedure Call (RPC)
Invoke methods on remote objects
Implementation is specific to .NET Micro Framework
Security
XTEA (symmetric)
RSA (asymmetric)
Exception handling
Delegates / multicast delegates
Typed Function pointers
Enables events dispatching and event driven programming vs. poll driven
Slide 21
Runtime Features
Networking
Support for wired and wireless Ethernet
Sockets from System.Net namespace
Managed Drivers
Direct control of GPIO, PWM, I2C, SPI bus, and USART
in C# code
GPIO interrupts safely dispatched into managed
application space
Slide 22
Runtime Features
using System.Threading;
using Microsoft.SPOT.Hardware;
MyButton.OnInterrupt +=
new GPIOInterruptEventHandler( this.MyInterruptHandler );
Slide 23
Runtime Implementation
Slide 24
Runtime Implementation
Assembly loader
Performs minimal validation of post-processed assemblies
Registers types with type system
Integrated support in Visual Studio
Slide 25
Runtime Implementation
Execution Engine
No native thread scheduler
Manages native work queues
Invokes native code
Non-traditional interoperability
Garbage collector
Non-incremental mark-and-sweep
50ms per 1M (depending on # of objects)
Support for non-volatile storage
Provides a basic object persistence mechanism
Slide 26
Runtime Implementation
HAL
Compact
~40K (including base drivers)
Slide 27
Current Environment Support
Slide 28
Porting
Porting Training
First session held July 2006
Combination of OEMs and ISVs
ISVs include:
3SOFT
Weschler Software
SJJ/EMAC
Embedded Fusion
OpenNetCF
MCP Data
Slide 29
Windows SideShow
Slide 30
Roadmap
Slide 31
Partners
Slide 32