關于.NET Micro Framework
在過去幾年里,Microsoft 為嵌入式領域提供了 XP Embedded 和 Windows CE 兩種操作系統。它們已經成為了很多設備的平臺,這些設備有PDA、智能手機、自動柜員機(ATM)和網絡交換機等。Microsoft 推出的.NET Framework 把強大、可靠的托管代碼從大型服務器擴展到了嵌入式設備。但是,依然有許多設備由于資源限制而無法支持這些平臺。為了響應微型設備的市場需要,Microsoft 開發了一個叫Microsoft .NET Micro Framework. (.NET MF) 的新平臺。.NET Micro Framework 定位于這個未開發的領域,向微型設備提供小巧、高效的.NET 運行時的實現。這帶來的好處是,開發人員將能夠使用同樣的托管代碼,使用同樣的世界級的工具,繼續參與到全世界最大的開發社區。
本文引用地址:http://www.104case.com/article/201610/305767.htm.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 開發的工具和技術概貌。
評論