嵌入式軟件開發(fā)教程第二章課件.ppt_第1頁
嵌入式軟件開發(fā)教程第二章課件.ppt_第2頁
嵌入式軟件開發(fā)教程第二章課件.ppt_第3頁
嵌入式軟件開發(fā)教程第二章課件.ppt_第4頁
嵌入式軟件開發(fā)教程第二章課件.ppt_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 嵌入式系統(tǒng)的設(shè)計(jì)方法,2.1 嵌入式系統(tǒng)的一般設(shè)計(jì)流程,一、單片機(jī)系統(tǒng),圖2.1 單片機(jī)系統(tǒng)的開發(fā)流程,單片機(jī)系統(tǒng)主要用于實(shí)現(xiàn)相對簡單的控制,因此系統(tǒng)核心部件集成在一塊芯片單片機(jī)上,再在單片機(jī)的外圍加入一些接口電路即可。 單片機(jī)系統(tǒng)設(shè)計(jì)相對比較簡單,軟件部分不需要嵌入式操作系統(tǒng)的支持,只需采用匯編語言編寫針對特定應(yīng)用的程序即可。,二、嵌入式處理器系統(tǒng),圖2.2 嵌入式處理器系統(tǒng)開發(fā)流程,嵌入式處理器系統(tǒng)往往包含CPU、內(nèi)存和豐富的外部接口,其開發(fā)過程類似在PC機(jī)上開發(fā)應(yīng)用程序。 開發(fā)流程的第一步是選擇嵌入式處理器和硬件平臺(tái)。 軟件部分一般包含操作系統(tǒng),開發(fā)人員基于此編寫相應(yīng)的應(yīng)用程序即

2、可,這可大大地簡化開發(fā)過程,提高系統(tǒng)的穩(wěn)定性。,二、嵌入式處理器系統(tǒng),開發(fā)方式,嵌入式處理器系統(tǒng)的開發(fā)過程一般包括以下幾個(gè)步驟: 源代碼編寫:編寫源C/C+及匯編程序; 程序編譯:通過專用編譯器編譯程序; 軟件仿真調(diào)試:在SDK中仿真軟件運(yùn)行情況; 程序下載:通過JTAG/USB/UART等方式下載到目標(biāo)機(jī); 軟硬件測試、調(diào)試:通過JTAG等方式聯(lián)合調(diào)試程序; 下載固化:程序無誤,下載到目標(biāo)板。,二、嵌入式處理器系統(tǒng),嵌入式處理器系統(tǒng)設(shè)計(jì)的關(guān)鍵問題,(1)嵌入式處理器的選型,夠用 適用 成本 功耗 軟件開發(fā)工具 是否內(nèi)置調(diào)試工具 是否提供評估板,處理器的選型直接影響存儲(chǔ)器、外設(shè)的選擇。一般從以

3、下幾個(gè)因素考慮:,(2)操作系統(tǒng)的選擇,操作系統(tǒng)的移植 操作系統(tǒng)的內(nèi)存要求 操作系統(tǒng)的實(shí)時(shí)性 支持的開發(fā)工具 操作系統(tǒng)的可裁剪性 開發(fā)人員是否熟悉此操作系統(tǒng)及其提供的API 操作系統(tǒng)是否提供硬件的驅(qū)動(dòng)程序,如網(wǎng)卡等,從八十年代起,國際上就有一些IT組織、公司,開始致力于嵌入式操作系統(tǒng)的研發(fā),現(xiàn)已涌現(xiàn)了一批優(yōu)秀的操作系統(tǒng)。如何從眾多的嵌入式操作系統(tǒng)中選取合適的操作系統(tǒng)?可以考查以下幾個(gè)方面:,人們在選擇編程語言時(shí)往往具有很大的隨意性。對價(jià)格、獲取方便性等因素考慮較多,而對語言本身的技術(shù)因素考慮較少。在此就目前應(yīng)用廣泛幾種高級語言:Ada、C/C+、Modula-2和JAVA等進(jìn)行簡單的分析比較。

4、 Ada語言定義嚴(yán)格,易讀易懂,有較豐富的庫程序支持,由于它和運(yùn)行環(huán)境聯(lián)系較少,因此其運(yùn)行特性比較出色。 C語言具有廣泛的庫程序支持,現(xiàn)在是嵌入式系統(tǒng)設(shè)計(jì)中應(yīng)用最廣泛的語言。 C+是一種面向?qū)ο蟮木幊陶Z言,應(yīng)用也很多,但與C語言相比,C+編寫的程序目標(biāo)代碼往往比較龐大和復(fù)雜。 Modula-2定義清楚,支持豐富,具備較好的模塊化結(jié)構(gòu),在教學(xué)科研方面有較廣泛的應(yīng)用。 Java語言相對年輕,但有很強(qiáng)的跨平臺(tái)特性,現(xiàn)在發(fā)展勢頭較為強(qiáng)勁。,(3)編程語言的選取,2.2 傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法,圖2.4 傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法,傳統(tǒng)設(shè)計(jì)方法存在的缺陷,傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法雖然簡單,但存在一些不可

