




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章嵌入式系統(tǒng)的設(shè)計(jì)方法第2章嵌入式系統(tǒng)的設(shè)計(jì)方法12.1嵌入式系統(tǒng)的一般設(shè)計(jì)流程一、單片機(jī)系統(tǒng)圖2.1單片機(jī)系統(tǒng)的開發(fā)流程單片機(jī)系統(tǒng)主要用于實(shí)現(xiàn)相對(duì)簡單的控制,因此系統(tǒng)核心部件集成在一塊芯片——單片機(jī)上,再在單片機(jī)的外圍加入一些接口電路即可。單片機(jī)系統(tǒng)設(shè)計(jì)相對(duì)比較簡單,軟件部分不需要嵌入式操作系統(tǒng)的支持,只需采用匯編語言編寫針對(duì)特定應(yīng)用的程序即可。
2.1嵌入式系統(tǒng)的一般設(shè)計(jì)流程一、單片機(jī)系統(tǒng)圖2.12二、嵌入式處理器系統(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)用程序即可,這可大大地簡化開發(fā)過程,提高系統(tǒng)的穩(wěn)定性。
二、嵌入式處理器系統(tǒng)圖2.2嵌入式處理器系統(tǒng)開發(fā)流程嵌入3二、嵌入式處理器系統(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)開發(fā)方式嵌入式處理器系統(tǒng)的開發(fā)過程一般包4二、嵌入式處理器系統(tǒng)嵌入式處理器系統(tǒng)設(shè)計(jì)的關(guān)鍵問題
(1)嵌入式處理器的選型
夠用適用成本功耗軟件開發(fā)工具是否內(nèi)置調(diào)試工具是否提供評(píng)估板處理器的選型直接影響存儲(chǔ)器、外設(shè)的選擇。一般從以下幾個(gè)因素考慮:二、嵌入式處理器系統(tǒng)嵌入式處理器系統(tǒng)設(shè)計(jì)的關(guān)鍵問題(1)嵌入5(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è)方面:(2)操作系統(tǒng)的選擇操作系統(tǒng)的移植從八十年代6人們?cè)谶x擇編程語言時(shí)往往具有很大的隨意性。對(duì)價(jià)格、獲取方便性等因素考慮較多,而對(duì)語言本身的技術(shù)因素考慮較少。在此就目前應(yīng)用廣泛幾種高級(jí)語言:Ada、C/C++、Modula-2和JAVA等進(jìn)行簡單的分析比較。
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語言相對(duì)年輕,但有很強(qiáng)的跨平臺(tái)特性,現(xiàn)在發(fā)展勢頭較為強(qiáng)勁。(3)編程語言的選取
人們?cè)谶x擇編程語言時(shí)往往具有很大的隨意性。對(duì)價(jià)72.2傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法圖2.4傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法2.2傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法圖2.4傳統(tǒng)的嵌入式系統(tǒng)設(shè)8傳統(tǒng)設(shè)計(jì)方法存在的缺陷傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法雖然簡單,但存在一些不可避免的缺陷:1)設(shè)計(jì)方法缺乏統(tǒng)一的軟硬件協(xié)同表示方法,軟硬件劃分完全由設(shè)計(jì)者憑經(jīng)驗(yàn)完成,無法從系統(tǒng)級(jí)驗(yàn)證劃分的合理性,且不易發(fā)現(xiàn)軟硬件之間存在的接口問題。2)在實(shí)際的設(shè)計(jì)過程中,通常采用“硬件優(yōu)先的原則”,因此軟件的測試必須在硬件全部完成之后才能進(jìn)行,這樣設(shè)計(jì)周期可能很長。3)由于硬件設(shè)計(jì)在粗略估計(jì)軟件任務(wù)需求的情況下進(jìn)行,缺乏對(duì)軟件構(gòu)架和實(shí)現(xiàn)機(jī)制的清晰了解,硬件設(shè)計(jì)工作帶有一定的盲目性。4)整個(gè)系統(tǒng)的優(yōu)化由于受設(shè)計(jì)空間的限制,只能改善硬件和軟件各自的性能,不可能對(duì)系統(tǒng)做出較好的綜合優(yōu)化,難以適應(yīng)現(xiàn)代復(fù)雜的、大規(guī)模的系統(tǒng)設(shè)計(jì)需要。傳統(tǒng)設(shè)計(jì)方法存在的缺陷傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法雖9圖2.5嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)流程2.3嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)方法圖2.5嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)流程2.3嵌入式系統(tǒng)的10嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)流程設(shè)計(jì)流程總體上可分為系統(tǒng)描述、軟硬件劃分、協(xié)同綜合、協(xié)同仿真與驗(yàn)證、系統(tǒng)集成幾個(gè)過程。(1)系統(tǒng)描述系統(tǒng)描述是采用一種或多種系統(tǒng)級(jí)描述語言對(duì)所需設(shè)計(jì)的嵌入式系統(tǒng)的功能和性能進(jìn)行全面的描述,是建立系統(tǒng)軟硬件模型的過程。系統(tǒng)建??梢杂稍O(shè)計(jì)者用非正式語言,甚至是自然語言手工完成,但手工完成容易導(dǎo)致系統(tǒng)描述不準(zhǔn)確,而選用合適的建模語言將對(duì)設(shè)計(jì)起到事半功倍的效果。UML(UnifiedModelingLanguage)語言是一種功能強(qiáng)大的可視化建模語言。它將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地顯示,使具有不同技術(shù)背景的開發(fā)人員和設(shè)計(jì)師可以較好地交流。嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)流程設(shè)計(jì)流程總體上可11(2)軟硬件劃分軟硬件功能劃分就是要確定哪些系統(tǒng)功能由硬件實(shí)現(xiàn),哪些功能由軟件實(shí)現(xiàn)。從理論上講,每個(gè)應(yīng)用系統(tǒng)都存在一個(gè)適合于該軟硬件功能的最佳組合,但如何從系統(tǒng)需求出發(fā),依據(jù)一定的指導(dǎo)原則和分配算法對(duì)硬件/軟件功能進(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)方法,并將其集成。
(2)軟硬件劃分12(4)協(xié)同仿真與驗(yàn)證協(xié)同仿真驗(yàn)證是檢驗(yàn)系統(tǒng)設(shè)計(jì)正確性的過程。它對(duì)設(shè)計(jì)結(jié)果的正確性進(jìn)行評(píng)估,以避免在系統(tǒng)實(shí)現(xiàn)過程中發(fā)現(xiàn)問題再進(jìn)行反復(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)級(jí)EDA工具的關(guān)鍵技術(shù)。(4)協(xié)同仿真與驗(yàn)證目前,軟硬件協(xié)同設(shè)計(jì)領(lǐng)域的研13軟硬件協(xié)同設(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)級(jí)設(shè)計(jì)中,對(duì)軟硬件部分使用統(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ì)更好和更快。軟硬件協(xié)同設(shè)計(jì)的特點(diǎn)(1)軟硬件協(xié)同設(shè)計(jì)采用統(tǒng)一的工具描述142.4嵌入式系統(tǒng)的測試技術(shù)嵌入式系統(tǒng)測試也叫交叉測試(cross-test),它與PC機(jī)的軟件測試有相似之處。目前,在嵌入式系統(tǒng)設(shè)計(jì)中軟件正越來越多地取代硬件,以降低系統(tǒng)成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進(jìn)行嵌入式實(shí)時(shí)軟件的測試。2.4嵌入式系統(tǒng)的測試技術(shù)嵌入式系統(tǒng)測試也叫15一、嵌入式軟件的測試方法(1)白盒測試與黑盒測試白盒測試檢查程序的內(nèi)部設(shè)計(jì),它要求根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷。由于嵌入式系統(tǒng)高可靠性的要求,嵌入式軟件測試與普通軟件測試相比,通常要求有更高的代碼覆蓋率。
黑盒測試根據(jù)軟件的用途和外部特征查找軟件缺陷。嵌入式軟件的黑盒測試要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求中對(duì)負(fù)載、定時(shí)、性能的要求,判斷軟件是否滿足這些需求規(guī)范。為了保證正確地測試,還須要檢驗(yàn)軟硬件之間的接口。
一、嵌入式軟件的測試方法(1)白盒測試與黑盒測試16(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)的白盒測試、中斷測試、硬件接口測試。(2)目標(biāo)環(huán)境測試和宿主環(huán)境測試在嵌入式軟件測17二、嵌入式軟件的測試工具(1)內(nèi)存分析工具內(nèi)存分析工具用來處理在動(dòng)態(tài)內(nèi)存分配中存在的缺陷。目前有兩類內(nèi)存分析工具——軟件和硬件的?;谲浖膬?nèi)存分析工具可能會(huì)對(duì)代碼的性能造成很大影響,從而嚴(yán)重影響實(shí)時(shí)操作;基于硬件的內(nèi)存分析工具價(jià)格昂貴,而且只能在工具所限定的運(yùn)行環(huán)境中使用。(2)性能分析工具性能分析工具會(huì)提供有關(guān)的數(shù)據(jù),說明執(zhí)行時(shí)間是如何消耗的,是什么時(shí)候消耗的,以及每個(gè)例程所用的時(shí)間。二、嵌入式軟件的測試工具(1)內(nèi)存分析工具內(nèi)存18(3)GUI測試工具GUI測試工具可以作為腳本工具在開發(fā)環(huán)境中運(yùn)行測試用例,其功能包括對(duì)操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設(shè)置和管理測試過程。有些嵌入式設(shè)備沒有GUI,但常??梢詫?duì)該設(shè)備進(jìn)行插裝來運(yùn)行GUI測試腳本,雖然這種方式可能要求對(duì)被測代碼進(jìn)行更改,但是節(jié)省了功能測試和回歸測試的時(shí)間。(4)覆蓋分析工具在進(jìn)行白盒測試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過。覆蓋分析工具一般會(huì)提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋的信息。(3)GUI測試工具GUI測試工具可以作為腳本19三、嵌入式系統(tǒng)的測試策略嵌入式軟件測試的各個(gè)階段有著通用的策略:(1)單元測試所有單元級(jí)測試都可以在主機(jī)環(huán)境上進(jìn)行,除非特別指定單元測試直接在目標(biāo)環(huán)境進(jìn)行。
(2)集成測試軟件集成也可在主機(jī)環(huán)境上完成,在主機(jī)平臺(tái)上模擬目標(biāo)環(huán)境運(yùn)行,當(dāng)然在目標(biāo)環(huán)境上重復(fù)測試是有必要的,在此級(jí)別上的確認(rèn)測試將確定一些環(huán)境上的問題,比如內(nèi)存定位和分配上的一些錯(cuò)誤。(3)系統(tǒng)測試和確認(rèn)測試所有的系統(tǒng)測試和確認(rèn)測試必須在目標(biāo)環(huán)境下執(zhí)行。三、嵌入式系統(tǒng)的測試策略嵌入式軟件測試的各個(gè)階20第2章嵌入式系統(tǒng)的設(shè)計(jì)方法第2章嵌入式系統(tǒng)的設(shè)計(jì)方法212.1嵌入式系統(tǒng)的一般設(shè)計(jì)流程一、單片機(jī)系統(tǒng)圖2.1單片機(jī)系統(tǒng)的開發(fā)流程單片機(jī)系統(tǒng)主要用于實(shí)現(xiàn)相對(duì)簡單的控制,因此系統(tǒng)核心部件集成在一塊芯片——單片機(jī)上,再在單片機(jī)的外圍加入一些接口電路即可。單片機(jī)系統(tǒng)設(shè)計(jì)相對(duì)比較簡單,軟件部分不需要嵌入式操作系統(tǒng)的支持,只需采用匯編語言編寫針對(duì)特定應(yīng)用的程序即可。
2.1嵌入式系統(tǒng)的一般設(shè)計(jì)流程一、單片機(jī)系統(tǒng)圖2.122二、嵌入式處理器系統(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)用程序即可,這可大大地簡化開發(fā)過程,提高系統(tǒng)的穩(wěn)定性。
二、嵌入式處理器系統(tǒng)圖2.2嵌入式處理器系統(tǒng)開發(fā)流程嵌入23二、嵌入式處理器系統(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)開發(fā)方式嵌入式處理器系統(tǒng)的開發(fā)過程一般包24二、嵌入式處理器系統(tǒng)嵌入式處理器系統(tǒng)設(shè)計(jì)的關(guān)鍵問題
(1)嵌入式處理器的選型
夠用適用成本功耗軟件開發(fā)工具是否內(nèi)置調(diào)試工具是否提供評(píng)估板處理器的選型直接影響存儲(chǔ)器、外設(shè)的選擇。一般從以下幾個(gè)因素考慮:二、嵌入式處理器系統(tǒng)嵌入式處理器系統(tǒng)設(shè)計(jì)的關(guān)鍵問題(1)嵌入25(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è)方面:(2)操作系統(tǒng)的選擇操作系統(tǒng)的移植從八十年代26人們?cè)谶x擇編程語言時(shí)往往具有很大的隨意性。對(duì)價(jià)格、獲取方便性等因素考慮較多,而對(duì)語言本身的技術(shù)因素考慮較少。在此就目前應(yīng)用廣泛幾種高級(jí)語言:Ada、C/C++、Modula-2和JAVA等進(jìn)行簡單的分析比較。
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語言相對(duì)年輕,但有很強(qiáng)的跨平臺(tái)特性,現(xiàn)在發(fā)展勢頭較為強(qiáng)勁。(3)編程語言的選取
人們?cè)谶x擇編程語言時(shí)往往具有很大的隨意性。對(duì)價(jià)272.2傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法圖2.4傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法2.2傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法圖2.4傳統(tǒng)的嵌入式系統(tǒng)設(shè)28傳統(tǒng)設(shè)計(jì)方法存在的缺陷傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法雖然簡單,但存在一些不可避免的缺陷:1)設(shè)計(jì)方法缺乏統(tǒng)一的軟硬件協(xié)同表示方法,軟硬件劃分完全由設(shè)計(jì)者憑經(jīng)驗(yàn)完成,無法從系統(tǒng)級(jí)驗(yàn)證劃分的合理性,且不易發(fā)現(xiàn)軟硬件之間存在的接口問題。2)在實(shí)際的設(shè)計(jì)過程中,通常采用“硬件優(yōu)先的原則”,因此軟件的測試必須在硬件全部完成之后才能進(jìn)行,這樣設(shè)計(jì)周期可能很長。3)由于硬件設(shè)計(jì)在粗略估計(jì)軟件任務(wù)需求的情況下進(jìn)行,缺乏對(duì)軟件構(gòu)架和實(shí)現(xiàn)機(jī)制的清晰了解,硬件設(shè)計(jì)工作帶有一定的盲目性。4)整個(gè)系統(tǒng)的優(yōu)化由于受設(shè)計(jì)空間的限制,只能改善硬件和軟件各自的性能,不可能對(duì)系統(tǒng)做出較好的綜合優(yōu)化,難以適應(yīng)現(xiàn)代復(fù)雜的、大規(guī)模的系統(tǒng)設(shè)計(jì)需要。傳統(tǒng)設(shè)計(jì)方法存在的缺陷傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法雖29圖2.5嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)流程2.3嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)方法圖2.5嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)流程2.3嵌入式系統(tǒng)的30嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)流程設(shè)計(jì)流程總體上可分為系統(tǒng)描述、軟硬件劃分、協(xié)同綜合、協(xié)同仿真與驗(yàn)證、系統(tǒng)集成幾個(gè)過程。(1)系統(tǒng)描述系統(tǒng)描述是采用一種或多種系統(tǒng)級(jí)描述語言對(duì)所需設(shè)計(jì)的嵌入式系統(tǒng)的功能和性能進(jìn)行全面的描述,是建立系統(tǒng)軟硬件模型的過程。系統(tǒng)建??梢杂稍O(shè)計(jì)者用非正式語言,甚至是自然語言手工完成,但手工完成容易導(dǎo)致系統(tǒng)描述不準(zhǔn)確,而選用合適的建模語言將對(duì)設(shè)計(jì)起到事半功倍的效果。UML(UnifiedModelingLanguage)語言是一種功能強(qiáng)大的可視化建模語言。它將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地顯示,使具有不同技術(shù)背景的開發(fā)人員和設(shè)計(jì)師可以較好地交流。嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)流程設(shè)計(jì)流程總體上可31(2)軟硬件劃分軟硬件功能劃分就是要確定哪些系統(tǒng)功能由硬件實(shí)現(xiàn),哪些功能由軟件實(shí)現(xiàn)。從理論上講,每個(gè)應(yīng)用系統(tǒng)都存在一個(gè)適合于該軟硬件功能的最佳組合,但如何從系統(tǒng)需求出發(fā),依據(jù)一定的指導(dǎo)原則和分配算法對(duì)硬件/軟件功能進(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)方法,并將其集成。
(2)軟硬件劃分32(4)協(xié)同仿真與驗(yàn)證協(xié)同仿真驗(yàn)證是檢驗(yàn)系統(tǒng)設(shè)計(jì)正確性的過程。它對(duì)設(shè)計(jì)結(jié)果的正確性進(jìn)行評(píng)估,以避免在系統(tǒng)實(shí)現(xiàn)過程中發(fā)現(xiàn)問題再進(jìn)行反復(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)級(jí)EDA工具的關(guān)鍵技術(shù)。(4)協(xié)同仿真與驗(yàn)證目前,軟硬件協(xié)同設(shè)計(jì)領(lǐng)域的研33軟硬件協(xié)同設(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)級(jí)設(shè)計(jì)中,對(duì)軟硬件部分使用統(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ì)更好和更快。軟硬件協(xié)同設(shè)計(jì)的特點(diǎn)(1)軟硬件協(xié)同設(shè)計(jì)采用統(tǒng)一的工具描述342.4嵌入式系統(tǒng)的測試技術(shù)嵌入式系統(tǒng)測試也叫交叉測試(cross-test),它與PC機(jī)的軟件測試有相似之處。目前,在嵌入式系統(tǒng)設(shè)計(jì)中軟件正越來越多地取代硬件,以降低系統(tǒng)成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進(jìn)行嵌入式實(shí)時(shí)軟件的測試。2.4嵌入式系統(tǒng)的測試技術(shù)嵌入式系統(tǒng)測試也叫35一、嵌入式軟件的測試方法(1)白盒測試與黑盒測試白盒測試檢查程序的內(nèi)部設(shè)計(jì),它要求根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷。由于嵌入式系統(tǒng)高可靠性的要求,嵌入式軟件測試與普通軟件測試相比,通常要求有更高的代碼覆蓋率。
黑盒測試根據(jù)軟件的用途和外部特征查找軟件缺陷。嵌入式軟件的黑盒測試要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求中對(duì)負(fù)載、定時(shí)、性能的要求,判斷軟件是否滿足這些需求規(guī)范。為了保證正確地測試,還須要檢驗(yàn)軟硬件之間的接口。
一、嵌入式軟件的測試方法(1)白盒測試與黑盒測試36(2)目標(biāo)環(huán)境測試和宿主環(huán)境測試在嵌入式軟件測試中,常常要在基于目標(biāo)的測試和基于宿主的測試之間作出折衷?;谀繕?biāo)的測試消耗較多的經(jīng)費(fèi)和時(shí)間,而基于宿主的測試代價(jià)較小,目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具企業(yè)競爭力分析與提升策略考核試卷
- 搬家行業(yè)節(jié)能減排與綠色物流考核試卷
- 期貨市場交易風(fēng)險(xiǎn)監(jiān)測與預(yù)警考核試卷
- 小學(xué)生抗旱主題班會(huì)課件
- 客廳家具批發(fā)考核試卷
- 工業(yè)氣體批發(fā)考核試卷
- 2023視頻監(jiān)控及火災(zāi)報(bào)警系統(tǒng)施工作業(yè)指導(dǎo)書
- 上海建房合同范本
- 空調(diào)技術(shù)入股合同范本
- 汽修門頭合作合同范本
- 2025年山東青島自貿(mào)發(fā)展有限公司招聘筆試參考題庫含答案解析
- 液化氣罐的使用和安全防范
- 2025年中考物理總復(fù)習(xí)《內(nèi)能》專項(xiàng)測試卷含有答案
- 會(huì)計(jì)法律法規(guī)答題答案
- 2024年無錫工藝職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 劇本殺范本完整版
- 北師大版一年級(jí)語文下冊(cè)第一單元元宵節(jié)《1元宵節(jié)》
- 2024年全球協(xié)作機(jī)器人產(chǎn)業(yè)發(fā)展白皮書
- 消防設(shè)施維保過程風(fēng)險(xiǎn)及保障措施
- 智能交通系統(tǒng)概論 課件全套 朱文興 第1-10章 緒論 - 城市交通子區(qū)控制系統(tǒng)
- 一鍵自動(dòng)生成spccpkmsappk數(shù)據(jù)工具
評(píng)論
0/150
提交評(píng)論