吳葉
摘要:隨著各種電子產(chǎn)品的快速發(fā)展,各種硬件與軟件的大量開發(fā),讓嵌入式技術(shù)的研究得持續(xù)升溫。要更好的發(fā)揮出嵌入式開發(fā)系統(tǒng)的作用,就需要認(rèn)識(shí)嵌入式開發(fā)系統(tǒng)的特點(diǎn)。在文中主要就嵌入式開發(fā)系統(tǒng)的特點(diǎn)進(jìn)行探討。
關(guān)鍵詞:嵌入式開發(fā)系統(tǒng),特點(diǎn),計(jì)算機(jī)技術(shù)
嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。正如我們所知嵌入式系統(tǒng)開發(fā)經(jīng)過(guò)30多年的發(fā)展己然成為了一個(gè)成熟的技術(shù)。他現(xiàn)如今有如下特點(diǎn):
1)交叉開發(fā)工具和環(huán)境。嵌入式開發(fā)必須要有一套開發(fā)工具以及環(huán)境才能進(jìn)行開發(fā),因?yàn)榍度胧杰浖旧硎遣痪邆渥灾鏖_發(fā)能力.用戶對(duì)其中程序功能是無(wú)法修改的。而這些工具和環(huán)境一般是要依靠在通用計(jì)算機(jī)上的軟硬件設(shè)備以及邏輯分析儀、混合信號(hào)示波器等設(shè)備上進(jìn)行的。開發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)交叉開發(fā)的概念,程序的開發(fā),調(diào)試需要主機(jī)執(zhí)行,而目標(biāo)機(jī)最后執(zhí)行。
2)軟件要求固態(tài)化存儲(chǔ)。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存貯于磁盤等載體中。
3)軟硬件協(xié)同設(shè)計(jì)并且專用性強(qiáng)。嵌入式系統(tǒng)的個(gè)性化很強(qiáng),其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進(jìn)行修改。同時(shí)針對(duì)不同的任務(wù),往往需要對(duì)系統(tǒng)進(jìn)行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級(jí)”是完全兩個(gè)概念。
4)軟件代碼質(zhì)量與可靠性都十分高。嵌入式軟件的核心是系統(tǒng)軟件和應(yīng)用軟件,由于存儲(chǔ)空間有限,因而要求軟件代碼緊湊、可靠,大多對(duì)實(shí)時(shí)性有嚴(yán)格要求。雖然現(xiàn)在由于半導(dǎo)體技術(shù)的發(fā)展使得處理器的速度不斷提高,片上存儲(chǔ)器的容量也在持續(xù)不斷增加,但在大多數(shù)應(yīng)用中,存儲(chǔ)空間依舊很寶貴并且還有實(shí)時(shí)性的要求。因此要求程序編寫和編譯工具的質(zhì)量要高,以此減少程序二進(jìn)制代碼長(zhǎng)度,起到了提高執(zhí)行速度的效果,而嵌入式系統(tǒng)正好擁有這個(gè)優(yōu)勢(shì)。
5)系統(tǒng)軟件的高實(shí)時(shí)性。在多任務(wù)嵌入式軟件中,對(duì)重要性各不相同的任務(wù)進(jìn)行統(tǒng)籌兼顧和合理調(diào)度是保證每個(gè)任務(wù)及時(shí)執(zhí)行的關(guān)鍵,單純通過(guò)提高處理器速度是無(wú)法完成和沒有效率的,這種任務(wù)調(diào)度只能由優(yōu)化編寫的系統(tǒng)軟件來(lái)完成,因此系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。嵌入式軟件應(yīng)用程序雖然可以沒有操作系統(tǒng)直接在芯片上運(yùn)行,但是為了合理地調(diào)度多任務(wù),利用系統(tǒng)資源,系統(tǒng)一般以成熟的實(shí)時(shí)操作系統(tǒng)作為開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。
6)生命周期長(zhǎng)。嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),具有較長(zhǎng)的生命周期。
7)系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對(duì)有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。
8)系統(tǒng)精簡(jiǎn)。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過(guò)于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于實(shí)現(xiàn)系統(tǒng)安全
2軟硬件協(xié)同設(shè)計(jì)概念
軟硬件協(xié)同設(shè)計(jì)是指對(duì)系統(tǒng)中的軟硬件部分使用統(tǒng)一的描述和工具進(jìn)行集成開發(fā),可完成全系統(tǒng)的設(shè)計(jì)驗(yàn)證并跨越軟硬件界面進(jìn)行系統(tǒng)優(yōu)化。
嵌入式軟件設(shè)計(jì)是使用一組物理硬件和軟件來(lái)完成所需功能的過(guò)程。系統(tǒng)是指任何由硬件、軟件或者兩者的結(jié)合來(lái)構(gòu)成的功能設(shè)備。由于嵌入式軟件是一個(gè)專用系統(tǒng),所以在嵌入式產(chǎn)品的設(shè)計(jì)過(guò)程中,軟件設(shè)計(jì)和硬件設(shè)計(jì)是緊密結(jié)合、相互協(xié)調(diào)的。這就產(chǎn)生了一種全新的發(fā)展中的設(shè)計(jì)理論——軟硬件協(xié)同設(shè)計(jì)。這種方法的特點(diǎn)是,在設(shè)計(jì)時(shí)從系統(tǒng)功能的實(shí)現(xiàn)角度考慮,把實(shí)現(xiàn)時(shí)的軟硬件同時(shí)考慮進(jìn)去,硬件設(shè)計(jì)包括芯片級(jí)“功能定制”設(shè)計(jì)。既可最大限度地利用有效資源,縮短開發(fā)周期,又能取得更好的設(shè)計(jì)效果。
系統(tǒng)協(xié)同設(shè)計(jì)的整個(gè)流程從確定系統(tǒng)要求開始,包含系統(tǒng)要求的功能、性能、功耗、成本、可靠性和開發(fā)時(shí)間等。這些要求形成了由項(xiàng)目開發(fā)小組和市場(chǎng)專家共同制定的初步說(shuō)明文檔。系統(tǒng)設(shè)計(jì)首先確定所需的功能。復(fù)雜系統(tǒng)設(shè)計(jì)最常用的方法是將整個(gè)系統(tǒng)劃分為較簡(jiǎn)單的子系統(tǒng)及這些子系統(tǒng)的模塊組合,然后以一種選定的語(yǔ)言對(duì)各個(gè)對(duì)象子系統(tǒng)加以描述,產(chǎn)生設(shè)計(jì)說(shuō)明文檔。其次,是把系統(tǒng)功能轉(zhuǎn)換成組織結(jié)構(gòu),將抽象的功能描述模型轉(zhuǎn)換成組織結(jié)構(gòu)模型。由于針對(duì)一個(gè)系統(tǒng)可建立多種模型,因此應(yīng)根據(jù)系統(tǒng)的仿真和先前的經(jīng)驗(yàn)米選擇模型。
3嵌入式軟件開發(fā)的方法論
由于一個(gè)完整的產(chǎn)品中大部分系統(tǒng)都是非常復(fù)雜的,不僅如此與此同時(shí)我們還需要考慮很多的因素,比如開發(fā)這個(gè)產(chǎn)品所需的價(jià)格,產(chǎn)品的性能如何,系統(tǒng)設(shè)計(jì)技術(shù)是什么等。唯有全面考慮這些因素我們才可能順利進(jìn)行開發(fā),然后才可能做出一個(gè)成功的,合格的產(chǎn)品。一般來(lái)說(shuō),產(chǎn)品設(shè)計(jì)的過(guò)程會(huì)經(jīng)歷幾個(gè)步驟,為了確保這些步驟的合理性,我們需要一個(gè)設(shè)計(jì)方法論來(lái)面對(duì)整個(gè)設(shè)計(jì)過(guò)程。采用方法論有以下三個(gè)重要理由。
確認(rèn)所做的每一件事情都是必須要做的,不做無(wú)謂的工作,也不漏掉關(guān)鍵性的重要工作,其中包含性能最佳化或是功能測(cè)試。
根據(jù)設(shè)計(jì)方法論可以發(fā)展出計(jì)算機(jī)輔助工具或是設(shè)計(jì)經(jīng)驗(yàn)累積,汲取每一次產(chǎn)品開發(fā)的經(jīng)驗(yàn)。再經(jīng)過(guò)量化之后,可以發(fā)展出一套工具或是方法,讓往后的產(chǎn)品設(shè)計(jì)步入自動(dòng)化。
開發(fā)團(tuán)隊(duì)遵循同一套方法論,可以讓團(tuán)隊(duì)成員更容易彼此溝通。每個(gè)人都能在短時(shí)間內(nèi)了解整體過(guò)程中將經(jīng)歷哪些過(guò)程,需要何種支持與接收到何種結(jié)果。此外,也容易通過(guò)一套已經(jīng)定義好的方法論,彼此相互合作協(xié)調(diào)。設(shè)計(jì)過(guò)程的目標(biāo)是做出有一定用途且具有創(chuàng)新點(diǎn)的產(chǎn)品。產(chǎn)品的典型規(guī)格包含功能性、制造成本、性能表現(xiàn)、省電考慮和其他特性。
4結(jié)束語(yǔ)
1)嵌入式系統(tǒng)開發(fā)在開發(fā)過(guò)程中綜合考慮了軟硬件環(huán)境和需求,這樣開發(fā)的軟件產(chǎn)品極大的縮短了開發(fā)時(shí)間,也提高了系統(tǒng)與硬件之間的驅(qū)動(dòng)默契。嵌入式軟件開發(fā)要想走向標(biāo)準(zhǔn)化,就必須使用多任務(wù)的操作系統(tǒng)。嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行;但是為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(Real-Time operating System)開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。