.NET Micro Framework

from Wikipedia, the free encyclopedia

.NET Micro Framework

.NET Micro Framework Logo.png
Basic data

developer Microsoft
Publishing year around 2007
Current  version 4.4
(around Oct. 2015)
operating system Microsoft Windows
programming language C ++
category platform
License Apache license 2.0
German speaking No
www.netmf.com/
netmf.github.io/ (from version 4.4)
netmf.codeplex.com/ (up to version 4.3)

The .NET Micro Framework from Microsoft is a descendant of the .NET Framework for programming embedded systems with few resources such as drinks machines or on-board systems in automobiles.

overview

For example, the MSN Watch is operated with the .NET Micro Framework. Another field of application are SideShow gadgets that of Windows Vista are supported. In April 2007, Digi International presented the first Ethernet network solution with its Digi Connect ME communication module.

The development concept is based on the .NET Framework. However, only C # is used as the programming language .

Technical details

The development with the Micro Framework is fundamentally different from the development for Windows CE with the .NET Compact Framework . The micro framework itself acts as the operating system directly on the hardware. A corresponding hardware abstraction layer is integrated in the micro framework.

The micro framework is not a real-time system . The code is not compiled at runtime with the help of the just-in-time compiler, as is usual with the other .NET Frameworks , but interpreted . However, the associated loss of speed can be compensated for by implementing the performance-critical code segments as native code and calling them up via interop .

Hardware abstraction layer

The hardware abstraction layer (HAL) can communicate with the common language runtime (CLR) using delegates and events . It is thus possible to put the device into a sleep state, but still be able to react to certain events.

Driver in the HAL

The following drivers are already integrated in the HAL:

With the Micro Framework it is still possible to write drivers in managed code .

Multithreading

The Micro Framework provides multithreading even if the underlying hardware does not support it. On closer inspection, the Execution Engine is not a multithreaded engine. Rather, it can be viewed as a simulator of one. The context change takes place in 20 ms intervals, threads can be prioritized and support interruptions.

Garbage collection

The garbage collector has also seen some changes. Due to the mostly very small main memory on the target systems, a hierarchical garbage collector was dispensed with. Instead, a mark-and-sweep algorithm is used. This is also optimized by storing metadata on the heap.

In order to further improve the use of the main memory, the garbage collector has been extended so that it can swap data to non-volatile memory when the associated application is inactive.

Class library

The Micro Framework contains a subset of the classes of the .NET Framework . When selecting the namespaces , care was taken to integrate only those parts into the micro framework that are necessary for the operation of small, autonomous devices.

In addition to the namespaces of the .NET Framework, the namespace SPOT was added, which is only used in the Micro Framework. SPOT stands for Smart Personal Objects Technology and is the Microsoft terminology for electronic devices such as watches, alarm clocks, key fobs, etc. that make information accessible to their owners.

The fully or partially inherited namespaces of the .NET Base Class Libraries:

  • system
  • System.Collections
  • System.Diagnostics
  • System.Globalization
  • System.IO
  • System.Net
  • System.Net.Sockets
  • System.Reflection
  • System.Resources
  • System.Runtime.CompilerServices
  • System.Runtime.InteropServices
  • System.Runtime.Remoting
  • System.Runtime.Text

The newly added namespaces for intelligent personal objects:

  • Microsoft.SPOT
  • Microsoft.SPOT.Cryptography
  • Microsoft.SPOT.Hardware
  • Microsoft.SPOT.Input
  • Microsoft.SPOT.Net.NetworkInformation
  • Microsoft.SPOT.Presentation
  • Microsoft.SPOT.Presentation.Controls
  • Microsoft.SPOT.Presentation.Media
  • Microsoft.SPOT.Presentation.Shapes

Changes in version 2.5

The .NET Micro Framework 2.5 was measured using a TCP / IP - stack expands. Based on this, a DPWS stack was integrated into the micro framework. This DPWS stack was specially developed for the micro framework in managed code and is called MFDPWS. It is a subset of the DPWS standard. The DPWS stack now makes it possible to use Web Services for Devices (WSD). The network participants communicate via SOAP and can use the services of the other participant.

Technical requirements

The Micro Framework currently supports ARM7 and ARM9 processors as well as Analog Devices Blackfin . The target system must have at least ~ 128 kB RAM and 512 kB Flash / ROM for development. During operation, the micro framework is at least 390 kB in size. The size depends on the number of functions used.

The device requires a serial, USB or network interface for installation and debugging.

Development environment

Microsoft's Visual Studio 2008 or higher in conjunction with the .NET Micro Framework SDK is used as an integrated development environment . You also need the Board Support Package for the respective device.

See also

literature

  • Jens Kuhner: Expert .NET Micro Framework . 2nd edition 2009, Apress Verlag

Web links

Individual evidence

  1. - ( Memento of the original from December 11, 2015 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / blogs.msdn.com
  2. ^ Microsoft News Center: Microsoft Launches Smart Personal Object Technology Initiative