5、避免的缺陷: 1)設(shè)計(jì)方法缺乏統(tǒng)一的軟硬件協(xié)同表示方法,軟硬件劃分完全由設(shè)計(jì)者憑經(jīng)驗(yàn)完成,無法從系統(tǒng)級驗(yàn)證劃分的合理性,且不易發(fā)現(xiàn)軟硬件之間存在的接口問題。 2)在實(shí)際的設(shè)計(jì)過程中,通常采用“硬件優(yōu)先的原則”,因此軟件的測試必須在硬件全部完成之后才能進(jìn)行,這樣設(shè)計(jì)周期可能很長。 3)由于硬件設(shè)計(jì)在粗略估計(jì)軟件任務(wù)需求的情況下進(jìn)行,缺乏對軟件構(gòu)架和實(shí)現(xiàn)機(jī)制的清晰了解,硬件設(shè)計(jì)工作帶有一定的盲目性。 4)整個(gè)系統(tǒng)的優(yōu)化由于受設(shè)計(jì)空間的限制,只能改善硬件和軟件各自的性能,不可能對系統(tǒng)做出較好的綜合優(yōu)化,難以適應(yīng)現(xiàn)代復(fù)雜的、大規(guī)模的系統(tǒng)設(shè)計(jì)需要。,圖2.5 嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)流程,2.3 嵌入

6、式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)方法,嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)流程,設(shè)計(jì)流程總體上可分為系統(tǒng)描述、軟硬件劃分、協(xié)同綜合、協(xié)同仿真與驗(yàn)證、系統(tǒng)集成幾個(gè)過程。,(1)系統(tǒng)描述 系統(tǒng)描述是采用一種或多種系統(tǒng)級描述語言對所需設(shè)計(jì)的嵌入式系統(tǒng)的功能和性能進(jìn)行全面的描述,是建立系統(tǒng)軟硬件模型的過程。 系統(tǒng)建??梢杂稍O(shè)計(jì)者用非正式語言,甚至是自然語言手工完成,但手工完成容易導(dǎo)致系統(tǒng)描述不準(zhǔn)確,而選用合適的建模語言將對設(shè)計(jì)起到事半功倍的效果。 UML(Unified Modeling Language)語言是一種功能強(qiáng)大的可視化建模語言。它將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地顯示,使具有不同技術(shù)背景的開發(fā)人員和設(shè)計(jì)師可以

7、較好地交流。,(2)軟硬件劃分 軟硬件功能劃分就是要確定哪些系統(tǒng)功能由硬件實(shí)現(xiàn),哪些功能由軟件實(shí)現(xiàn)。 從理論上講,每個(gè)應(yīng)用系統(tǒng)都存在一個(gè)適合于該軟硬件功能的最佳組合,但如何從系統(tǒng)需求出發(fā),依據(jù)一定的指導(dǎo)原則和分配算法對硬件/軟件功能進(jìn)行合理劃分,從而使系統(tǒng)的整體性能達(dá)到最佳,是軟硬件劃分的目標(biāo)所在。 (3)協(xié)同綜合 軟硬件協(xié)同綜合是根據(jù)系統(tǒng)描述和軟硬件劃分的結(jié)果,在已有的設(shè)計(jì)規(guī)則和既定的設(shè)計(jì)目標(biāo)前提下,決定系統(tǒng)中軟件和硬件部分以及其接口的具體實(shí)現(xiàn)方法,并將其集成。,(4)協(xié)同仿真與驗(yàn)證 協(xié)同仿真驗(yàn)證是檢驗(yàn)系統(tǒng)設(shè)計(jì)正確性的過程。它對設(shè)計(jì)結(jié)果的正確性進(jìn)行評估,以避免在系統(tǒng)實(shí)現(xiàn)過程中發(fā)現(xiàn)問題再進(jìn)行反

8、復(fù)修改。 由于系統(tǒng)仿真驗(yàn)證的過程中,模擬的工作環(huán)境與實(shí)際使用環(huán)境相差甚遠(yuǎn),軟硬件之間的相互作用方式及作用效果也就不同,這就難以保證系統(tǒng)在真實(shí)環(huán)境下工作的可靠性,因此系統(tǒng)仿真的有效性是有限的。,目前,軟硬件協(xié)同設(shè)計(jì)領(lǐng)域的研究十分活躍,Berkeley, Princeton等著名大學(xué)有專門的研究小組進(jìn)行相關(guān)研究,電子設(shè)計(jì)領(lǐng)域權(quán)威的學(xué)術(shù)會(huì)議DAC上每年都有相當(dāng)篇幅的論文涉及軟硬件協(xié)同設(shè)計(jì),每年ACM還召開軟硬件協(xié)同設(shè)計(jì)的專門會(huì)議CODES。主要EDA廠家(Cadence,Synopsys)目前己經(jīng)推出部分支持軟硬件協(xié)同設(shè)計(jì)的工具,并將軟硬件協(xié)同設(shè)計(jì)作為下一代的系統(tǒng)級EDA工具的關(guān)鍵技術(shù)。,軟硬件協(xié)同

