好久没有看技术的东东了,趁今天去参加了由微软与信息产业部软件与集成电路促进中心(CSIP)联合举办的.NET Micro Framework技术大会,写点东西.
微软在垄断了桌面软件市场后,现在又转入了嵌入式领域,希望不会再出现桌面的那种一边倒的局面了.不过看到今天的会上出现了诸多国内的大公司后,发觉Microsoft不仅擅长政府公关,企业关注度也是很高,看情形Embedded的大蛋糕又面临它的大嘴了.扯远了,言归正传.
截止目前,微软在嵌入式的布局分为三大块: XP Embedded 、Windows CE、加上现在的.NET Micro Framework。这三者的应用领域既有交叉,又各自有所侧重。当然,开发工具、支持的硬件平台架构也不尽相同。可以用下面这个经典的表格来描述,这个也是你选择OS的重要依据:
|
.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 Micro Framework来说,“它是微软公司基于.NET平台,主要针对硬件资源非常稀少、有限的嵌入式应用而设计的快速嵌入式开发技术。它针对传统的SOC、MCU市场设计,可以运行在ARM7/ARM9之上,对于低端的ARM7处理器,可以不具备存储器管理单元(MMU),而存储器方面更是只要300KB左右的容量即可运作。特别适合Windows Vista Sideshow、远程控制、智能家电、医疗电子、零售终端以及汽车电子等行业应用场景。并且用户使用统一的Visual Studio .NET平台和托管代码(C#)开发产品应用(包括设备驱动)显著的降低了厂商开发门槛,节约了大量开发时间和开发成本。”以上来自微软官方介绍,参考
http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx。
按照我自己的理解,.NET Micro Framework就是微软为了进入底端嵌入式市场而推出的开发平台。所谓底端,就是硬件上不需要MMU单元,软件上没有OS,但是它还可以延续桌面开发中最前卫的.NET战略,即用C#编写托管代码。这对于广大的桌面开发者就很熟悉了,相当于把底层硬件操作进行了封装。比如你要操作SPI,就来个 static SPI _spi=new SPI(new SPI.Configuration(Pins.GPIO_PORT_B_18,false,0,0,true,true,1000,SPI.SPI_module.SPI1)),然后进行赋值。
今天大会上微软的硬件合作厂商Digi也派出了一个老外作演讲。他举了不少例子,像无线以太网关、医院的输血泵信息远程管理、POS机广告的网络化、家居能源信息管理等等,确实很吸引人。如果你有兴趣,可以装个VS2005的完整版+微软提供的.NET Micro Framework的SDK,尝试一下这种最新的嵌入式开发技术。
PS:今天会上提到了几个通讯网名词平时时常看到,但确切意思含糊,特意查了下:)
WIFI: 全称Wireless Fidelity,又称
802.11b标准,它的最大优点就是传输速度较高,可以达到11Mbps.
Z-Wave:是一种无线
RF通信技术,设计用于住宅、照明商业控制以及状态读取应用,例如抄表、照明及家电控制、HVAC、接入控制、防盗及火灾检测等。
Z-Wave可将任何独立的设备转换为智能网络设备,从而可以实现控制和无线监测。
Zigbee:是一种新兴的短距离、低速率无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。它此前被称作“HomeRF Lite”或“FireFly”无线技术,主要用于近距离无线连接。它有自己的无线电标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。
Z-Wave和Zigbee的比较:http://www.test169.com/article/2007/0601/article_21.html SideShow: 所谓的“
SideShow”,是Vista操作系统提供的一个新功能。(广义的SideShow就是副屏,不局限于Vista,Windows CE或者别的嵌入式OS也可,实质是远程操作,意义在于节约能源。)在电脑主要屏幕之外,可以加入第二个采用小型屏幕的周边装置,也就是
SideShow装置。这个外围的
SideShow装置,可以同步电脑上的信息,并在计算机
关机的情况下,以快速、低耗电的方式运作,显示包括行事历、e-mail……的丰富信息,也可以提供音乐播放、照片轮播等多媒体功能。
Sideshow的原理 Sideshow是以一片独立的小型屏幕、一颗ARM架构的整合式系统芯片,配合自带的Flash闪存作为储存空间,来提供运作所需的一切功能。 它会在开机时更新数据,将要用的信息、文件等,先从电脑同步一份到闪存内。如此便可以在关机时浏览数据、播放多媒体文件。