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