将 .NET 的可靠性和效率与 Visual Studio 的高生产率结合起来,以针对价格较低、资源受限的小型设备开发应用程序,可帮助人们使用熟悉的 Visual Studio 工具来构建托管的嵌入式应用程序。  

1.哪些领域可以采用.NET Micro Framework技术?  

.NET Micro Framework技术可以应用到:Windows Vista Sideshow、远程控制、智能家电、医疗电子、零售终端以及汽车电子等行业应用场景。  因为.Net Micro Framework功能强大,并且能从C#.Net的PC开发快速进入,它几乎适用于所有嵌入式场合。支持.Net Micro Framework的产品成本,可以低到30元,甚至更低。[1]  

2..NET Micro Framework与Window CE和Windows XP Embedded的区别?  

.NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗,低成本的ARM7,及ARM9和Blackfin处理器上使用该框架,所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。  

经过实际测试发现,.Net Micro Framework固件最小可以达到250k左右,那么在512k的单片机MCU上完全没有问题。比如STM32F103ZET6和VET6就有512k Flash和64k RAM,除了可以烧入.Net Micro Framework固件,还可以写入较复杂的.Net Micro Framework应用程序,而这两种芯片零售价仅20元左右。[1]  

3..NET Micro Framework与其他.NET平台的区别?  作为.NET家族的一员,.Net Micro Framework是微软专门针对超轻量级平台设计的软件架构。与.Net Framework和.Net Compact Framework不同的地方是,.Net Micro Framework具有自启动的特性,并且在HAL层,微软将操作系统的必要特性引入,如:启动管理、中断处理、线程调度、内存管理等。.Net Micro Framework可以单独使用,不需要依托其他操作系统,因此占用空间很小。

问答

问:.NET Micro Framework与Window CE和Windows XP Embedded的区别?

答: .NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗,低成本的ARM7,Cortex-M3及ARM9和Blackfin处理器上使用该框架(不需要MMU),所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。  

.NET Micro Framework对存储器和处理器的要求更低。开发人员可以在低功耗,低成本的ARM7,及ARM9和Blackfin处理器上使用该框架,所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。而Windows Embedded CE的托管代码环境需要约10~12Mbytes的存储空间,基于.NET的应用编程设备只需要较少的存储空间,降低了产品成本。

 



 



.NET Micro Framework



Windows CE



Windows XPe



Example Devices



Sensor Nodes, Aux displays, Health Monitoring, Remote Controls, Robotics



GPS Handhelds, PDAs, 
Automotive, Set Top Boxes



Thin Clients, ATMs, Kiosks



Device Features



Connected, Small, Wearable, Graphical UI



Connected, Graphical UI, Server, Browser, RAS, DirectX



PC class performance, 
PC networking



Footprint



250-500KB managed code 
Full featured



300KB+ without managed code 
12MB with managed code



40MB + Depending on features



Power



Very low power



Low power



More power



CPU



ARM7, ARM9, No MMU



X86, MIPS, SH4, ARM, 
with MMU



X86



Real-time



Not Real-time



Hard Real-time



Real-time capable through 3rd party extensions



Managed vs. Native Code



Managed via .NET Micro Framework, 
native code through interop only.



Supports both



Supports both, managed code 
requires .NET Framework



图2 与微软嵌入式平台产品Windows CE/XPe比较


问:.NET Micro Framework和 .NET Compact Framework、.NET Framework的异同?

答:.NET Framework主要在Windows平台上使用,从vista开始,.NET Framework已经成为Windows系统的一部分。而.NET Compact Framework是.NET Framework的一个子集,比较小(2M左右),主要在WinCE和Windows Mobile平台使用。.NET Micro Framework也算.NET Framework的一个子集,个头更小(300K左右),不过扩展了很多底层硬件的库,如Microsoft.SPOT.Hardware(提供了GPIO、I2C、SPI等操作接口)、Microsoft.SPOT.Hardware.Usb、Microsoft.SPOT.Wireless.IEEE_802_15_4(Zigbee)。此外.NET Micro Framework最大的特色是自启动,可以不需要操作系统支持。此外因为其是一个框架,所以可以在Windows、WinCE甚至是Linux平台加载并运行。  

问:.NET Micro Framework可以免费使用吗?

答:和WinCE平台不同,.NET Micro Framework完全免费,采用Apache 2.0 license,比Linux等开源软件更为彻底的方式实现了源代码完全开放。这意味着,你在.NET Micro Framework源码基础上自己开发和拓展的功能代码不需要开源,有利于你保护自己的知识产权不被轻易侵犯。