9、設(shè)計(jì)的特點(diǎn),(1)軟硬件協(xié)同設(shè)計(jì)采用統(tǒng)一的工具描述,可合理劃分系統(tǒng)軟硬件,分配系統(tǒng)功能,在性能、成本、功耗等方面進(jìn)行權(quán)衡折衷,獲取更優(yōu)化的設(shè)計(jì)。 (2)軟硬件協(xié)同設(shè)計(jì)方法采用并行設(shè)計(jì)和協(xié)同設(shè)計(jì)的思想,提高了設(shè)計(jì)效率,縮短了設(shè)計(jì)周期。 (3)在系統(tǒng)級設(shè)計(jì)中,對軟硬件部分使用統(tǒng)一描述語言和工具進(jìn)行集成開發(fā),具有跨越軟硬件界限進(jìn)行系統(tǒng)優(yōu)化的能力。 (4)支持多領(lǐng)域?qū)<业膮f(xié)同開發(fā)。它的核心思想是溝通軟件設(shè)計(jì)和硬件設(shè)計(jì),避免系統(tǒng)中關(guān)系密切的兩部分設(shè)計(jì)過早獨(dú)立。同傳統(tǒng)設(shè)計(jì)方法相比,軟硬件協(xié)同設(shè)計(jì)提高了設(shè)計(jì)抽象的層次,拓展了設(shè)計(jì)的覆蓋范圍,采用軟硬件協(xié)同設(shè)計(jì)技術(shù)可以使嵌入式系統(tǒng)設(shè)計(jì)更好和更快。,2.4 嵌入

10、式系統(tǒng)的測試技術(shù),嵌入式系統(tǒng)測試也叫交叉測試(cross-test),它與PC機(jī)的軟件測試有相似之處。目前,在嵌入式系統(tǒng)設(shè)計(jì)中軟件正越來越多地取代硬件,以降低系統(tǒng)成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進(jìn)行嵌入式實(shí)時(shí)軟件的測試。,一、嵌入式軟件的測試方法,(1)白盒測試與黑盒測試,白盒測試檢查程序的內(nèi)部設(shè)計(jì),它要求根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷。 由于嵌入式系統(tǒng)高可靠性的要求,嵌入式軟件測試與普通軟件測試相比,通常要求有更高的代碼覆蓋率。 黑盒測試根據(jù)軟件的用途和外部特征查找軟件缺陷。 嵌入式軟件的黑盒測試要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求中對負(fù)載、定時(shí)、性能的要求,判

11、斷軟件是否滿足這些需求規(guī)范。為了保證正確地測試,還須要檢驗(yàn)軟硬件之間的接口。,(2)目標(biāo)環(huán)境測試和宿主環(huán)境測試,在嵌入式軟件測試中,常常要在基于目標(biāo)的測試和基于宿主的測試之間作出折衷。基于目標(biāo)的測試消耗較多的經(jīng)費(fèi)和時(shí)間,而基于宿主的測試代價(jià)較小,目前的趨勢是把更多的測試轉(zhuǎn)移到宿主環(huán)境中進(jìn)行。 在宿主環(huán)境中,可以進(jìn)行邏輯或界面的測試、以及與硬件無關(guān)的測試。 在目標(biāo)環(huán)境中,則進(jìn)行與定時(shí)問題有關(guān)的白盒測試、中斷測試、硬件接口測試。,二、嵌入式軟件的測試工具,(1)內(nèi)存分析工具,內(nèi)存分析工具用來處理在動(dòng)態(tài)內(nèi)存分配中存在的缺陷。 目前有兩類內(nèi)存分析工具軟件和硬件的?;谲浖膬?nèi)存分析工具可能會(huì)對代碼的性

12、能造成很大影響,從而嚴(yán)重影響實(shí)時(shí)操作;基于硬件的內(nèi)存分析工具價(jià)格昂貴,而且只能在工具所限定的運(yùn)行環(huán)境中使用。,(2)性能分析工具,性能分析工具會(huì)提供有關(guān)的數(shù)據(jù),說明執(zhí)行時(shí)間是如何消耗的,是什么時(shí)候消耗的,以及每個(gè)例程所用的時(shí)間。,(3)GUI測試工具,GUI測試工具可以作為腳本工具在開發(fā)環(huán)境中運(yùn)行測試用例,其功能包括對操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設(shè)置和管理測試過程。 有些嵌入式設(shè)備沒有GUI,但常??梢詫υ撛O(shè)備進(jìn)行插裝來運(yùn)行GUI測試腳本,雖然這種方式可能要求對被測代碼進(jìn)行更改,但是節(jié)省了功能測試和回歸測試的時(shí)間。,(4)覆蓋分析工具,在進(jìn)行白盒測試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過。 覆蓋分析工具一般會(huì)提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋的信息。,三、嵌入式系統(tǒng)的測試策略,嵌入式軟件測試的

溫馨提示

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

最新文檔

評論

0/150

提交評論