News

  • Home > News

        Microsoft releases .NET MF version 4.1

        Jonathan Angel | Date: Jul 21, 2010 | Comments: 1



        Microsoft released version 4.1 of its .NET Micro Framework, with support for Visual Studio 2010, compatibility with Big Endian processors, and DPWS (Device Profile for Web Services) enhancements. Also included are open source TCP/IP and SSL stacks, improved application diagnostics, and ports for several Renesas processors, Microsoft says.


        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:

        Background

        First 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 information

        The .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: