.NET Micro Framework FAQ
What is .NET Micro Framework?
The Microsoft .NET Micro Framework is a managed-code common language runtime (CLR) that runs on small, low-cost devices constrained by such resources as processor speed, memory and battery power. It extends the .NET family, which includes the .NET Framework and the .NET Compact Framework, into the realm of devices that are too small for the .NET Compact Framework or Windows CE.
Like the larger .NET frameworks, the .NET Micro Framework includes a CLR and a collection of powerful utility libraries. In addition, the .NET Micro Framework provides an extensible emulator program that enables you to emulate your hardware in software.
Unlike the larger .NET frameworks, the .NET Micro Framework does not require an operating system. It provides a complete, managed runtime environment that executes directly on hardware.
Is the .NET Micro Framework a real-time operating system?
No, nor is it intended to be. Managed-code environments such as the .NET Micro Framework perform garbage collection on memory. As a result, they are nondeterministic systems that are not suitable for real-time applications in and of themselves. However, the .NET Micro Framework can run on a host operating system. If the host operating system is a real-time operating system (RTOS), it is possible to obtain real-time behavior.
How can I get the .NET Micro Framework SDK?
You can download it from http://msdn2.microsoft.com/en-us/embedded/bb267253.aspx.
What are the system requirements for hardware using the .NET Micro Framework SDK?
The hardware requirements are as follows:
- Microsoft Windows XP, Windows Vista, or Windows Server 2003
- Microsoft Visual Studio 2005 (Standard Edition or Professional Edition)
- 600-MHz Pentium processor, or faster (1-GHz Pentium processor recommended)
- At least 10 MB of free hard-disk space
What processors does the .NET Micro Framework run on?
Microsoft Smart Watches use a 27MHz ARM7-based processor. Windows SideShow devices use ARM7 and ARM9-based processors running at a variety of speeds. Microsoft TV Foundation Edition runs on set-top boxes that use a Motorola processor. Additionally, we are pleased to announce our relationship with ADI and their Blackfin processor.
Does .NET Micro Framework require MMU (Memory Management Unit) hardware?
No. Memory protection is enforced by the runtime that underlies all .NET Micro Framework code.
How big is .NET Micro Framework?
That depends on how many of the framework’s features your device uses. When installed on a hardware device, the .NET Micro Framework can be as small as 390 Kb, but it can be much larger. The more framework features your device uses, the larger the memory footprint becomes.
Do I have to have Visual Studio to run the .NET Micro Framework?
Yes. The .NET Micro Framework is designed to work seamlessly with Visual Studio. The framework installs templates that enable you to create .NET Micro Framework projects the way you would create any other type of project. You can use Visual Studio to write .NET Micro Framework programs and deploy them to devices connected to your development computer. You can then set breakpoints on your device, step through your code as it executes on the device, and generally debug your programs the way you normally would.
Is this only available on ARM?
We are pleased to be working with ARM and now ADI with its Blackfin processor and are always looking into offering other processor architectures.
How do I get the .NET Micro Framework to run on my hardware?
The platform runs on managed drivers, and we have a broad variety of hardware available to us.
Is this the same platform that’s in the current Smart Watches? What is the difference?
Smart Watches are based on an earlier internal-only version of the technologies that power the .NET Micro Framework. The .NET Micro Framework does not include product-specific extensions and applications, such as the DirectBand network interface, glanceable UI shell, applications, etc. It is simply an application framework tailored to embedded devices.
Microsoft already has the .NET Compact Framework, so why does it also need the .NET Micro Framework?
Many new hardware devices are too small to run or benefit from Windows CE and the .NET Compact Framework. Such devices typically are small and designed for a single purpose. In industry circles, these are frequently called “sub-CE” devices. When creating software for these types of devices, developers often have had to use primitive and disparate toolsets that require special programming skills.
With the .NET Micro Framework, however, developers can write embedded software for small devices using the same tools and techniques they use when programming for the larger .NET frameworks.
My device is powerful enough to accommodate the .NET Compact Framework. How do I judge when to use the .NET Micro Framework rather than the .NET Compact Framework?
This decision may be influenced by many factors. Following is some guidance in determining which framework is best suited for your needs:
- Although there may be some areas of overlap, the .NET Micro Framework is intended for devices that are too small to run the .NET Compact Framework.
- If your device is less general-purpose than most Windows CE hardware, you may want to consider using the .NET Micro Framework.
- Although .NET Micro Framework devices may have a user interface, they do not require one. An example of a device without an interface is a network sensor or a medical monitoring device. Such hardware often collects data and uploads it to a handheld computer using Windows CE.
- Devices with simple user interfaces, such as a small set of buttons, are typically well-suited to the .NET Micro Framework. Smart watches are a good example of this type of device.
- If your device does not need the powerful security features of the .NET Compact Framework, the .NET Micro Framework is likely the more appropriate choice for your needs.
Does this mean Microsoft scales up/down to all levels of embedded devices from large to tiny? Is this the ONLY platform that accomplishes that?
Microsoft has a complete offering for developers, ranging from .NET Micro Framework to more midsize (XPe & CE) to full blown enterprise development tools.
What is the vision for this platform with embedded development?
We believe the opportunities are wide open as the .NET Micro Framework opens the world of application development on smaller, resource -constrained devices to the same programmers who work on desktop and other higher end applications. By bringing powerful, modern programming paradigms and an Extensible Emulator down to low-cost 32 bit processors and very small memory footprints, the .NET Micro Framework is aimed at accelerating the innovation of small, connected devices.
What development languages are supported in building applications?
Currently, we support C# and are looking to support Visual Basic when we have demand.
Top of Page