嵌入式系統(tǒng)開源軟件的回顧和展望
回顧過去20年嵌入式系統(tǒng)在國內(nèi)各行各業(yè)蓬勃發(fā)展,其中有兩項重要技術(shù)對此貢獻很大:一是ARM,二是開源軟件,尤其是Linux和與Linux相關(guān)的開源軟件。對于ARM,今天業(yè)內(nèi)熱議的ARM上網(wǎng)本現(xiàn)在看只是_二個橋頭堡。進攻勝利了,ARM即刻大舉占領(lǐng)利潤豐厚的PC市場,退一步也可以保住自己的移動終端和已經(jīng)牢牢把握的嵌入式市場。ARM要想成功,必然要仰仗開源軟件;指望微軟是不行的,微軟有太多的歷史包袱和既得利益,在windows 7是否支持ARM架構(gòu)這件事情上一直搖擺不定。另一方面,Linux在經(jīng)歷了漫長和痛苦的桌面市場的博弈之后,發(fā)現(xiàn)了移動計算這片領(lǐng)域,開始是智能手機、MID,到現(xiàn)在的上網(wǎng)本(netbook),還有未來的智能本(一種稱為smartbook,尺寸更小、更輕便的上網(wǎng)本)。開源軟件也在慢慢地向嵌入式系統(tǒng)靠攏。在國內(nèi),嵌入式系統(tǒng)行業(yè)已經(jīng)形成了ARM+Linux的模式。
1 嵌入式系統(tǒng)的開源軟件之勢不減
最近發(fā)生的兩件事情都進一步說明了嵌入式系統(tǒng)開源軟件之勢不減。
一是MIPS定制Android平臺。谷歌的Android在手機上獲得各產(chǎn)品方面的廣泛認可,HTC、摩托羅拉、三星和聯(lián)想的多款產(chǎn)品已經(jīng)面世,中國移動也高調(diào)支持An-droid,更多的手機正在開發(fā)之中。作為開源平臺,Android不僅可以用在手機上,日本有公司已經(jīng)把它移植在DTV、數(shù)碼相框、PMP等消費電子產(chǎn)品上。但是無論如何,谷歌依然無法滿足每個特定的嵌入式應(yīng)用的個性化需求。以MIPS為主導(dǎo)的OESF(開放的嵌入式軟件基金會)應(yīng)運而生。OESF的目標是推動Android平臺在非手機領(lǐng)域的發(fā)展。這是一件眾望所歸的好事情,也說明嵌入式系統(tǒng)行業(yè)對有影響力的開源平臺的迫切需求。
第二件事情是傳統(tǒng)的嵌入式軟件公司Mentor Graph-ic收購了Embedded Alley。Embedded Alley是一家以Montavista(著名的嵌入式Linux公司)前雇員為核心的嵌入式Linux服務(wù)商。Mentor明確表示收購的目的就是為了擁有Android平臺提供服務(wù)的能力。背后原因有兩個:一是Embedded Alley是OESF聯(lián)盟的重要合作伙伴,已經(jīng)成功為RMI的MIPS芯片提供了Android服務(wù),繼承了美國東部企業(yè)的務(wù)實特色,是一家實干的服務(wù)商;二是Mentor傳統(tǒng)的私有RTOS Nucleus是目前手機基帶芯片的主要OS,但是在增長快速的智能手機上卻毫無建樹,借助Android或許可以幫助Mentor重返手機OS的市場。嵌入式系統(tǒng)無論是芯片、軟件和產(chǎn)品應(yīng)用都在逐漸走向開源,開源之勢洶涌澎湃不可阻擋。
2 移動互聯(lián)產(chǎn)品是開源軟件重要機緣
移動互聯(lián)產(chǎn)品是開源軟件在嵌入式系統(tǒng)發(fā)展的重要機會,這一點不僅嵌入式行業(yè)看到了,IT產(chǎn)業(yè)也看到了。原ARM中國公司總裁譚軍博士近期指出,開源軟件是下一代差異化計算平臺的理想選擇,芯片之爭、操作系統(tǒng)之爭的實質(zhì)是看誰的生態(tài)環(huán)境建立得好,開源軟件在移動互聯(lián)網(wǎng)有著無比豐富的生態(tài)環(huán)境。Linux基金會執(zhí)行總監(jiān)Jim先生在北京2009開源世界峰會上指出,PC經(jīng)濟正在發(fā)生變化,而Linux是未來把握利潤的車票。Jim解釋,以前單一的PC計算正在向以智能手機、MID、上網(wǎng)本和未來的各類云終端發(fā)展,而Linux是唯一開放的、可嵌入到其中的平臺。[!--empirenews.page--]
這里再舉個一個例子,目前已經(jīng)交由Linux基金會維護的英特爾Moblin社區(qū)非?;钴S。Moblin是專門針對MID的操作系統(tǒng),最新推出的2.0版本有下面的特點和變化:
第一,電源管理部分針對MID和Notebook做了優(yōu)化,使電池續(xù)航能力得到延長。網(wǎng)絡(luò)功能作了進一步擴展,針對MID、Notebook和車載移動設(shè)備所需的網(wǎng)絡(luò)連通性能進行了擴展,考慮到能夠支持最新的3G技術(shù)。
第二,應(yīng)用程序框架重新設(shè)計。Moblin 2.0核心模塊放棄了前一版本所使用的Hildon應(yīng)用程序框架,主屏幕設(shè)計和應(yīng)用程序圖形界面設(shè)計有了更大的靈活性,可以以Flash AIR平臺為基礎(chǔ)設(shè)計用戶界面,也可以直接以HT-ML文件作為操作系統(tǒng)主屏幕或者應(yīng)用程序圖形界面,也可以采用GTK/Clutter這個支持2D/3D動畫的UI庫來設(shè)計應(yīng)用程序的圖形界面。
第三,2.0版本開發(fā)工具更加便利。創(chuàng)建MID和Notebook等多種平臺上的Moblin影像的工具MIC,能夠在USB驅(qū)動器、光盤等設(shè)備中創(chuàng)建帶有平臺特定的、完整的目標文件系統(tǒng)的影像。Moblin 2.0的架構(gòu)如圖1所示。
英特爾作為一家芯片公司,花了這樣大的力量和金錢投資開放軟件平臺,為了什么呢,就是為了在未來移動互聯(lián)網(wǎng)世界里掌握更多話語權(quán),因為Wintel架構(gòu)將不再是這個世界唯一的計算平臺了。
3 中國嵌入式系統(tǒng)企業(yè)應(yīng)融入開源文化
國際性的嵌入式系統(tǒng)企業(yè)對于開源的重視和貢獻越來越大,例如,飛思卡爾半導(dǎo)體公司就把嵌入式Linux作為芯片基本OS重點支持和研發(fā),在北京也成立專門的研發(fā)團隊。包括飛思卡爾、MIPS、瑞薩、博通、ADI和英特爾這些嵌入式半導(dǎo)體公司,以及Montavista軟件、思科通信設(shè)備公司,他們對Linux內(nèi)核的貢獻是很大的。
聯(lián)想到國內(nèi)的情況:一方面以嵌入式Linux為龍頭的嵌入式教育和培訓(xùn)熱火朝天,學(xué)員熱情很高,說明企業(yè)有需求;另一方面,放眼國內(nèi),專業(yè)的嵌入式Linux公司越來越少。在2000年初還有幾家,如靈思、藍點,現(xiàn)在除了中科紅旗還有定制性的嵌入式Linux產(chǎn)品服務(wù)外,幾乎沒有一家專業(yè)的嵌入式Linux軟件公司。再有,國內(nèi)大型的嵌入式設(shè)備商們都有相當(dāng)數(shù)量的Linux研發(fā)團隊,但是縱觀國際開源項目,幾乎沒有他們的身影,甚至連國人的身影都很少。來自Linux社區(qū)的信息顯示,2.6.13開始華人中有越來越多的人參與到Kernel開發(fā)中來,從2.6.13的10人增加到2.6.27的63人,從2.6.13的108個來自華人的patch增加到2.6.28的650個patch。但是總的情況看,華人對Kernel的貢獻所占比例還比較小(6%~8%),外企華人的貢獻占了多數(shù),本土企業(yè)的比重比較小。這不禁讓人們想起若干年前,國際Linux社區(qū)對于國內(nèi)某些Linux公司只索取沒有奉獻的開源之路的指責(zé)。如果中國大型嵌入式系統(tǒng)企業(yè)不能像歐美日企業(yè)那樣追隨Linux開源文化的精神,我們的嵌入式系統(tǒng)開源之路還將會非常漫長。
4 理解嵌入式系統(tǒng)對開源軟件多樣性需求
嵌入式系統(tǒng)多學(xué)科交叉的特點,決定了嵌入式系統(tǒng)對于嵌入式軟件的認識和使用上的多元化現(xiàn)象。比如計算機專業(yè)的人員偏好開源的嵌入式Linux OS,電子和自動化專業(yè)更加偏于RTOS,比如μC/OS-II(開源,商業(yè)使用收費模式)和VxWorks(傳統(tǒng)的商業(yè)嵌入式操作系統(tǒng))。開源技術(shù)和思想對于嵌入式系統(tǒng)中非計算機科學(xué)學(xué)科的集成電路設(shè)計中的SoC技術(shù)已經(jīng)產(chǎn)生重要影響。目前多數(shù)嵌入式系統(tǒng)半導(dǎo)體公司使用Linux作為基礎(chǔ)的OS。[!--empirenews.page--]
嵌入式系統(tǒng)是應(yīng)用差異性很大的系統(tǒng),比如通信行業(yè),手機、智能手機、移動終端(智能本)、上網(wǎng)本、交換機、移動基站、交換機和電信服務(wù)器等等不同的產(chǎn)品,它們雖然是同一個行業(yè),但是各自的體系結(jié)構(gòu)、需求和應(yīng)用都不一樣,更不要說不同的行業(yè),如消費電子、工業(yè)控制和航空航天之間更大的差異了。
嵌入式系統(tǒng)計算平臺的體系結(jié)構(gòu)也比桌面和服務(wù)器復(fù)雜且種類繁多(如ARM、PPC、MIPS、X86和許多8/16位MCU),這個特點決定了開源軟件在嵌入式系統(tǒng)中也是百花齊放。今天,有各種類似的開源軟件,如Ecos、RTEMS,而TinyOS、RTLinux、RTAI等面向?qū)崟r性、通用性的Linux平臺也很多,另外面向移動互聯(lián)網(wǎng)的Moblin、Android和Ubuntu,及面向嵌入式系統(tǒng)的μC linux、Debian,還有商用公司Montavisa、Timesys、Windriver Linux的開源版本都在嵌入式系統(tǒng)中擁有自己的地位和應(yīng)用。
5 正視開源軟件在嵌入式系統(tǒng)中的局限性
雖然開源之風(fēng)在嵌入式系統(tǒng)越來越大,但是部分嵌入式軟件平臺對于開源軟件仍持謹慎態(tài)度。部分企業(yè)經(jīng)過實踐體會到,使用免費開源軟件未必能夠幫助企業(yè)節(jié)省成本,購買驗證后的商業(yè)軟件和知識產(chǎn)權(quán)卻可以幫助企業(yè)做大做強。實際上應(yīng)該糾正“使用Linux就意味省錢”的想法,免費開源軟件并不一定比商業(yè)軟件節(jié)省開發(fā)和運行成本。一般來講,成熟的嵌入式軟件需要經(jīng)過至少5年的開發(fā)和驗證時間,而且需要一個開發(fā)和支持團隊,這樣的模式對于嵌入式軟件平臺尤為重要。因此,目前包括航空航天、工業(yè)控制系統(tǒng)、交通系統(tǒng)、汽車電子、醫(yī)療電子(除信息娛樂部分外),采用Linux和其他開源軟件都比較少。開源軟件在嵌入式系統(tǒng)的應(yīng)用還應(yīng)該注意避免走習(xí)慣性的單一化模式的思路,應(yīng)該以應(yīng)用為導(dǎo)向,以平臺為依托,結(jié)合自身研發(fā)和維護團隊的技術(shù)特點,聯(lián)合芯片、合作伙伴和開源社區(qū)共同完成一個項目。
6 小 結(jié)
嵌入式系統(tǒng)的多樣性和廣泛性決定了開源軟件在其中巨大的生存和發(fā)展空間。開源軟件的開放性、靈活性、低成本開發(fā)和維護模式,可以幫助嵌入式產(chǎn)品解決所面臨的市場挑戰(zhàn)和創(chuàng)新。開源技術(shù)和思想對于嵌入式系統(tǒng)中的各個學(xué)科都將產(chǎn)生積極影響。