Microsoft .NET Micro Framework是2001年由微软研究院开始研发,并随后在其MSN Direct项目中使用该技术,2007年9月微软对外发布2.0,2008年10月 V3.0、2009年11月 V4.0、2010年5月 V4.1 beta,2009年并入.NET产品组,Digi、Atmel、飞思卡尔等半导体公司都先后为其推出了开发板,该技术可以应用到远程控制、智能家电、教育类机器、医疗电子、零售终端、Sideshow以及汽车电子等行业应用场景;此外由于.Net MF集成了各种接口,如串口、网口、Wifi、Zigbee、I2C、SPI、SDIO、USB等通信接口,加上其应用开发简便,所以在物联网时代,将大有作为。

一、 什么是.NET Micro Framework

Microsoft® .NET Micro Framework 将 .NET 的可靠性和效率与 Visual Studio® 的高生产率结合起来,以针对价格较低、资源受限的小型设备开发应用程序,可帮助人们使用熟悉的 Visual Studio 工具来构建托管的嵌入式应用程序。.NET Micro Framework技术可以应用到:Windows Vista Sideshow、远程控制、智能家电、医疗电子、零售终端以及汽车电子等行业应用场景。

二、.NET Micro Framework 2.5的特点

  1. 支持ARM7/ARM9等处理器, 可支持不具有 MMU 的处理器,降低 BOM 成本。

  2. 运行空间仅需要128 KB * 左右

  3. 可以直接运行在硬件上,也可以运行在其他操作系统上,如Windows CE,NETOS,uCOS等

  4. 使用Visual Studio 2005——C#进行开发

  5. 内置可扩展的模拟器,支持自动部署及单步调试

  6. 支持众多串行通讯和网络的标准接口(比如SPI、I2C、GPIO和UART)

  7. 本地 TCP/IP 网络

  8. 服务设备配置文件 (DPWS) 库的技术

  9. 闪存保护

三、.Net Micro Framework与其他嵌入式平台的区别

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

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

下图展现了.NET Micro Framework的基本结构,和其它.NET平台类似,.NET Micro Framework也提供了平台抽象层(PAL),使应用程序能最大限度的降低与其所运行的硬件相关性,使得开发和移植到其它平台变得更为容易。 .NET Micro Framework软件开发工具包(SDK)包括:

1)Microsoft Visual Studio 集成

.NET Micro Framework 软件开发工具包与 Visual Studio 紧密集成,不仅支持 C# 开发,还提供了设备内调试、对象浏览、IntelliSense® 以及集成构建和部署等可提高工作效率的功能。

2)可扩展仿真程序

可使用 .NET Micro Framework 仿真程序来反映目标硬件的功能。为模拟外部设备(如显示器、传感器和伺服控制器等)编写您自己的 .NET 类,然后将应用程序部署到自定义仿真程序中,并在虚拟硬件上对其进行测试。

3)支持的CPU

.NET Micro Framework 可运行在多种与 ARM7 或 ARM9 兼容的处理器上,并可向其他体系结构开放。有关当前支持的处理器的列表,请参见下面的网站。 最低存储配置为 128 KB RAM 和 256 KB 闪存。*

4)要面向 Microsoft .NET Micro Framework 2.0 进行开发,

您需要:Microsoft Windows® XP、Windows Vista™ 或 Windows Server® 2003

Microsoft Visual Studio 2005(标准版或专业版)

五、使用.NET Micro Framework开发嵌入式应用程序

使用可免费下载的 .NET Micro Framework 软件开发工具包,利用 .NET 库的子集在 C# 中开发嵌入式应用程序。 无论代码是部署在测试设备上还是运行在可扩展 .NET Micro Framework 仿真程序中,您都可以尽享 Visual Studio 的强大开发功能。

1)更高的工作效率

Microsoft .NET Micro Framework 将 .NET 的高效率优势带到了小型设备开发中。 为人熟知的 Visual Studio 工具、C# 语言和 .NET库可缩短学习过程,并允许您充分利用使用 .NET 开发的客户端或服务器解决方案中的代码。

在小型设备环境中使用已掌握的 C# 和 .NET 技巧。使用可扩展仿真程序,直接在 PC 上快速进行嵌入式代码的开发、测试以及调试工作。无需离开 Visual Studio 即可对设备上运行的应用程序进行调试。提供许多熟悉的 .NET 名称空间,包括基于套接字的网络和类似于 WPF 的图形用户界面框架。

2)针对小型设备进行优化

Microsoft .NET Micro Framework 的目标对象为新一代价格较低、节能型 32 位嵌入式处理器。支持不具有 MMU 的处理器,降低 BOM 成本。将电源管理 API 向应用程序公开,有助于最大限度地延长电池寿命。任何 Microsoft .NET 平台上都只占用最小的空间。

3)可靠的托管环境

.NET 公共语言运行库 (CLR) 子集的可启动、设备内实现将 .NET 开发的优势引入了小型设备。内置对垃圾收集以及异常处理的支持,使得代码更易于编写,更不容易出错。仅支持“安全的”IL 指令,可防止错误的执行。可以使用 C# 语言为通过支持接口(如 SPI、I2C、GPIO 和 USART)连接的硬件编写设备驱动程序,因此能够直接支持新硬件。

4)顶级支持

作为受到全面支持的 Microsoft 嵌入式平台,.NET Micro Framework 可访问 Microsoft 的资源、培训和工具网络以及遍及全球的合作伙伴社区。

六、支持.NET Micro Framework的开发套件

目前已推出的适用于.NET Micro Framework技术的开发套件如下,基于这些开发套件,可以加快设计和开发,并迅速将新应用投入市场:

1)Digi推出的 Digi Connect ME JumpStart Kit,这也是业界首次推出适用于.NET Micro Framework 的以太网解决方案。 2)飞思卡尔半导体(Freescale) 推出面向Microsoft Windows Vista Sideshow平台、.NET Micro Framework及用户定义应用的高性能开发包i.MXS。除了Windows Vista SideShow应用之外,i.MXS开发工具包还支持其它Microsoft .NET Micro Framework应用,如手表、电视、桌面电话、收音机、时钟和其它小型嵌入式设计。

3)Embedded Fusion推出带有LCD的Tahoe开发套件

4)兼容Arduino标准接口的Netduino 系列

5)专为嵌入式模型开发而生的Microsoft .NET Gadgeteer 七 .NET Micro Framework的应用实例

基于.NET Micro Framework技术的产品已在消费电子,医疗器械,通信产品,汽车电子,工业控制等多个行业领域投入商用,带给用户全新的体验。

1)智能手表

Fossil推出支持MSN Direct的Abacus Smart Watch 2006,可以直接从MSN Direct接收各种信息到手表中,能够接收MSN Messager消息和微软OfficeOutlook约会提醒。

2)GPS导航

Garmin推出的Nuvi 680,可以从MSN Direct 获取服务:路况信息、汽油价格、天气预报、电影讯息。 3)天气预报器

Oregon Scientific推出的WMS801 WeatherNow,使用MSN Direct 服务可以接收到整个区域内天气信息而可以不需要用户外的传感器。 4)机器人

iRobot推出的Scooba Floor Washing Robots,具有区域识别及虚拟墙技术。

5)Z Wave智能家居

ControlThink推出的Z Wave技术智能家居照明控制系统Intermatic HomeSettings HA07