贏得設計成功的嵌入式Linux
嵌入式Linux幫助贏得主流手機設計成功
半導體廠商希望借助Linux來銷售芯片
入門級硬件使得售價低于200美元的關(guān)鍵產(chǎn)品的實現(xiàn)成為可能
開放源雖能提供自由度卻引起了IP版權(quán)問題
桌面操作系統(tǒng)采用類似Windows XP的界面
就在短短5年前的一次設計審 查會上,大家對我提出的考慮——將Linux用于嵌入式系統(tǒng)用戶界面與管理控制的建議——反應冷淡。反對這一建議的理由包括:Linux不能快速響應實時事件、開放源代碼界對軟件支持的擔心、以及對未來不可預測事情的顧慮等,評審組最終選擇了Windows CE。當時,客觀地講,還沒有完全適合嵌入式系統(tǒng)開發(fā)的主流操作系統(tǒng)派生產(chǎn)品,因此大多數(shù)設計均采用專用解決方案,如QNX Neutrino或Wind River公司的 VxWorks等。與此同時,主流產(chǎn)品界與開放源代碼界正忙于利用其核心軟件架構(gòu)來滿足占板面積小的嵌入式系統(tǒng)的需求。結(jié)果,在去年2月舉行的3GSM世界大會上,像英飛凌 (Infineon)、飛利浦 (Philips)、三星 (Samsung) 及意法半導體 (STMicroelectronics) 等行業(yè)巨頭,都公布了采用Linux的手機產(chǎn)品。在其他場合,飛思卡爾 (Freescale) 公司的軟件子公司Metrowerks推出了適合汽車電子的Linux——主要用于車內(nèi)娛樂設備。就在上個月,Xilinx公司發(fā)布了一個用于其免費下載Webpack FPGA開發(fā)環(huán)境的Linux端口,這預示著Linux操作系統(tǒng)正逐漸在工程領(lǐng)域得到同行的認可。那么Linux對嵌入式系統(tǒng)開發(fā)到底有多大用處?同樣重要的問題是,它啟動時又有多大難度?
首先,必需將硬實時操作系統(tǒng)與軟實時操作系統(tǒng)區(qū)分開,前者可保證不會錯過最后期限并能準確地了解工程的進度,后者則通常需要在一個特定時間范圍內(nèi)才能完成任務。像QNX、VxWorks及其他一些開發(fā)環(huán)境——如LiveDevices公司的Realogy套件及Volcano公司的汽車聯(lián)網(wǎng)系列產(chǎn)品等,均可處理需要有充分確定性響應時間的關(guān)鍵任務(參考文獻1)。但據(jù)EDN編輯Warren Webb最新報道,目前有許多可用來滿足實時需求的商業(yè)性Linux產(chǎn)品,如LynuxWorks公司用于補充其LynxOS產(chǎn)品的BlueCat Linux以及即將推出的Red Hat Embedded Linux,是堅持Red Hat的Linux 與將Linux及VxWorks融合在一起的全球最大商用RTOS供應商Wind River公司共同協(xié)作的結(jié)果(參考文獻2)。而最近進行的一系列發(fā)布,如General Dynamics Advanced Information Systems(通用動態(tài)高級信息系統(tǒng))選擇LynuxWorks公司的安全應急LynxOS-178 RTOS來開發(fā)美國陸軍未來戰(zhàn)斗系統(tǒng) (FCS)的基礎設施等,則表明這些進展意味著巨大的商機,
盡管這些系統(tǒng)都與Linux兼容,但它們還是不可避免地采用了專用軟件來滿足客戶的需求。例如,MontaVista公司對Linux內(nèi)核進行了修改以滿足其運營商級產(chǎn)品的如下需求,即增加大量預占點來將最壞情況下的延時從大于100ms縮短至小于1ms,以適應在電信基礎設施中使用。此外,由FSMLabs公司提供的RTLinuxPro,將Linux作為一個在硬實時操作系統(tǒng)內(nèi)核監(jiān)控下的空閑線程來運行,在一個典型x86平臺上可保證最壞情況下的中斷延時為13ms,并允許無縫訪問Linux環(huán)境。歐洲市場的興趣來自意大利軟件開發(fā)商Koan,Koan公司的Klinux采用由Polytechnic of Milan航空航天工程系RTAI項目開發(fā)的實時應用接口 (RTAI) 內(nèi)核擴展來提供硬實時響應。在獲得免許可的開放源代碼條件下,Koan正致力于將其系統(tǒng)移植到包括x86、ARM、PowerPC及Xscale架構(gòu)的處理器上,這些產(chǎn)品主要用于工業(yè)控制。
讓我們回到消費電子市場,信息娛樂與手機應用的迅猛發(fā)展預示著嵌入式Linux會更加廣泛地用于對任務苛刻程度與實時響應沒有那么嚴格要求的設備中。當然,Linux已經(jīng)在可靠性與安全性方面獲得了很好的聲譽,正因為如此,移動電話運營商Orange與意法半導體公司最近決定對嵌入式Linux系統(tǒng)的研發(fā)進行聯(lián)合投資,該操作系統(tǒng)用于在意法半導體公司基于ARM的Nomadik處理器上運行的一個安全電子手機付費程序。但Linux傳統(tǒng)的反應時間遲緩已經(jīng)在很多場合妨礙了它的應用,這是由于它原有內(nèi)核的非預占性設計而造成的,其運行任務會停止中斷,并且其調(diào)度程序采用了一種公平算法來保證所有任務均分享一部分處理器時間,而不考慮任務的優(yōu)先級。這種內(nèi)核還依靠任務之間的頁面交換,因此不能在必需適應異步事件的系統(tǒng)中對時序進行準確地預測。此外,它還要求用存儲器管理單元 (MMU) 來進行存儲器保護以及方便多任務處理。
當前的2.6版內(nèi)核進一步減少了延時并擁有許多嵌入式友好特性,包括構(gòu)建用于不需要用戶界面的設備的小占板面積內(nèi)核選項。在從過渡版2.5開始發(fā)布的內(nèi)核中,系統(tǒng)核心是所謂的O(1)調(diào)度程序,它增加了內(nèi)核預占、任務優(yōu)先級與一個專用時間限制程序。基于Linux 的電話系統(tǒng)制造商Digium公司總裁Mark Spencer聲稱,無需對內(nèi)核進行額外的修改,Linux操作系統(tǒng)的性能就能勝任軟實時應用,他說:“大多數(shù)先進PC平臺可處理多達每秒1000個硬件中斷,這對于Digium公司的Asterisk系統(tǒng)核心部分的時分多路復用總線來說已經(jīng)足夠”。他認為Linux 的一個重要優(yōu)點是它能適應從小型嵌入式平臺直至超級計算機的升級,并且還能與PC開發(fā)并行進行。他說:“一開始,PC只運行字處理軟件與電子表格軟件,但它們很快便開始取代小型機并在計算領(lǐng)域占優(yōu)勢。與此相似,Linux正變得無處不在,現(xiàn)在其產(chǎn)品出現(xiàn)在各種不同的應用領(lǐng)域中”。Spencer堅持認為Digium公司應繼續(xù)開發(fā)它的開放源代碼Asterisk產(chǎn)品,而且公司還可以將許可授給第三方以進行專用軟件開發(fā),這代表了Linux商業(yè)合作的運營模式,他說:“我們剛剛推出了Asterisk商業(yè)版,并正在開發(fā)更多的PBX基礎設施硬件,包括一種回波消除卡”。
評論