Presentation is loading. Please wait.

Presentation is loading. Please wait.

Max Knor Developer Evangelist Microsoft Österreich Embedded Development mit.NET oder „Small Is Beautiful“

Similar presentations


Presentation on theme: "Max Knor Developer Evangelist Microsoft Österreich Embedded Development mit.NET oder „Small Is Beautiful“"— Presentation transcript:

1 Max Knor Developer Evangelist Microsoft Österreich Embedded Development mit.NET oder „Small Is Beautiful“

2 Windows Mobile Smartphone Functionality Windows Vista Tablet PC Windows Mobile Pocket PC Phone.NET Micro Framework Notebook PC Windows Automotive Portable Media Centre VoIP Phones Mobile Handhelds Gateways Set-top Boxes Medical Devices Windows-based Terminals Thin Clients Entertainment Devices Retail Point-of-Sale Office Automation ATMs / Kiosks Industrial Automation Set-top Box Wearable Devices Auxiliary Displays Remote Controls Sensor Networks Windows XP Embedded Windows CE

3 Embedded Devices are tiny platforms Remote Controls Data loggers Device Controllers Single Purpose Device The processor is there just to drive the device High volume/ Low cost No need for an operating System

4 C or C++ with low abstraction level Different tools and device drivers Debugging ?! Emulation / Testing ?! Reusability ?!

5 „.NET way of dev“ for Embedded Devices Same language: C# Managed environment Familiar APIs Visual Studio IDE Hardware Emulators

6 .NET on a “TINY Footprint” device <400 KB of RAM No memory management hardware No Operating System Applications run from Flash memory (EEPOM) Subset of the full.NET Framework

7 .NET Micro Framework Windows CEWindows XP Embedded Windows Vista Device Features Connected, Small, Wearable, Graphical UI Connected, Graphical UI, Server, Browser, RAS DirectX PC Class Performance, PC Class Networking FootprintARM 7, ARM 9, No MMU, 250- 500KB, Managed Code X86, MIPS, SH4, ARM, with MMU, 12 MB Managed Code X86X86 Dual Core, 64 Bit, Multi Processor PowerVery Low PowerLow PowerMains

8 C# code compiled to MSIL code MSIL code compressed to.PE file (MetaDataProcessor.exe) MSIL code gets interpreted at runtime (NOT JIT compiled!) For code: normal.NET assembly

9 No strange bitmasks or control registers.NET MF provides abstraction Object Model with classes, events, …

10 // Which pin to connect Cpu.Pin pin = Cpu.Pin.GPIO_Pin3; // Create a port connected to a pin InputPort port = new InputPort( pin,//CPU pin false, //no glitch filter Port.ResistorMode.PullUp //resistor mode is up ); // Read from the pin If (port.Read()) Debug.Print(“signal high”); // Which pin to connect Cpu.Pin pin = Cpu.Pin.GPIO_Pin3; // Create a port connected to a pin InputPort port = new InputPort( pin,//CPU pin false, //no glitch filter Port.ResistorMode.PullUp //resistor mode is up ); // Read from the pin If (port.Read()) Debug.Print(“signal high”);

11

12 .NET Micro Framework works without OS Native execution using bootable runtime system

13

14 Serialization ~60% smaller than.NET Framework Reflection Remote Procedure Call (RPC) Invoke methods on remote objects (.NET Micro Framework custom implementation ) Security XTEA (symmetric), RSA (asymmetric) Exception handling Delegates / multicast delegates Typed Function pointers Enables events dispatching and event driven programming vs. poll driven Networking Support for wired and wireless Ethernet Sockets from System.Net namespace Managed Drivers C# implementations of GPIO, PWM, VTU32, I2C, SPI bus and USART

15 Services Description Discovery Protocols Services Description Discovery Protocols UI Controls HTML Web UI Controls HTML Web Runtime Interop Remoting Serialization Runtime Interop Remoting Serialization 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 System.Drawing System.Windows.Forms System.Web System.Data System.XML System

16 Services Description Discovery Protocols Services Description Discovery Protocols UI Controls HTML Web UI Controls HTML Web Runtime Interop Remoting Serialization Runtime Interop Remoting Serialization 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 System.Drawing System.Windows.Forms System.Web System.Data System.XML System

17 Services Description Discovery Protocols Services Description Discovery Protocols UI Controls HTML Web UI Controls HTML Web Runtime Interop Remoting Serialization Runtime Interop Remoting Serialization 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 System.Drawing System.Windows.Forms System.Web System.Data System.XML System

18 Microsoft.SPOT.Hardware.pe Microsoft.SPOT.Emulator.dllEmulatorNative.dll Microsoft.SPOT.Native.pe Microsoft.SPOT.Graphics.pe MFApplication.pe MyEmulator.exe UI MyComponent EmulatorComponents SpiDevice GpioPort SpiDevice GpioPort my.config Configuration Engine x86 HAL / PAL TinyCLR (x86)

19 Microsoft.SPOT.Hardware.pe Microsoft.SPOT.Native.pe Microsoft.SPOT.Graphics.pe MFApplication.pe HAL / PAL TinyCLR

20

21 Two levels of display provision Simple bitmap support Images, shapes, simple text rendering and wrapping Windows Presentation Foundation WPF based display elements No XAML/Just Object Model

22 No file system for Micro Framework Store information in memory using standard.NET objects and value types Microsoft.SPOT.ExtendedWeakReference Maintain data between sessions Priority levels ID value = “filename”

23

24 Power Requirements Only execute code when necessary Reduce Thread.Sleep: use interrupts/events Debugging and Performance Tuning Debug.Print uses approx. 30ms of CPU time Aggregate statistics Subtract Debug.Print time

25 .NET Platform for Embedded Devices No operating system necessary Customizable Emulator Environment WPF subset for LCD displays

26 Interesting Blog on.NETMF http://www.christec.co.nz/blog/archives/category/net-micro- framework/ Pull-up resistor http://en.wikipedia.org/wiki/Pull-down_resistor http://download.microsoft.com/download/C/3/F/C3FBAF4A -788D-4E0C-9A6D- 29330D8791E0/SocketClient_Meet_SocketServer.pdf http://www.robmiles.com/net-micro-faq/

27 © 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.


Download ppt "Max Knor Developer Evangelist Microsoft Österreich Embedded Development mit.NET oder „Small Is Beautiful“"

Similar presentations


Ads by Google