嵌入式系統(tǒng)開發(fā),為什么選擇Linux_第1頁
嵌入式系統(tǒng)開發(fā),為什么選擇Linux_第2頁
嵌入式系統(tǒng)開發(fā),為什么選擇Linux_第3頁
嵌入式系統(tǒng)開發(fā),為什么選擇Linux_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、嵌入式系統(tǒng)開發(fā),為什么選擇Linux?時間:2009-06-29 23:36 點(diǎn)擊:46次 字體:大 中 小在過去的十年中,嵌入式系統(tǒng)的開發(fā)發(fā)生了很大的變化。以前嵌入式設(shè)備往往是一個孤立的、資源有限的系統(tǒng),它們追求的是在有限的價(jià)格上滿足一定的功能性要求。通常它們采用那些功能并不強(qiáng)大的CPU,這也是開發(fā)者不得不盡可能地壓縮嵌入式系統(tǒng)性能的原因。而今天人們對嵌入上一篇:Linux嵌入式-AVR單片機(jī)的GCC編程下一篇: 構(gòu)造嵌入式Linux在過去的十年中,嵌入式系統(tǒng)的開發(fā)發(fā)生了很大的變化。以前嵌入式設(shè)備往往是一個孤立的、資源有限的系統(tǒng),它們追求的是在有限的價(jià)格上滿足一定的功能性要求。通常它們采用那

2、些功能并不強(qiáng)大的CPU,這也是開發(fā)者不得不盡可能地壓縮嵌入式系統(tǒng)性能的原因。而今天人們對嵌入式設(shè)備在智能化和互連性上提出了要求,這使得嵌入式設(shè)備不再是孤立的,他們要通過互聯(lián)網(wǎng)、無線或是其他的方式實(shí)現(xiàn)相互連接,同時它們也是軟件生態(tài)系統(tǒng)(software ecosystem)的一部分。最初的嵌入式設(shè)備是單一用途的,它們擁有各自獨(dú)特的顯示方式和用戶界面;而今天它們變成了我稱之為“等同PC”的系統(tǒng)。它們必須運(yùn)行很多相同的應(yīng)用程序,它們需要采用相同的方式實(shí)現(xiàn)互連或是在某些情況下增強(qiáng)互連性。因此你可以看到在傳統(tǒng)的實(shí)時操作系統(tǒng)(RTOS)之上建立應(yīng)用程序的必要性。作為內(nèi)部開發(fā)(in-house develo

3、ped)操作系統(tǒng)的替代方式,RTOS的出現(xiàn)使得建立嵌入式應(yīng)用變得更加容易。 在2000年以前,大多數(shù)的嵌入式系統(tǒng)仍然建立在內(nèi)部開發(fā)的操作系統(tǒng)(OS)基礎(chǔ)之上,但在此之后,WindRiver和其他的商業(yè)化RTOS產(chǎn)品逐漸贏得了越來越大的市場份額。 如果開發(fā)者試圖通過內(nèi)部開發(fā)建立某些嵌入式系統(tǒng),就不得不建立從固件到應(yīng)用程序的完整的軟件棧(software stack)。垂直集成在給開發(fā)者帶來很大的控制能力的同時,也需要其在開發(fā)和維護(hù)上進(jìn)行大量的投入。在過去的五年中,在經(jīng)歷了全球性的經(jīng)濟(jì)危機(jī)之后,面市時間(time-to-market)意味著一切,追求附加值成為電子業(yè)重要的追求。因此,如果你是一個工

4、程經(jīng)理,考慮到你手中的資源,你是寧愿投資去創(chuàng)建一個自主產(chǎn)權(quán)的操作系統(tǒng)軟件平臺,還是去開發(fā)那些可以給你的應(yīng)用帶來差異化的技術(shù)呢?我相信你會選擇后者,因?yàn)殚_發(fā)者通常希望使他們的應(yīng)用變得與眾不同。這就使得內(nèi)部開發(fā)操作系統(tǒng)整合自主產(chǎn)權(quán)內(nèi)核的方法逐漸被淘汰。 如果你使用VxWorks或者是pSOS,仍然免不了要在建立應(yīng)用軟件和中間件上進(jìn)行大量投入。這是因?yàn)閲@在這些操作系統(tǒng)周邊的生態(tài)資源十分有限。例如對于VxWorks,只有一種Webserver可供使用,而如果采用Linux,會有八九種Webserver供你選擇;VxWorks只提供了一種網(wǎng)頁瀏覽器,而Linux有16種不同的網(wǎng)頁瀏覽器支持。通常情況下

