Department of InformatiX
Microsoft .NET Micro Framework Tools & Resources

What is the .NET Micro Framework?

I think it can't be said better than Jens Kühner wrote in his book:

The Microsoft .NET Micro Framework is a small and efficient .NET runtime environment used to run managed code on devices that are too small and resource constrained for Windows CE and the .NET Compact Framework.

The .NET Micro Framework enables you to write embedded applications for small, connected, embedded devices with Visual Studio and C#. That means you can now use the same development tools and language that you use to build desktop and smart device (PDA and smartphone) applications to develop applications for microcontrollers. The .NET Micro Framework also provides an extensible hardware emulator for rapid prototyping and debugging.

The .NET Micro Framework requires no underlying operating system. A scaled-down version of the Common Language Runtime (TinyCLR) sits directly on the hardware, so the framework is often called a bootable runtime. The runtime has a small footprint; it uses only a few hundred kilobytes of RAM and does not require the processor to have a memory management unit (MMU). Therefore, the .NET Micro Framework can run on small and inexpensive 32-bit processors without consuming a lot of power.

How does it work?

Here are the usual steps and requirements of complete device shipping scenario:
  1. The hardware vendor has to "port" the .NET Micro Framework on his hardware (usually processor or some small processor board). More info about porting is available in the Hardware section. It may also supply kind of development kit, on which you can design and test your application, and reuse it during your next projects.
  2. You choose the right hardware that suits your needs, and buy the development kit (if available), eventually the processor for device prototyping.
  3. You need the Visual Studio 2008 SP1, at least Standard edition (the 90-day trial of Professional one is available for download here. The Visual C# 2008 Express Edition SP1 is also supported starting the third version of .NET Micro Framework (download for free here). If you are students, don't forget you have the development tools costless at www.dreamspark.com server.
  4. You also need to download the .NET Micro Framework SDK. Check Links section for the version in your hardware. It creates new project templates in the Visual Studio.
  5. Now good luck writing your application! We are here to help. You can test your application either in an emulator or on the development kit board.
  6. When you are finished, design your device prototype with the final processor, deploy your application to the product and test it.
  7. Now you are ready to ship. Use MFDeploy (installed with the SDK) to create image of your application, sign it and deploy it to your product in high volumes.
  8. The most important one: Let us know about your product! I am keen to include it in the .NET Micro Framework powered products list.
Actually you don't need to buy the hardware at all. The .NET Micro Framework SDK comes with very powerful, customizable emulator, on which you can develop your complete application. Yet the true is, it is much more fun on real hardware!

Is .NET Micro Framework the right choice for me?

Although the .NET Micro Framework is a way cool technology, it does not fit everywhere. Understanding its purpose and limits can avoid later disappointment. Check the following points if they can help your decision:

Architecture

And this is the famous diagram of .NET Micro Framework architecture:

User Application & Libraries
Libraries .NET WPF COMM ...
CLR Execution
Engine
Type
System
Garbage
Collector
Interop
PAL RAM Timers I/O
HAL Drivers or Facilities OS
Hardware
Managed code
Native code
Independent Software Vendor (you)
Microsoft + Hardware Vendor
Microsoft (closed source)
Microsoft + Hardware Vendor
Microsoft + Hardware Vendor
Independent Hardware Vendor

See .NET Micro Framework White Paper for detailed description about individual layers and components.

Comments
Sign in using Live ID to be able to post comments.