.NET Micro Framework

.NET Micro Framework
Developer(s) Microsoft
Initial release 2007 (2007)
Stable release
4.4[1] / October 20, 2015 (2015-10-20)
Repository github.com/NETMF/netmf-interpreter
Written in C++
Operating system Windows
Platform ARM, Blackfin
Available in English
Type Software framework
License Apache 2.0[2]
Website netmf.github.io

The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 256 KB of flash and 64 KB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR) and supports development in C#, Visual Basic .NET, and debugging (in an emulator or on hardware) using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries (about 70 classes with about 420 methods), an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). NETMF also features added libraries specific to embedded applications. It is free and open-source software released under Apache License 2.0.

The Micro Framework aims to make embedded development easier, faster, and less costly by giving embedded developers access to the modern technologies and tools used by desktop application developers. Also, it allows desktop .NET developers to use their skills in embedded systems, enlarging the pool of qualified embedded developers.

The Micro Framework is part of the .NET Foundation. Announced at the Build 2014 conference, the foundation was created as an independent forum to foster open development and collaboration around the growing set of open-source technologies for .NET.[3]

Features

Relative to other .NET platforms, the unique features of the Micro Framework are:

Due to the constraints under which it operates, the Micro Framework does have some limits beyond those imposed by its slimmed-down libraries. For example, the platform does not support symmetric multiprocessing, multidimensional arrays, machine-dependent types, or unsafe instructions. The CLR is an interpreter rather than a just-in-time compiler, and uses a simpler mark-and-sweep garbage collector instead of a generational method. An ahead-of-time compiler is being developed[4] using a modified LLVM compiler. Interoperation between managed and native code currently has several limitations. As of 2011, Micro Framework supported two .NET languages: C# and Visual Basic.[5]

Support

As of 2013, the .NET Micro Framework is supported on ARM architecture processors (including ARM7, ARM9, and Cortex-M) and has been supported on Analog Devices Blackfin in the past. The Porting Kit is now available along with the source code as a free download under the Apache License 2.0 at the Microsoft Download Center.

The Micro Framework has its roots in Microsoft's Smart Personal Objects Technology (SPOT) initiative and was used in MSN Direct products such as smart watches before being made available to third-party developers early in 2007. It is a common platform for Windows SideShow devices and has been adopted in other markets, such as energy management, healthcare, industrial automation, and sensor networks.

Microsoft allows developers to create applications using the Micro Framework without charge, and makes a software development kit (SDK) available for free download that can be used with all versions of Visual Studio, including the free Express editions.[6]

History

In November 2009, Microsoft released the source code of the Micro Framework to the development community as free and open-source software under the Apache License 2.0.[7]

In January 2010, Microsoft launched the netmf.com community development site to coordinate ongoing development of the core implementation with the open-source community.[8]