5、對于某種實(shí)時系統(tǒng)你只能選擇一種文件系統(tǒng)通常情況下為與windows兼容而選用FAT文件系統(tǒng);而Linux包含八九種本地文件系統(tǒng),它們可以與十多種外部文件系統(tǒng)兼容。 傳統(tǒng)的RTOS與Linux相比還有一個很大的不同傳統(tǒng)的RTOS是一系列“服務(wù)”的集合(libraries of services),開發(fā)者需要一個功能就加入一個功能,如果開發(fā)者不需要就將它們?nèi)サ?。但這就意味著建立在一個RTOS上的系統(tǒng)的每一個執(zhí)行程序都是不同的,因?yàn)殚_發(fā)者只是與那些需要的“服務(wù)”相聯(lián)系,你建立的是一組非常獨(dú)特的服務(wù)集合。這并不象是一個操作系統(tǒng)。而象Linux這樣的操作系統(tǒng)提供了一個統(tǒng)一的平臺,這使得那些智能設(shè)備不但可

6、以獲得更好的互連性,增強(qiáng)它們彼此之間的差異性,同時也使它們獲得了不同的生命周期。 以手機(jī)的開發(fā)為例,一部智能手機(jī)在離開工廠時,它具有一系列確定的功能。但是在銷售渠道中,人們往往希望對它原有的功能進(jìn)行修改,或是加入其他的功能。運(yùn)營商希望在他們銷售的手機(jī)中體現(xiàn)出更多的差異化,他們希望加入諸如游戲等更多的服務(wù)。而最終用戶也許還希望能夠從第三方購買到更豐富的游戲(和其他服務(wù))。如果開發(fā)者的手機(jī)是一個單一用途的設(shè)備,它只能提供有限的服務(wù),那么在它基礎(chǔ)上建立服務(wù)和其他增值功能將是非常困難的。但如果開發(fā)者面對的是一部采用嵌入式Linux的手機(jī),并了解API和相關(guān)的標(biāo)準(zhǔn),他們就可以十分迅速地建立起豐富的軟件生

7、態(tài)系統(tǒng)并迅速占領(lǐng)市場。產(chǎn)品長期的差異化與互連性息息相關(guān),這包括它的網(wǎng)絡(luò)互連性、與中間件的互連性,以及與外圍生態(tài)環(huán)境的互連性。Linux作為一個“在互聯(lián)網(wǎng)上成長起來的動物”,無論從哪方面講都應(yīng)該算是互連性最好的操作系統(tǒng)。 有人會將Linux與微軟的Windows相比較,確實(shí)Windows具有很好的互連性,且具有非常全面的軟件棧。但一旦開發(fā)者用Windows建立了產(chǎn)品,他也就喪失了實(shí)現(xiàn)差異化的機(jī)會。僅僅將Windows OS加到你的產(chǎn)品中并實(shí)現(xiàn)商用是十分迅速的。所以如果你想獲得面市時間上的優(yōu)勢,Windows會給你帶來很多功能性上的優(yōu)勢。但是你獲得功能性的同時,也就失去了差異化的機(jī)會。 當(dāng)然,Wi

8、ndows還有其他一些技術(shù)上的問題,這主要體現(xiàn)在可靠性和軟件規(guī)模方面。Windows的“體積”十分龐大。人們都在說Linux很大,確實(shí)與傳統(tǒng)RTOS的7080k的代碼規(guī)模相比,Linux的大小通常在幾兆字節(jié),而最小的Windows CE的代碼規(guī)模也有27MB。出于政治和法律上的考慮,微軟是不能將Windows進(jìn)行拆分的。 同時,Windows和其它RTOS還將遇到來自用戶不斷增加的使用成本(runtime costs)方面的挑戰(zhàn),因?yàn)樗麄兪杖「哳~的版稅。嵌入式Windows的版權(quán)費(fèi)大約為每拷貝1215美元。對于那些大批量的產(chǎn)品,其每件產(chǎn)品上可承受的分?jǐn)偝杀臼钟邢?,如果要向Windows支付這

9、樣的版稅,很可能會造成虧本。其它商業(yè)化的RTOS采用的也是這樣一種收取版稅的商業(yè)模式。而Linux,其突出的一個優(yōu)點(diǎn)就是免版稅的。 Linux還具有很好的可靠性。傳統(tǒng)的RTOS通常不具備強(qiáng)大的內(nèi)存保護(hù)功能,這使應(yīng)用程序很容易被破壞。 另一個影響嵌入式系統(tǒng)對操作系統(tǒng)選擇的是商業(yè)因素。在這方面?zhèn)鹘y(tǒng)RTOS供應(yīng)商和微軟的境遇是相同的。傳統(tǒng)RTOS供應(yīng)商和微軟都會在不與客戶協(xié)商的情況下終止某一產(chǎn)品的供應(yīng),他們的商業(yè)決策是從他們公司自身的利益出發(fā)的,而不是站在客戶的角度考慮。Linux則能給予使用者更多的選擇。 如果采用一個開放源碼的操作系統(tǒng),開發(fā)者能夠主宰他們自己的命運(yùn),他們不必被一個供應(yīng)商的決策牽著

