关于.NET Micro Framework
扫描二维码
随时随地手机看文章
在过去几年里,Microsoft 为嵌入式领域提供了 XP Embedded 和 Windows CE 两种操作系统。它们已经成为了很多设备的平台,这些设备有PDA、智能手机、自动柜员机(ATM)和网络交换机等。Microsoft 推出的.NET Framework 把强大、可靠的托管代码从大型服务器扩展到了嵌入式设备。但是,依然有许多设备由于资源限制而无法支持这些平台。为了响应微型设备的市场需要,Microsoft 开发了一个叫Microsoft .NET Micro Framework. (.NET MF) 的新平台。.NET Micro Framework 定位于这个未开发的领域,向微型设备提供小巧、高效的.NET 运行时的实现。这带来的好处是,开发人员将能够使用同样的托管代码,使用同样的世界级的工具,继续参与到全世界最大的开发社区。
.NET MF面向的是CPU处理能力和存储能力极其有限的设备。虽然微软拥有Windows CE、Windows XP Embedded和.NET Compact Framework,可以完成绝大多数嵌入式开发,但对于更普遍的家用电器领域(如电视、手表、洗衣机等),这些平台还是显得太大了些。可以想象,给你的电冰箱装块硬盘是多么搞笑的事。而.NET MF的出现,则标志着微软又向百姓生活迈进了一步,让所有家电都“智能”起来,已经是一个不远的梦。因为
所需要的仅仅是便宜的,ARM处理器和一些RAM、Flash存储器。
.NET MF是微软最新推出的嵌入式平台、专门用于处理能力和存储能力都更加有限的设备。既然微软已经拥有.NET Compact Framework(简称.NET CF),为什么还要再提供.NET MF呢?设备的限制是一个很重要的原因,.NET CF毕竟还是要求设备有比较强的处理和存储能力。两者重要的一个区别在于,.NET CF需要有Windows CE系列OS的支持才能得以运作,而.NET MF则提供了一个可引导的运行时环境。
既然.NET MF是可引导的,那么它实际上也相当于一个带有运行时环境的操作系统。那么,它又和Windows CE、Windows XP Embedded操作系统有哪些区别呢?下面的表格对比了几种平台的区别。
.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 |
PCclass 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 |
Mains 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, managed code requires .NET Compact Framework |
Supports both, managed code requires .NET Framework |
从上表可以看出,无论是资源占用还是耗电,.NET MF都要优于另外两种OS。但是,我们也看到了,在实时性方面,.NET MF并不是一款实时的运行时环境。这可能需要我们注意的一个重要方面。
在工业应用中,实时性往往是评判一个嵌入式系统的重要因素,这就意味着,.NET MF并不适用于重要的控制领域。不过,一般工业用系统都不会面临硬件过分有限的困境,完全可以使用WinCE或XPe作为基础OS。
反观民用领域,嵌入式应用正在逐渐渗透人们的生活。而当面对普通消费者时,评判一个嵌入式系统的重要标准——AndersLiu认为——就应该是:低成本。这包括两个方面,一是低的造价(软硬件成本,价格),另外一方面就是易用(这可以理解为学习成本和时间成本)。毕竟老百姓买不起和机床一样价格的洗衣机,也不希望像操作机床那样操作微波炉。
因此,民用嵌入式设备往往通过较低的硬件配置来降低价格,并通过适量(通常比较少)的按键和显示内容来降低使用复杂度。而这一切,都是.NET MF得以大显身手的地方。
可以看出,微软关于.NET MF的定位还是相当明确的——面向民用低成本嵌入式市场。下图是一两年前流行过一阵的新闻图片,传闻Gates腕上的SmartWatch中安装的,就是.NET MF的原型。
Figure 1: Microsoft Embeded Products
Figure 2: The Basic Architecture for .NET MicroFramework
在今年的MEDC大会中有简单地介绍了.NET Micro Framework,当时我记得是用于机器人编程大赛,其他没有什么印象。
Daniel Moth 曾经对.NET Micro Framework 进行了一番介绍,列出了.NET MF 的主要特性。
现在已经有beta版的开发包了,但找不到从哪里下载,好像要通过SPOT(Smart Personal Objects Technology)邀请获得开发包。没有详细看Introducing the Microsoft .NET Micro Framework Platform,有时间再了解清楚。
另外,.NET MicroFramework 开发团队录制了一个webcast:Introduction to the .NET MicroFramework webcast,介绍了.NET MF 开发的工具和技术概貌。[!--empirenews.page--]