.NET Micro Framework
.NET Micro Framework
|
|
---|---|
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:
- Buffered RS-232 serial I / O
- Serial Peripheral Interface (SPI) with 13.8 MHz
- Monochrome LCD (120 × 96)
- Battery monitoring (temperature, voltage and state of charge)
- Bluetooth
- 802.15.4 low-rate wireless personal area networking ( WPAN )
- Flash (parallel) and EEPROM (serial) memory
- Calibrated time
- Boolean outputs (backlight, vibration, etc.)
- Boolean inputs (buttons etc.)
- PWM outputs ( piezo loudspeaker , dimmer, vibration)
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
- .NET Micro Framework at Microsoft
- Microsoft article: "What is .NET Micro Framework?"
- Web portal for the .NET Micro Framework
- Independent review article on the .NET Micro Framework
- Digi Connect ME product website
Individual evidence
- ↑ - ( 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.
- ^ Microsoft News Center: Microsoft Launches Smart Personal Object Technology Initiative