10、鼻子走,他們總是有很多選擇。即使他們選擇了MontaVista這樣商業(yè)化的Linux供應(yīng)商,他們依然能夠保有對開放資源進(jìn)行客戶化和利用的選擇性,他們可以選擇繼續(xù)和MontaVista合作或是走開。 我們還注意到,現(xiàn)實(shí)中,與MontaVista所提供的商業(yè)化版本的Linux形成競爭的除了Windows和其它RTOS,還有由用戶自主開發(fā)(roll-your-own)的Linux。但是建立和維護(hù)一個基于Linux的平臺是很艱巨的工作,而對于用戶來說,這是一種無法創(chuàng)造附加值的工作。我們?nèi)粘9芾碇鳰ontaVista的Linux環(huán)境中超過4200萬行的代碼。嵌入式應(yīng)用程序平均的代碼長度最多是50萬行,很

11、多組織是沒有能力去管理4200萬行代碼的。 如果你著眼于源代碼的開發(fā),即使是針對單一目的的應(yīng)用,其源代碼的規(guī)模也將以千萬行計(jì)。為了完成內(nèi)核的維護(hù)工作,你需要每年投入10個工程師的力量;同時你還要花費(fèi)3540人年去建立整個嵌入式Linux操作系統(tǒng)。很多公司試圖用兩個工程師去維護(hù)一個自主研發(fā)的Linux項(xiàng)目,這樣開發(fā)者很快就會發(fā)現(xiàn)他們已經(jīng)陷入困境。 自主開發(fā)Linux過程中會遭遇到的另一個問題是,你是在一個開放資源基礎(chǔ)上開始工作的,同時你需要投入大量的時間和精力在基礎(chǔ)性資源的周圍建立一個平臺。但是Linux是開放源碼的,其發(fā)展速度十分迅速。因此大多數(shù)自主開發(fā)的項(xiàng)目實(shí)際上是我們稱之為“某一時間點(diǎn)(p

12、oint-in-time)”的版本,因?yàn)殚_發(fā)者只是選取了某一時段的源代碼并基于它進(jìn)行開發(fā),而并不想繼續(xù)投資以保持與Linux同步的發(fā)展。而象MontaVista這樣的供應(yīng)商會保持大量基礎(chǔ)性的投入跟蹤Linux的最新版本,并將其加入到產(chǎn)品中來。 有人會說,也許是因?yàn)殚_發(fā)者的規(guī)模太小而沒有充足的預(yù)算去自主開發(fā)Linux,那么讓我們來看看那些大的嵌入式開發(fā)者的選擇又是如何的。規(guī)模較大系統(tǒng)OEM,他們擁有數(shù)以千計(jì)的開發(fā)工程師,這些大公司也許應(yīng)該有工程資源在內(nèi)部開發(fā)一個Linux平臺。但同樣,他們的預(yù)算也十分有限,他們也面臨著增加附加值的挑戰(zhàn),他們在Linux之外還有很多其他的問題需要解決。他們面臨著不

13、同的項(xiàng)目,而每個項(xiàng)目建立在不同的微處理器的基礎(chǔ)上,同時還需要不同的中間件和應(yīng)用軟件棧與之相配。因此很難說他們是否能夠在統(tǒng)一公司內(nèi)部不同的Linux版本方面花力氣。 MontaVista建立了一個統(tǒng)一的基礎(chǔ)資源,可以為那些大OEM建立一個我們稱之為“策略平臺”的統(tǒng)一的Linux平臺。因此我們可以在相同的源代碼上建立針對MIPS、arm、PowerPC或SH等不同處理器架構(gòu)的Linux。要想建立這樣的Linux系統(tǒng)需要大量的基礎(chǔ)性投入,而大多數(shù)嵌入式系統(tǒng)公司是不會在他們的產(chǎn)品之外投入一分錢的。 因此如果他們試圖使用自主開發(fā)的Linux時,他們將面臨很大的風(fēng)險(xiǎn),因?yàn)樗麄冏灾鏖_發(fā)的Linux的品質(zhì)將受制于他們能夠投入的資源的多少,即使是一個大公司也不會象MontaV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論