關(guān)于.NET Micro Framework
在過(guò)去幾年里,Microsoft 為嵌入式領(lǐng)域提供了 XP Embedded 和 Windows CE 兩種操作系統(tǒng)。它們已經(jīng)成為了很多設(shè)備的平臺(tái),這些設(shè)備有PDA、智能手機(jī)、自動(dòng)柜員機(jī)(ATM)和網(wǎng)絡(luò)交換機(jī)等。Microsoft 推出的.NET Framework 把強(qiáng)大、可靠的托管代碼從大型服務(wù)器擴(kuò)展到了嵌入式設(shè)備。但是,依然有許多設(shè)備由于資源限制而無(wú)法支持這些平臺(tái)。為了響應(yīng)微型設(shè)備的市場(chǎng)需要,Microsoft 開(kāi)發(fā)了一個(gè)叫Microsoft .NET Micro Framework. (.NET MF) 的新平臺(tái)。.NET Micro Framework 定位于這個(gè)未開(kāi)發(fā)的領(lǐng)域,向微型設(shè)備提供小巧、高效的.NET 運(yùn)行時(shí)的實(shí)現(xiàn)。這帶來(lái)的好處是,開(kāi)發(fā)人員將能夠使用同樣的托管代碼,使用同樣的世界級(jí)的工具,繼續(xù)參與到全世界最大的開(kāi)發(fā)社區(qū)。
.NET MF面向的是CPU處理能力和存儲(chǔ)能力極其有限的設(shè)備。雖然微軟擁有Windows CE、Windows XP Embedded和.NET Compact Framework,可以完成絕大多數(shù)嵌入式開(kāi)發(fā),但對(duì)于更普遍的家用電器領(lǐng)域(如電視、手表、洗衣機(jī)等),這些平臺(tái)還是顯得太大了些??梢韵胂螅o你的電冰箱裝塊硬盤(pán)是多么搞笑的事。而.NET MF的出現(xiàn),則標(biāo)志著微軟又向百姓生活邁進(jìn)了一步,讓所有家電都“智能”起來(lái),已經(jīng)是一個(gè)不遠(yuǎn)的夢(mèng)。因?yàn)?/p>
所需要的僅僅是便宜的,ARM處理器和一些RAM、Flash存儲(chǔ)器。
.NET MF是微軟最新推出的嵌入式平臺(tái)、專門(mén)用于處理能力和存儲(chǔ)能力都更加有限的設(shè)備。既然微軟已經(jīng)擁有.NET Compact Framework(簡(jiǎn)稱.NET CF),為什么還要再提供.NET MF呢?設(shè)備的限制是一個(gè)很重要的原因,.NET CF畢竟還是要求設(shè)備有比較強(qiáng)的處理和存儲(chǔ)能力。兩者重要的一個(gè)區(qū)別在于,.NET CF需要有Windows CE系列OS的支持才能得以運(yùn)作,而.NET MF則提供了一個(gè)可引導(dǎo)的運(yùn)行時(shí)環(huán)境。
既然.NET MF是可引導(dǎo)的,那么它實(shí)際上也相當(dāng)于一個(gè)帶有運(yùn)行時(shí)環(huán)境的操作系統(tǒng)。那么,它又和Windows CE、Windows XP Embedded操作系統(tǒng)有哪些區(qū)別呢?下面的表格對(duì)比了幾種平臺(tái)的區(qū)別。
.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 |
從上表可以看出,無(wú)論是資源占用還是耗電,.NET MF都要優(yōu)于另外兩種OS。但是,我們也看到了,在實(shí)時(shí)性方面,.NET MF并不是一款實(shí)時(shí)的運(yùn)行時(shí)環(huán)境。這可能需要我們注意的一個(gè)重要方面。
在工業(yè)應(yīng)用中,實(shí)時(shí)性往往是評(píng)判一個(gè)嵌入式系統(tǒng)的重要因素,這就意味著,.NET MF并不適用于重要的控制領(lǐng)域。不過(guò),一般工業(yè)用系統(tǒng)都不會(huì)面臨硬件過(guò)分有限的困境,完全可以使用WinCE或XPe作為基礎(chǔ)OS。
反觀民用領(lǐng)域,嵌入式應(yīng)用正在逐漸滲透人們的生活。而當(dāng)面對(duì)普通消費(fèi)者時(shí),評(píng)判一個(gè)嵌入式系統(tǒng)的重要標(biāo)準(zhǔn)——AndersLiu認(rèn)為——就應(yīng)該是:低成本。這包括兩個(gè)方面,一是低的造價(jià)(軟硬件成本,價(jià)格),另外一方面就是易用(這可以理解為學(xué)習(xí)成本和時(shí)間成本)。畢竟老百姓買(mǎi)不起和機(jī)床一樣價(jià)格的洗衣機(jī),也不希望像操作機(jī)床那樣操作微波爐。
因此,民用嵌入式設(shè)備往往通過(guò)較低的硬件配置來(lái)降低價(jià)格,并通過(guò)適量(通常比較少)的按鍵和顯示內(nèi)容來(lái)降低使用復(fù)雜度。而這一切,都是.NET MF得以大顯身手的地方。
可以看出,微軟關(guān)于.NET MF的定位還是相當(dāng)明確的——面向民用低成本嵌入式市場(chǎng)。下圖是一兩年前流行過(guò)一陣的新聞圖片,傳聞Gates腕上的SmartWatch中安裝的,就是.NET MF的原型。
Figure 1: Microsoft Embeded Products
Figure 2: The Basic Architecture for .NET MicroFramework
在今年的MEDC大會(huì)中有簡(jiǎn)單地介紹了.NET Micro Framework,當(dāng)時(shí)我記得是用于機(jī)器人編程大賽,其他沒(méi)有什么印象。
Daniel Moth 曾經(jīng)對(duì).NET Micro Framework 進(jìn)行了一番介紹,列出了.NET MF 的主要特性。
現(xiàn)在已經(jīng)有beta版的開(kāi)發(fā)包了,但找不到從哪里下載,好像要通過(guò)SPOT(Smart Personal Objects Technology)邀請(qǐng)獲得開(kāi)發(fā)包。沒(méi)有詳細(xì)看Introducing the Microsoft .NET Micro Framework Platform,有時(shí)間再了解清楚。
另外,.NET MicroFramework 開(kāi)發(fā)團(tuán)隊(duì)錄制了一個(gè)webcast:Introduction to the .NET MicroFramework webcast,介紹了.NET MF 開(kāi)發(fā)的工具和技術(shù)概貌。[!--empirenews.page--]