On 9 January 2010, GHI Electronics announced FEZ Domino, the first member of the product line called FEZ (Freakin' Easy!), a combination of open-source hardware with a proprietary closed-source version of .NET Micro Framework.[9]

On 3 August 2010, Secret Labs announced the Netduino, the first all-open-source electronics platform using the .NET Micro Framework.[10]

In February 2011, Novell posted a preview of the Mono 2.12 C# compiler, the first open-source compiler for .NET Micro Framework.[11]

On 16 December 2016, GHI Electronics announced their own implementation of Micro Framework called TinyCLR OS, citing lack of maintenance of NETMF by Microsoft.[12] On 7 July 2017 GHI announced 5th preview of TinyCLR OS.[13] On 2 February 2018 GHI announced 8th preview of TinyCLR OS.[14] On 5 April 2018 GHI announced 10th preview of TinyCLR OS.[15]

Hardware

Multiple vendors make chips, development kits, and more that run the Micro Framework.[16]

Netduino by Wilderness Labs

Netduino is an open-source electronics platform using the Micro Framework. Originally created by Secret Labs, but now manufactured and maintained by Wilderness Labs Inc.[17] Based on 168Mhz Cortex-M4 (STM32F4) with up to 1,408 KB of code storage and 164 KB of RAM. On-board USB, Ethernet, Wifi, SD card slot. Development environment is MS Visual Studio and C#. Pin compatible with Arduino shields although drivers are required for some shields.

GHI Electronics

GHI Electronics makes several modules that support the Micro Framework:

  • EMX Module[18]
  • ChipworkX Module[19]
  • USBizi144 Chipset[20] and USBizi100, whose only difference is the lack of USB host support in the USBizi100[21]

GHI Electronics also makes the .NET FEZ line of very small open-source hardware boards with proprietary firmware, targeted for beginners. They are based on the USBizi chipset and all its features. The FEZ Domino board offers USB host. Even though FEZ is for beginners, it's also a low-cost starting point for professionals wanting to explore NETMF.[22] Some of these boards are physically compatible with the Arduino.

Mountaineer boards

Mountaineer boards, part of the Mountaineer Group, make a small range of open-source open-hardware boards that make use of the Micro Framework. Mountaineer have ported the Micro Framework for use on the STM32 family of microcontrollers featured on their Mountaineer boards and elsewhere.[23][24][25]

STMicroelectronics

STMicroelectronics, creators of the microcontroller family STM32, make low-cost discovery boards to showcase the controllers, and provides ports of the Micro Framework to run on them.[26]

Netmfdevices

Netmfdevices is an open-source electronics platform using FEZHacker and .NET Micro Framework.[27]

Micromint

The Micromint Bambino 200 is the first multi-core processor SBC compatible with the .NET Gadgeteer framework.[28] The model 200 is powered by an NXP LPC4330, the first dual-core ARM Cortex-M microcontroller. Its Cortex-M4 and Cortex-M0 cores are both capable of 204 MHz. With 264 KB SRAM onboard and 4 MB of flash, developers can fulfill demanding requirements in monitoring, instrumentation, data acquisition, process control and many other applications. The model 200E has all the same features as the model 200, and increased flash memory to 8 MB, 10 Gadgeteer sockets, an Ethernet port, microSD socket, and other features.

.NET Gadgeteer devices

Several manufacturers make boards and modules compatible with the .NET Gadgeteer rapid-prototyping standard for the framework.

MikroBus.Net

The MikroBus.Net Quail is an STM32-powered development solution for building hardware prototypes with click boards and C# managed code. It brings together Mikroelectronika click boards and the Micro Framework for embedded devices (NETMF).[29]

See also

References

  1. ".NET Micro Framework 4.4 is now available!". Microsoft.
  2. ".NET Micro Framework". Microsoft.
  3. .NET Foundation
  4. "LLILUM roadmap and latest additions". Microsoft.
  5. .NET Micro Framework only supports C# and Visual Basic
  6. "NETMF4 SDK". Microsoft.
  7. "Microsoft to Open Source the .NET Micro Framework". Microsoft.
  8. "netmf.com". Archived from the original on 2012-07-05. Retrieved 2012-06-29.
  9. FEZ: open-source electronics boards with many open-source component drivers using .NET MF
  10. Netduino: open-source electronics platform using .NET MF
  11. Experimental Mono support for Mac/Linux
  12. Introducing TinyCLR OS: a new path for our NETMF devices
  13. Fifth Preview of TinyCLR OS Core Features and Porting
  14. TinyCLR OS Eighth Release: FEZ Hydra, Wi-Fi, and Cortex-M7
  15. TinyCLR OS Tenth Release: Bugs, RTC, and STM32F7
  16. Compatible Device Matrix
  17. "Netduino: home". Wilderness Labs, Inc.
  18. "Catalog - Latest Products - GHI Electronics". GHI Electronics, LLC.
  19. "Catalog - Latest Products - GHI Electronics".
  20. "USBizi144 Chipset - GHI Electronics". GHI Electronics, LLC.
  21. "USBizi100 Chipset - GHI Electronics". GHI Electronics, LLC.
  22. "Catalog - Latest Products - GHI Electronics".
  23. "Home - Mountaineer Boards". Mountaineer Group.
  24. "Mountaineer Group". Mountaineer Group.
  25. "NETMF for STM32 - Mountaineer Group".
  26. UM1676: Getting started with .Net Micro Framework on the STM32F429 Discovery kit
  27. Netmfdevices
  28. Micromint Bambino 200
  29. MikroBus.Net Quail
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.