《軟件開發(fā)中的嵌入式軟件開發(fā)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件開發(fā)中的嵌入式軟件開發(fā)論文(3頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、軟件開發(fā)中的嵌入式軟件開發(fā)論文
在一般應(yīng)用軟件系統(tǒng)開發(fā)時(shí),程序員只需要考慮軟件系統(tǒng)的功能設(shè)計(jì),硬件部分直接根據(jù)軟件需求購買即可。嵌入式軟件的開發(fā)則需要軟硬件綜合開發(fā),這有兩方面的原因:一方面,任何一個(gè)嵌入式產(chǎn)品都是軟硬件的結(jié)合體;另一方面,一旦嵌入式產(chǎn)品研制完成后,軟件就已經(jīng)固化在硬件環(huán)境中,用戶不能對其修改。嵌入式軟件的這一特點(diǎn)決定了嵌入式應(yīng)用開發(fā)方式不同于傳統(tǒng)的軟件工程方法。
1嵌入式軟件開發(fā)的特點(diǎn)
嵌入式軟件的開發(fā)具有如下幾方面的特點(diǎn):
1)需要交叉開發(fā)工具和環(huán)境。由于嵌入式軟件本身不具備自主開發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也不能對其中的程序功能進(jìn)行
2、修改,因此必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。這些工具和環(huán)境一般基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號示波器等。開發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)交叉開發(fā)的概念,主機(jī)用于程序的開發(fā)、調(diào)試,目標(biāo)機(jī)作為最后的執(zhí)行機(jī)構(gòu)。開發(fā)時(shí)主機(jī)和目標(biāo)機(jī)需要交替結(jié)合進(jìn)行。
2)軟硬件協(xié)同設(shè)計(jì)。軟硬件協(xié)同設(shè)計(jì)涉及以下方面:嵌入式軟件設(shè)計(jì)、實(shí)時(shí)系統(tǒng)設(shè)計(jì)、硬件設(shè)計(jì)和軟件設(shè)計(jì)。軟硬件協(xié)同設(shè)計(jì)強(qiáng)調(diào)硬件與軟件的協(xié)同性與整合性、軟件與硬件的可裁減,以滿足系統(tǒng)對功能、成本、體積和功耗等要求。
3)嵌入式軟件開發(fā)人員以應(yīng)用專家為主。通用計(jì)算機(jī)的開發(fā)人員一般是計(jì)算機(jī)科學(xué)或計(jì)算機(jī)工程方面的專業(yè)人士,而嵌入式
3、軟件則是要和各個(gè)不同行業(yè)的應(yīng)用相結(jié)合的,要求更多的計(jì)算機(jī)以外的專業(yè)知識,其開發(fā)人員往往是各個(gè)應(yīng)用領(lǐng)域的專家。
4)軟件要求固態(tài)化存儲(chǔ)。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存儲(chǔ)于磁盤等載體中。
5)軟件代碼高質(zhì)量、高可靠性。盡管半導(dǎo)體技術(shù)的發(fā)展使處理器速度不斷提高,片上存儲(chǔ)器容量不斷增加,但在大多數(shù)應(yīng)用中,存儲(chǔ)空間仍然是寶貴的,還存在實(shí)時(shí)性的要求。為此要求程序編寫和編譯工具的質(zhì)量要高,以減少程序二進(jìn)制代碼長度,提高執(zhí)行速度。嵌入式軟件的核心是系統(tǒng)軟件和應(yīng)用軟件,由于存儲(chǔ)空間有限,因而要求軟件代碼緊湊、可靠,大多對實(shí)時(shí)性有嚴(yán)
4、格要求。
6)系統(tǒng)軟件的高實(shí)時(shí)性。在多任務(wù)嵌入式軟件中,對重要性各不相同的任務(wù)進(jìn)行統(tǒng)籌兼顧和合理調(diào)度是保證每個(gè)任務(wù)及時(shí)執(zhí)行的關(guān)鍵,單純通過提高處理器速度是無法完成和沒有效率的,這種任務(wù)調(diào)度只能由優(yōu)化編寫的系統(tǒng)軟件來完成,因此系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。嵌入式軟件應(yīng)用程序雖然可以沒有操作系統(tǒng)直接在芯片上運(yùn)行,但是為了合理地調(diào)度多任務(wù),利用系統(tǒng)資源,系統(tǒng)一般以成熟的實(shí)時(shí)操作系統(tǒng)作為開發(fā)平臺,這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。
2軟硬件協(xié)同設(shè)計(jì)概念
嵌入式軟件設(shè)計(jì)是使用一組物理硬件和軟件來完成所需功能的過程。系統(tǒng)是指任何由硬件、軟件或
5、者兩者的結(jié)合來構(gòu)成的功能設(shè)備。由于嵌入式軟件是一個(gè)專用系統(tǒng),所以在嵌入式產(chǎn)品的設(shè)計(jì)過程中,軟件設(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ì)包括芯片級“功能定制”設(shè)計(jì)。既可最大限度地利用有效資源,縮短開發(fā)周期,又能取得更好的設(shè)計(jì)效果。
系統(tǒng)協(xié)同設(shè)計(jì)的整個(gè)流程從確定系統(tǒng)要求開始,包含系統(tǒng)要求的功能、性能、功耗、成本、可靠性和開發(fā)時(shí)間等。這些要求形成了由項(xiàng)目開發(fā)小組和市場專家共同制定的初步說明文檔。系統(tǒng)設(shè)計(jì)首先確定所需的功能。復(fù)雜系統(tǒng)設(shè)計(jì)最常用的方法是
6、將整個(gè)系統(tǒng)劃分為較簡單的子系統(tǒng)及這些子系統(tǒng)的模塊組合,然后以一種選定的語言對各個(gè)對象子系統(tǒng)加以描述,產(chǎn)生設(shè)計(jì)說明文檔。其次,是把系統(tǒng)功能轉(zhuǎn)換成組織結(jié)構(gòu),將抽象的功能描述模型轉(zhuǎn)換成組織結(jié)構(gòu)模型。由于針對一個(gè)系統(tǒng)可建立多種模型,因此應(yīng)根據(jù)系統(tǒng)的仿真和先前的經(jīng)驗(yàn)米選擇模型。
3嵌入式軟件開發(fā)的方法論
在建立一個(gè)完整的嵌入式軟件或是產(chǎn)品時(shí),大部分系統(tǒng)都很復(fù)雜,不但功能規(guī)格很多,還必須考慮例如價(jià)格、性能等其他因素,否則很容易做出一個(gè)失敗的系統(tǒng)或是產(chǎn)品。因此,在進(jìn)行系統(tǒng)開發(fā)之前,必須先了解一些系統(tǒng)設(shè)計(jì)技術(shù),使得在開發(fā)過程中更為順利。一般來說,產(chǎn)品設(shè)計(jì)的過程會(huì)經(jīng)歷幾個(gè)步驟,為了確保這些步
7、驟的合理性,我們需要一個(gè)設(shè)計(jì)方法論來面對整個(gè)設(shè)計(jì)過程。采用方法論有以下三個(gè)重要理由。
確認(rèn)所做的每一件事情都是必須要做的,不做無謂的工作,也不漏掉關(guān)鍵性的重要工作,其中包含性能最佳化或是功能測試。
根據(jù)設(shè)計(jì)方法論可以發(fā)展出計(jì)算機(jī)輔助工具或是設(shè)計(jì)經(jīng)驗(yàn)累積,汲取每一次產(chǎn)品開發(fā)的經(jīng)驗(yàn)。再經(jīng)過量化之后,可以發(fā)展出一套工具或是方法,讓往后的產(chǎn)品設(shè)計(jì)步入自動(dòng)化。
開發(fā)團(tuán)隊(duì)遵循同一套方法論,可以讓團(tuán)隊(duì)成員更容易彼此溝通。每個(gè)人都能在短時(shí)間內(nèi)了解整體過程中將經(jīng)歷哪些過程,需要何種支持與接收到何種結(jié)果。此外,也容易通過一套已經(jīng)定義好的方法論,彼此相互合作協(xié)調(diào)。設(shè)計(jì)過程的目標(biāo)是做出有一定用途且具有創(chuàng)新點(diǎn)的產(chǎn)品。產(chǎn)品的典型規(guī)格包含功能性、制造成本、性能表現(xiàn)、省電考慮和其他特性。
4結(jié)束語
嵌入式系統(tǒng)開發(fā)是在開發(fā)過程中綜合考慮軟硬件環(huán)境和需求,這樣開發(fā)的軟件產(chǎn)品不僅能使系統(tǒng)與硬件的驅(qū)動(dòng)默契更高,還能有效縮短開發(fā)周期。由于能夠有效解決軟件危機(jī)帶來的危害,嵌入式系統(tǒng)開發(fā)成為系統(tǒng)開發(fā)的主要趨勢也是不可避免的。