您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

关于.NET Micro Framework

发布日期:2011-04-21

      在过去几年里,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 CEWindows 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

 

表1:各种嵌入式平台对比(资料来源:http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx

 

从上表可以看出,无论是资源占用还是耗电,.NET MF都要优于另外两种OS。但是,我们也看到了,在实时性方面,.NET MF并不是一款实时的运行时环境。这可能需要我们注意的一个重要方面。

 

在工业应用中,实时性往往是评判一个嵌入式系统的重要因素,这就意味着,.NET MF并不适用于重要的控制领域。不过,一般工业用系统都不会面临硬件过分有限的困境,完全可以使用WinCEXPe作为基础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 开发的工具和技术概貌。