嵌入式系統(tǒng)軟件開發(fā)技術(shù)概述
嵌入式系統(tǒng)軟件開發(fā)技術(shù)概述
嵌人式系統(tǒng)開發(fā)經(jīng)過30多年的發(fā)展,到現(xiàn)在算是一個成熟的技術(shù)了。下面小編為大家準(zhǔn)備了關(guān)于嵌入式系統(tǒng)軟件開發(fā)技術(shù)的文章,歡迎閱讀。
1 微處理器技術(shù)
最早的微處理器是4位和8位器件。由于制造技術(shù)越來越復(fù)雜,集成的單片8位微處理器開始出現(xiàn),16位微處理器也開始使用。隨著微電子技術(shù)的發(fā)展,16位的微處理器已得到廣泛的應(yīng)用。32位架構(gòu)的器件逐漸占領(lǐng)了高端的應(yīng)用市場,第一代的32位器件都是CISC架構(gòu),但目前,越來越多的RISC芯片正在提供更高的性能。嵌人式系統(tǒng)設(shè)計者選擇微處理器的范圍比以前大了,必須根據(jù)性能、需求、支持、可用性和價格來進行選擇。
2 系統(tǒng)架構(gòu)
隨著微處理器的發(fā)展系統(tǒng)架構(gòu)也在進步。最早的系統(tǒng),是由CPU和一些邏輯器件組成的。多年以來,系統(tǒng)變得日益復(fù)雜,但都還可以使用同樣的調(diào)試技術(shù)—電路仿真、芯片級調(diào)試、ROM監(jiān)控器以及指令集模擬。嵌入式系統(tǒng)日益強勁,而功能需求的增長則更快很多設(shè)計者開始重新審視微處理器和它們的用法。
3 設(shè)計組成
嵌入式系統(tǒng)發(fā)展的最初階段。所有的開發(fā)包括軟件和硬件設(shè)計,通常都是一個工程師來承擔(dān)。軟件在整個工作址中的比例很小,大約5%-10%。隨著時間的推移軟件開發(fā)占工程時間的比例持續(xù)增長。至20世紀(jì)80年代中期,軟件開發(fā)已經(jīng)是由專業(yè)歡件人員來做,所占比例一般已超過整個開發(fā)工作量的50%。
在最近幾年,雖然硬件設(shè)計變得更加復(fù)雜,但軟件的份量也急劇增長,目前通常占到開發(fā)總量70%-80%。因此,需要有軟件團隊參與,同時也產(chǎn)生了一些新的挑戰(zhàn)。這些挑戰(zhàn)中的一個,就是要有可用的硬件平臺來進行軟件測試。由于要在更短的時間內(nèi)開發(fā)更多的軟件,就需要盡快建立測試環(huán)境。發(fā)出更多的軟件,就需要盡快建立測試環(huán)境。有多種可行的方法,如本地代碼執(zhí)行原型環(huán)境、指令集軟仿真(模擬),以及使用標(biāo)準(zhǔn)的、低成本的、現(xiàn)成的評估板。此外,低成本的主機一目標(biāo)機連接技術(shù),也變得越來越普及,有代表性的就是JTAG接口。
4 軟件內(nèi)容
軟件開發(fā)所占總時間的比例一直在增加。同時,來自全球貿(mào)易和競爭的壓力使得產(chǎn)品投放市場的時間也一直在縮短。這極大地影響了設(shè)計的策略。最早的設(shè)計相當(dāng)簡單,僅僅由自己設(shè)計的應(yīng)用代碼組成。隨著系統(tǒng)的復(fù)雜度增加,多任務(wù)的模型被軟件開發(fā)者廣泛采納,很多開發(fā)者選擇標(biāo)準(zhǔn)的、商用的實時操作系統(tǒng)產(chǎn)品。隨著各個標(biāo)準(zhǔn)的進一步被采納,買來的軟件,或者說有“知識產(chǎn)權(quán)”的軟件所占的比例正穩(wěn)步增長。這個趨勢給了軟件開發(fā)者很多啟示。集成標(biāo)準(zhǔn)的軟件組件—和應(yīng)用代碼及其他—是我們所關(guān)心的。在多任務(wù)背景下調(diào)試是另一個值得關(guān)注的問題。與選擇知識產(chǎn)權(quán)有關(guān)的商業(yè)決定尤為復(fù)雜;除了當(dāng)前的要求之外,還有將來的(例如移植到別的處理器)也必須加以考慮。
5 編程語言
對于早期的4位和8位微處理器,匯編語言是唯一的選擇。隨著16位微處理器技術(shù)成為現(xiàn)實,出現(xiàn)了幾種可供選擇的語言。有Pascal和C語言和PL/M語言。對某些類型的系統(tǒng)來說,F(xiàn)orth語言也曾很流行,隨著時間推移,32位技術(shù)的使用日益增多,出現(xiàn)了C和Ada。后者在國防部的系統(tǒng)中被普遍使用。
在嵌入式軟件開發(fā)中,C++開始逐步取代C語言。現(xiàn)在,1/4~1/3的嵌入式系統(tǒng)代碼是用C++編寫的。Java語言當(dāng)初是專門為嵌人式應(yīng)用開發(fā)的,在要求運行時重新配置的應(yīng)用場合,它找到了一席之地。統(tǒng)一建模語言(UML)也成為高級設(shè)計方法學(xué)的最流行選擇。
6 軟件隊伍的規(guī)模和分布
正如先前討論的一樣,最初的嵌人式系統(tǒng)設(shè)計只要一個人就夠了。在適當(dāng)?shù)臅r候,因?qū)I(yè)化,產(chǎn)生了致力于軟件開發(fā)的工程師。下一步就是建立嵌人式軟件開發(fā)團隊。管理軟件開發(fā)在任何情況下都是一個挑戰(zhàn),嵌入式系統(tǒng)開發(fā)也不例外,只是有細(xì)微差別。使用傳統(tǒng)的編程技術(shù)———過程語言,如C語言和匯編語言,團隊里的大部分成員都需要對整個系統(tǒng)了解比較全面。隨著團隊變大,這就變得越來越不可行。價況住往是,團隊里有一些特殊的'人才,他們對某些專門領(lǐng)域很在行。為了有效地管理團隊必須使用合適的策略,將他們的專長封裝起來。盡可能使一個專家的工作成果能夠被非專家以安全、可靠和直觀的方式加以使用.在這種情況下,面向?qū)ο缶幊碳夹g(shù)找到應(yīng)用點。
雖然有很多非常大的公司,但軟件隊伍不是簡單的人員擴充他們正在變成分布式的。團隊的一些成員在一個地方,而其他的可能在別處。這些地點甚至有可能位于不同的國家。這種安排在歐洲很常見,在那里,真正關(guān)心的可能是交流的語言。其他地方,時區(qū)可能是個問題(可能也是一個優(yōu)勢,因為分布式的團隊可以全天候工作)。隨著新興的技術(shù)中心(如印度)廣泛崛起,上述情況越來越普遍。在這一背景不,軟件組件的可重用性需求就變得很常見了。
7 UML和建模
最近幾年,UML己經(jīng)成為一項關(guān)鍵的設(shè)計方法,它和逐漸增七的嵌人式軟件團隊規(guī)模關(guān)系密切。廣義上說,使用設(shè)計工具的方式有2種:或者是作為編寫代碼的指導(dǎo),或者就作為直接生成代碼的一種手段。對于嵌人式軟件來說,代碼生成是有爭議的,它可能會被爭論(而且還很有道理)—每一個系統(tǒng)都是不同的,都有各自的特殊需求。這正是xtUML(可執(zhí)行和可翻譯的UML)吸引人的地方,因為它使得應(yīng)用與架構(gòu)清晰地分離了。這里所遵循的,是與面向?qū)ο缶幊掏瑯拥脑瓌t—使用工具和技術(shù)來平衡專家意見。
追蹤所有被當(dāng)前各種嵌人式系統(tǒng)開發(fā)趨勢所驅(qū)動的新技術(shù)并非易事。孤立地看待其中任何一項技術(shù)也是毫無意義的,因為它們之間有著許多聯(lián)系。例如,多任務(wù)與多處理器調(diào)試相關(guān);基于標(biāo)準(zhǔn)的RTOS技術(shù)對處理器移植來說真是件幸事;使用設(shè)計方法學(xué)可以令實現(xiàn)更容易。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 yyfangchan@163.com (舉報時請帶上具體的網(wǎng)址) 舉報,一經(jīng)查實,本站將立刻刪除