Microsoft describes its .NET Micro Framework (.NET MF) as "an innovative development and execution environment for resource-constrained devices," and estimates that the software is running on more than 1.5 million device worldwide. Offering a "fully integrated Visual Studio experience," the environment is typically used on 32-bit processors that have no external memory management units (MMUs), and have as little as 64K of memory, the company says.
In May 2009, Microsoft said it would turn the source code for .NET MF over to the community and make porting kits available for free. The move was the result of layoffs, following which employees in Redmond's .NET MF team were to be shifted to the broader .NET Framework team.
Last November, version 4.0 of .NET MF was announced, featuring a new community website, removal of all license fees, plus features that included multi-touch support and an HTTP object model. (See later in this story for background.)
Now, says Microsoft, version 4.1 of the .NET MF is available. According to a posting on the .NET Micro Framework Team Blog, "this release has been in public beta for some time, and we expect it to be very stable."
Key changes in 4.1 are said to include support for Visual Studio 2010. "In this release, we are supporting multi-targeting which allows the 4.1 product working in VS2010 to support development of 4.0 and 3.0 projects as well," Microsoft says.
According to Microsoft, .NET MF 4.1 also adds support for Big Endian architectures, allowing it to run on a new set of processors. Additionally, Renesas is said to have contributed ports for its processors and development boards, including the SH7216 RSK, SH27264 M3A HS64, SH7264 RSK, and SH7619 EVB.
It's said a port for Atmel's SAM7S256 will support simple applications in very small-footprint devices. In addition, .NET MF 4.1 gets improved application diagnostics and a hashtable implementation, plus SPI interface changes that will add flexibility and increase performance, Microsoft says.
The .NET MF 4.1 also includes a new TCP/IP stack option, the open source IwIP, in addition to the proprietary stack that is still available, according to Microsoft. In conjunction with this, the open source SSL stack OpenSSL is also offered, the company adds.
There are seven files to choose from in the .NET MF 4.1 release, described by Microsoft as follows:
- The .NETMF SDK, to integratewith Visual Studio 2010 and create managedcode applications that can run on devices supporting versions 4.1, 4.0,and 3.0 of the .NET Micro Framework -- .NETMicro Framework 4.1 SDK
- The .NETMF Porting Kit, toenable developers to see all the code and to build theirown versions if needed. This is the package that allowsdevelopers to migrate the platform to new hardware. New inthis release is support for the Renesas SH2/A processors and HEW tools-- .NETMicro Framework 4.1 Porting Kit
- The .NETMF Crypto CompanionLibraries, to give developer access to the XTEA, RSA, and othercrypto functionality that has been part of the .NET Micro Frameworksince the beginning -- .NETMicro Framework 4.1 Cryptographic Libraries
- The .NETMF TCP/IP and SDSLlibraries build for four instruction sets, including:
BackgroundFirst released back in 2006, the .NET MF is Microsoft's development environment for small, deeply embedded devices with constrained processor and memory resources. It originally grew out of the company's SPOT (smart personal objects technology) initiative, which brought about SPOT watches, weather stations from Oregon Scientific, and a coffee maker from Melitta.
Said to require a RAM footprint of as little as 64K, .NET MF can run on an operating system or directly "on the metal" without one. Only one application can run at a time, but it can include multiple threads, according to the company.
A November 2009 .NET Micro Framework team blog posting by product manager Colin Miller (right) described version 4.0 of .NET MF as "our first version to come out since we moved to the Developer division." He added, "This version has a number of neat features."
Miller noted that Microsoft is now making source code for almost all of the .NET MF components available under the Apache 2.0 license. This will allow developers to "debug through the full stack and make whatever specialized changes you need for your specific application. It also means that if you want to run .NET Micro Framework on a processor architecture that is not already supported, you don't have to wait for Microsoft to build and release the porting kit built with the right toolchain -- you can do that yourself," he wrote.
Source code for the .NET MF TCP/IP stack and cryptography libraries was not included, however. In the former case, this is because the TCP/IP stack is licensed from EBSNet, and in the latter case because the crypto libraries are used in other products besides .NET MF, Miller explained.
Addressing concerns that .NET MF could fragment into a number of incompatible versions, "as has happened with other [open source] products," Miller said Microsoft would remain actively involved in the environment's development. He further explained, "There will be a core technology team that is made up of both Microsoft and external participants who will be the gatekeepers of code that goes into the product."
Previous versions
As of version 4.0, .NET MF provided an object model for handing both HTTP clients and servers, similar to the one already provided by the .NET Framework. The new types were said to include System.Net.HttpWebRequest, System.Net.HttpWebResponse, and System.Net.HttpListener from assembly System.Http.dll.
The .NET MF object model and emulator also gained basic support for multi-touch events, such as moving two fingers on a touch screen. Gesture support has been redesigned to be faster and more flexible, according to Microsoft.
Other .NET MF 4.0 features were said to include the following:
- Versioning -- Versioning has been implemented to strictly identify assemblies by the version number at build time and on the device, and eventually re-deploying missing assemblies. Side-by-side load and bind for types belonging to the same assemblies with a different version number is supported. Support has also been added for assembly naming which includes the version number.
- Emulator support for SSL and HTTPS: The emulator now explicitly supports SSL and HTTPs emulation.
- Native XML parser: The XML parser has been moved to native code for better performance.
- Native collections: The collection classes have been moved to native code for performance, and have been enriched with Queue and Stack types.
- Time sync: Devices can use the new Time Sync API to sync the system time with a specified server's time, automatically or manually.
- Arbitrary display size: A custom heap and allocation area is now provided to support bitmaps larger than 760KB.
- Large buffers: A new type, Microsoft.SPOT.Hardware.LargeBuffer, is provided for allocating buffers larger than 760KB, which would not fit in the managed heap. This type is located in assembly Microsoft.SPOT.Hardware.
- Watchdog and power level control: The power level and the watchdog behavior can now be controlled from the managed application using types Microsoft.SPOT.Hardware.PowerState and Microsoft.SPOT.Hardware.Watchdog from assembly Microsoft.SPOT.Hardware.dll.
- Thick pens and gradient fills: A richer graphic model is now provided for designing widgets and controls.
- TinyCore performance improvements: TinyCore performance has been enhanced in the area of event dispatching and layout.
In October 2008, Microsoft unveiled
Net Micro Framework 3.0, giving the environment a new file system, the ability to link to native code, touchscreen support, USB support, a WiFi infrastructure, and other enhancements.
The environment's previous major update was in February 2008, when
.NET MF 2.5 added both a native TCP/IP stack and support for
Web Services on Devices (WSD), which aims to allow network-connected devices to discover and connect to one another without user intervention.
Some customers had already gained a file system, thanks to proprietary extensions created for .NET MF 2.5 by GHI Electronics. For its
USBizi and
Embedded Master modules, GHI devised an embedded FAT (file allocation table) implementation that was said to let the .NET MF-based devices access files on microSD- or USB-based storage.
Further informationThe .NET MF 4.1 updates may be downloaded directly from the links provided earlier in this story. Previous versions should be removed before installing these on a development machine, Microsoft says.
For further information about the .NET Micro Framework, see Microsoft's website,
here. The .NET MF team blog posting regarding version 4.1 can be found
here.
Related stories: