




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1嵌入式系統(tǒng)的層次結(jié)構(gòu)2.2嵌入式系統(tǒng)的設(shè)計(jì)流程2.3嵌入式系統(tǒng)設(shè)計(jì)流程模型2.4嵌入式系統(tǒng)的調(diào)試與測(cè)試練習(xí)題第2章嵌入式系統(tǒng)的設(shè)計(jì)方法
2.1嵌入式系統(tǒng)的層次結(jié)構(gòu)
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟/硬件可裁減,從而能夠適應(yīng)實(shí)際應(yīng)用中對(duì)功能、可靠性、成本、體積和功耗等有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)的關(guān)鍵技術(shù)包括以應(yīng)用為中心的硬件平臺(tái)設(shè)計(jì)和面向應(yīng)用的操作系統(tǒng)及軟件產(chǎn)品的開發(fā)。在各種不同的應(yīng)用場(chǎng)合,嵌入式系統(tǒng)的外觀和形式可以是獨(dú)特的、多樣化的,但是通過(guò)對(duì)其內(nèi)部結(jié)構(gòu)進(jìn)行分析可以知道,嵌入式系統(tǒng)一般是由嵌入式微處理器系統(tǒng)和被控對(duì)象所組成的,如圖2-1所示。嵌入式微處理器系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心部分,其總體架構(gòu)分為四層,即硬件層、中間層、軟件層和功能層。被控對(duì)象可以接受來(lái)自嵌入式微處理器系統(tǒng)發(fā)出的控制命令,以執(zhí)行規(guī)定的操作或任務(wù)。圖2-1嵌入式系統(tǒng)的分層架構(gòu)2.1.1硬件層
嵌入式系統(tǒng)的硬件層是由嵌入式微處理器、外圍電路和外設(shè)終端組成的。一個(gè)嵌入式核心控制模塊就是在一片嵌入式微處理器的基礎(chǔ)上增加電源電路、復(fù)位電路、調(diào)試接口及存儲(chǔ)器電路所構(gòu)成的。操作系統(tǒng)以及應(yīng)用程序均可固化在ROM或者Flash中。嵌入式硬件平臺(tái)不同于通用的PC硬件平臺(tái),它沒有一個(gè)固定的、標(biāo)準(zhǔn)的外形,可能是圓形、方形甚至是三角形的,而且大多體積很小。其外設(shè)接口被充分利用,沒有用到的外設(shè)接口在設(shè)計(jì)硬件平臺(tái)時(shí)被完全刪除。例如,嵌入式智能控制器不需要圖形用戶界面和鍵盤,那么在設(shè)計(jì)時(shí)可去掉其LCD接口和鍵盤控制器。嵌入式系統(tǒng)硬件層的核心包括嵌入式微處理器和微存儲(chǔ)器,用于提供嵌入式操作系統(tǒng)和功能軟件的運(yùn)行環(huán)境;外設(shè)終端通常都是微小終端,以和嵌入式系統(tǒng)整體體積相匹配。
最初的嵌入式微處理器都是為通用目的而設(shè)計(jì)的,隨著微電子技術(shù)的發(fā)展出現(xiàn)了ASIC(ApplicationSpecificIntegratedCircuit,專用集成電路),它是一種為具體任務(wù)而特殊設(shè)計(jì)的專用集成電路。采用ASIC可以減少系統(tǒng)軟/硬件設(shè)計(jì)的復(fù)雜度,降低系統(tǒng)成本。一些嵌入式微處理器就是利用ASIC來(lái)實(shí)現(xiàn)的,但是ASIC前期設(shè)計(jì)費(fèi)用很高,而且一旦完成設(shè)計(jì)就無(wú)法升級(jí)擴(kuò)展,因此ASIC可使用在那些產(chǎn)量很大的產(chǎn)品設(shè)計(jì)中。
隨著微電子技術(shù)的不斷創(chuàng)新和發(fā)展,大規(guī)模集成電路的集成度和工藝水平不斷提高,集成電路工業(yè)已經(jīng)生產(chǎn)了大量低成本、高可靠性和高精度的微電子結(jié)構(gòu)模塊,它推動(dòng)了一個(gè)全新的技術(shù)領(lǐng)域和產(chǎn)業(yè)的發(fā)展?!癈PU+PLD+模擬器件”的嵌入式硬件設(shè)計(jì)模式是目前流行的一種硬件結(jié)構(gòu)。這種結(jié)構(gòu)是由目前集成電路的發(fā)展水平和技術(shù)現(xiàn)狀決定的。嵌入式系統(tǒng)以中央處理單元(CPU)為基礎(chǔ)和中心,外加可編程邏輯器件(PLD)和模擬器件構(gòu)成(特別小型的嵌入式設(shè)計(jì)除外)。CPU主要包括嵌入式微處理器和嵌入式微控制器。各種PLD的出現(xiàn)改變了硬件設(shè)計(jì)方法,通過(guò)改寫PLD,允許在不改變硬件結(jié)構(gòu)的情況下實(shí)現(xiàn)不同的接口和功能,其主要包括PAL、GAL、EPLD、CPLD、FPGA等。這種設(shè)計(jì)模式可以大大地簡(jiǎn)化嵌入式系統(tǒng)的硬件,設(shè)計(jì)更具有靈活性和可擴(kuò)展性,嵌入式系統(tǒng)總體設(shè)計(jì)的難度得以降低,而系統(tǒng)總體設(shè)計(jì)的水平卻得到了提高。2.1.2中間層
中間層位于嵌入式系統(tǒng)的硬件層和軟件層之間,它包含了系統(tǒng)中與硬件相關(guān)的大部分功能。通過(guò)特定的上層接口與操作系統(tǒng)進(jìn)行交互,向操作系統(tǒng)提供底層的硬件信息,并根據(jù)操作系統(tǒng)的要求完成對(duì)硬件的直接操作。嵌入式系統(tǒng)由于引入了這個(gè)中間層,屏蔽了底層硬件的多樣性,操作系統(tǒng)不再直接面對(duì)具體的硬件環(huán)境,而是面向由這個(gè)中間層所代表的、邏輯上的硬件環(huán)境。因此,通常把這個(gè)中間層叫做硬件抽象層(HardwareAbstractionLayer,HAL)。在目前的嵌入式領(lǐng)域中通常也把它叫做板級(jí)支持包(BoardSupportPackage,BSP)。BSP把系統(tǒng)軟件和硬件部分隔離開來(lái),這樣就使得系統(tǒng)的設(shè)備驅(qū)動(dòng)程序與硬件設(shè)備無(wú)關(guān),一般應(yīng)包含相關(guān)硬件的初始化、數(shù)據(jù)的輸入/輸出操作、硬件設(shè)備的配置操作等功能。它的引入大大推動(dòng)了嵌入式實(shí)時(shí)操作系統(tǒng)的通用化,從而為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能。中間層的提出使通用的嵌入式操作系統(tǒng)及高層的嵌入式應(yīng)用能夠有效地運(yùn)行于特定的、應(yīng)用相關(guān)的硬件環(huán)境之上,使操作系統(tǒng)和應(yīng)用程序能夠控制與操作具體的硬件設(shè)備,完成特定的功能。因此,在絕大多數(shù)的嵌入式系統(tǒng)中,BSP是一個(gè)必不可少的層次。由于中間層在系統(tǒng)中的特殊位置,因此其具有以下主要特點(diǎn):
(1)硬件相關(guān)性。因?yàn)榍度胧綄?shí)時(shí)系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,所以作為高層軟件與硬件之間的接口,BSP必須為操作系統(tǒng)提供操作和控制具體硬件的方法。
(2)操作系統(tǒng)相關(guān)性。不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此不同的操作系統(tǒng)具有特定的硬件接口形式。
在實(shí)現(xiàn)上,BSP是一個(gè)介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件相關(guān)的軟件模塊;在功能上,BSP包含兩部分,即系統(tǒng)初始化及與硬件相關(guān)的設(shè)備驅(qū)動(dòng)。2.1.3軟件層
嵌入式系統(tǒng)的軟件層主要是操作系統(tǒng)。為了使嵌入式系統(tǒng)更加具有生命力,需要有專門負(fù)責(zé)管理存儲(chǔ)器分配、中斷處理、任務(wù)調(diào)度等功能的軟件模塊,這就是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái),實(shí)際為一段程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶主程序,它是嵌入式系統(tǒng)中重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形用戶界面(GUI)等。嵌入式操作系統(tǒng)根據(jù)應(yīng)用場(chǎng)合可以分為兩大類:一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)系統(tǒng)(如WinCE、Linux等),這類設(shè)備包括PDA、移動(dòng)電話等;另一類則是面向控制、通信、測(cè)試和醫(yī)療等領(lǐng)域的實(shí)時(shí)操作系統(tǒng)(如VxWorks、RT-Linux等)。操作系統(tǒng)的引入使得嵌入式系統(tǒng)的功能大大提高,方便了應(yīng)用軟件的設(shè)計(jì),但同時(shí)也占用了嵌入式系統(tǒng)資源。嵌入式操作系統(tǒng)具有以下特點(diǎn):
(1)可配置性。這是嵌入式系統(tǒng)資源限制的結(jié)果。為了全面支持從低容量?jī)?nèi)存,甚至可能連內(nèi)存管理單元都沒有的低端系統(tǒng)到具有多處理機(jī)的高端系統(tǒng),嵌入式操作系統(tǒng)采用模塊化體系結(jié)構(gòu),即一個(gè)實(shí)時(shí)內(nèi)核和一堆組件或庫(kù)。這樣根據(jù)系統(tǒng)的需求,就可以對(duì)嵌入式操作系統(tǒng)進(jìn)行配置。
(2)易移植性。嵌入式操作系統(tǒng)要求適應(yīng)各種CPU體系結(jié)構(gòu),管理多樣化外設(shè),容易移植是必需的。嵌入式操作系統(tǒng)的易移植性是通過(guò)采用板級(jí)支持包技術(shù)(BSP)或硬件抽象層技術(shù)(HAL)來(lái)完成的。板級(jí)支持包內(nèi)含片級(jí)初始化和設(shè)備驅(qū)動(dòng)程序,它使嵌入式操作系統(tǒng)與嵌入式系統(tǒng)硬件平臺(tái)相分離。當(dāng)微處理器和外設(shè)不同時(shí),它保護(hù)了開發(fā)者在應(yīng)用程序上的開發(fā)投入。硬件抽象層也是類似的技術(shù),它抽象一個(gè)硬件平臺(tái)到一定程度,足以使操作系統(tǒng)內(nèi)核被移植到該平臺(tái)上。
(3)內(nèi)核支持多任務(wù),提供豐富的多線程通信機(jī)制。一般默認(rèn)情況下采用基于任務(wù)優(yōu)先級(jí)的任務(wù)可搶先調(diào)度法,確保總是最先執(zhí)行具有最高優(yōu)先級(jí)的已就緒的任務(wù);在此基礎(chǔ)上增加輪轉(zhuǎn)調(diào)度法,使同等優(yōu)先級(jí)的已就緒的任務(wù)公平占有CPU。2.1.4功能層
嵌入式系統(tǒng)的功能層是由基于操作系統(tǒng)開發(fā)的應(yīng)用程序所組成的,以完成對(duì)被控對(duì)象的控制功能。為了方便用戶的操作,往往需要嵌入式系統(tǒng)具有友好的人機(jī)界面。針對(duì)特定應(yīng)用領(lǐng)域,用來(lái)達(dá)到用戶預(yù)期目標(biāo),這不僅要求準(zhǔn)確性、安全性和穩(wěn)定性等方面能夠滿足實(shí)際應(yīng)用的需要,而且還要盡可能地進(jìn)行優(yōu)化,以減少對(duì)系統(tǒng)資源的消耗,降低成本。對(duì)于復(fù)雜的系統(tǒng),在設(shè)計(jì)初期需要進(jìn)行系統(tǒng)的需求分析,確定系統(tǒng)功能,然后將這些功能映射到整個(gè)嵌入式系統(tǒng)的軟/硬件設(shè)計(jì)過(guò)程中,以完成系統(tǒng)的功能實(shí)現(xiàn)。
2.2嵌入式系統(tǒng)的設(shè)計(jì)流程
日常生活中,我們?cè)谧鲆患虑榈臅r(shí)候總是要按照一定的步驟(或者流程)一步一步地進(jìn)行,直至最終完成,嵌入式系統(tǒng)的設(shè)計(jì)也是如此。一般來(lái)說(shuō),嵌入式系統(tǒng)的設(shè)計(jì)流程分為需求分析、規(guī)格說(shuō)明、體系結(jié)構(gòu)設(shè)計(jì)、軟/硬件構(gòu)件設(shè)計(jì)和系統(tǒng)集成五個(gè)階段,如圖2-2所示。如果設(shè)計(jì)的流程是從需求分析開始,然后是規(guī)格說(shuō)明,接著是體系結(jié)構(gòu)設(shè)計(jì)、軟/硬件構(gòu)件設(shè)計(jì),最后是系統(tǒng)集成,那么該設(shè)計(jì)流程就叫做自上而下的設(shè)計(jì)流程(圖中實(shí)線部分);反之,就叫做自下而上的設(shè)計(jì)流程(圖中虛線部分)。下面將按照自上而下的設(shè)計(jì)流程對(duì)嵌入式系統(tǒng)的設(shè)計(jì)過(guò)程進(jìn)行討論。圖2-2嵌入式系統(tǒng)的設(shè)計(jì)流程2.2.1需求分析
需求分析是自上而下的嵌入式系統(tǒng)設(shè)計(jì)的第一個(gè)階段,該階段的任務(wù)是確定用戶的要求和目標(biāo),主要考慮的是“做什么”,而不是具體“怎么做”。
1.需求
需求通常由用戶提出,一般包括功能和非功能兩部分。設(shè)計(jì)者從用戶的描述中可以直接獲取系統(tǒng)基本功能的有關(guān)信息,但只有這些功能信息還不夠,還必須得到用戶提出的非功能信息,這些非功能信息包括性能、功耗、成本、系統(tǒng)尺寸和重量等。
(1)性能:一般就是指系統(tǒng)的處理速度,它是決定系統(tǒng)實(shí)用性與最終成本的主要因素。
(2)功耗:對(duì)于靠電池來(lái)供電的系統(tǒng)以及一些電器而言,電源是十分重要的一個(gè)部分。電源問題通常在需求階段以電池續(xù)航時(shí)間的方式提出,因?yàn)橛脩敉ǔ2荒芤酝邽閱挝粶?zhǔn)確描述允許的功率。
(3)成本:對(duì)于消費(fèi)者來(lái)說(shuō),產(chǎn)品的最終成本或者價(jià)格是一個(gè)敏感的問題,所以它是設(shè)計(jì)者必須考慮的一個(gè)因素。
(4)系統(tǒng)尺寸和重量:產(chǎn)品的物理特性(包括尺寸和重量)會(huì)因使用領(lǐng)域的不同而不同,對(duì)于嵌入式設(shè)備而言,尺寸和重量往往受到嚴(yán)格的限制,因此,這也是值得設(shè)計(jì)者重視的一個(gè)問題。
2.確認(rèn)需求
確認(rèn)這一系列的功能與非功能需求不僅僅需要理解什么是用戶需要的,而且還需要理解用戶是如何表達(dá)這些需求的,因此,確認(rèn)需求與其說(shuō)是個(gè)技術(shù)問題,倒不如說(shuō)是個(gè)心理學(xué)問題。
建模是精簡(jiǎn)、提煉系統(tǒng)需求的一種好方法,可以有效地精簡(jiǎn)用戶界面。建立模型之后,就可以使用已經(jīng)收集到的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行功能模擬,并在個(gè)人計(jì)算機(jī)或工作站上運(yùn)行,以驗(yàn)證其正確性。需要注意的是,所建立的模型應(yīng)該讓用戶了解系統(tǒng)是如何使用的,以及用戶如何與其進(jìn)行交互。至于設(shè)備的非功能模型,其主要作用是讓用戶了解系統(tǒng)的特性,比如系統(tǒng)的尺寸和重量等。
3.需求分析表格
對(duì)于設(shè)計(jì)者而言,分析一個(gè)較大規(guī)模系統(tǒng)的需求是一項(xiàng)復(fù)雜而又費(fèi)時(shí)的工作,因此,若能獲得相對(duì)少量的格式清晰而又簡(jiǎn)單的信息將有助于對(duì)系統(tǒng)的理解,需求分析表格就是一種簡(jiǎn)單的獲取系統(tǒng)需求的方法,如表2-1所示。
4.需求的內(nèi)部一致性
在需求分析的最后,還應(yīng)該檢查各個(gè)項(xiàng)目的內(nèi)部一致性。例如是否忘記為某個(gè)功能指定輸入/輸出;是否考慮了系統(tǒng)運(yùn)行的所有方式;是否把一些不切實(shí)際的要求放了進(jìn)來(lái)。這些都是需要檢查的內(nèi)容。2.2.2規(guī)格說(shuō)明
規(guī)格說(shuō)明是繼需求分析之后的第二個(gè)階段。如果說(shuō)需求分析主要是給用戶看的,那么規(guī)格說(shuō)明主要是給設(shè)計(jì)者看的,規(guī)格說(shuō)明的作用相當(dāng)于用戶和設(shè)計(jì)者之間的合同,用以促進(jìn)設(shè)計(jì)開發(fā)方案的制定。因此,規(guī)格說(shuō)明必須小心編寫,以便精確反映用戶的需求并且將其作為設(shè)計(jì)時(shí)必須遵循的要求。與需求分析相比,規(guī)格說(shuō)明更加明確,它對(duì)需求分析中涉及的問題進(jìn)行了進(jìn)一步的細(xì)化,以便別人可以驗(yàn)證它是否符合系統(tǒng)要求并且完全滿足用戶的期望。規(guī)格說(shuō)明也不能有歧義,應(yīng)該使設(shè)計(jì)者在閱讀了規(guī)格說(shuō)明之后就能明白該完成什么工作,否則可能會(huì)碰到由于規(guī)格說(shuō)明不明確而引起的種種問題。例如,如果規(guī)格說(shuō)明沒有明確在某個(gè)特定的狀態(tài)下有哪些特定行為,那么設(shè)計(jì)者就可能會(huì)實(shí)現(xiàn)錯(cuò)誤的功能;還有,如果規(guī)格說(shuō)明中某個(gè)全局特征是錯(cuò)誤的或不完整的,那么按照規(guī)格說(shuō)明設(shè)計(jì)的整個(gè)系統(tǒng)的體系結(jié)構(gòu)可能會(huì)不符合用戶的需求。此外,規(guī)格說(shuō)明可能也是設(shè)計(jì)新手在設(shè)計(jì)時(shí)最不重視的階段,但它實(shí)際上卻可以使設(shè)計(jì)者花費(fèi)最少的精力來(lái)創(chuàng)建一個(gè)正確的工作系統(tǒng)。對(duì)于有些設(shè)計(jì)者來(lái)說(shuō),可能在工作剛開始的時(shí)候并沒有形成一個(gè)構(gòu)造系統(tǒng)的清晰思路,因而,在工作過(guò)程的早期會(huì)使用不完整的假設(shè)結(jié)果,在后期實(shí)現(xiàn)問題的重新更正,然后重新開始,這樣反而花費(fèi)了更多的時(shí)間和精力。2.2.3體系結(jié)構(gòu)設(shè)計(jì)
需求分析和規(guī)格說(shuō)明都只是明確了系統(tǒng)實(shí)現(xiàn)什么功能,并不關(guān)心系統(tǒng)如何實(shí)現(xiàn),至于描述如何實(shí)現(xiàn)這些功能則是在體系結(jié)構(gòu)設(shè)計(jì)階段來(lái)完成的。體系結(jié)構(gòu)是系統(tǒng)整體結(jié)構(gòu)的一個(gè)計(jì)劃,而后用于設(shè)計(jì)搭建整個(gè)體系結(jié)構(gòu)的構(gòu)件。
體系結(jié)構(gòu)設(shè)計(jì)可以從硬件和軟件兩個(gè)方面去考慮。
硬件方面需要考慮的問題有CPU的類型、外圍電路的選擇、存儲(chǔ)器的配置、輸入/輸出接口的設(shè)計(jì)。軟件方面需要考慮的問題有操作系統(tǒng)的選擇、驅(qū)動(dòng)程序的設(shè)計(jì)、應(yīng)用軟件的編寫。
體系結(jié)構(gòu)設(shè)計(jì)是通過(guò)對(duì)規(guī)格說(shuō)明中的內(nèi)容作進(jìn)一步的分解,從而建立硬件和軟件架構(gòu),并確立各個(gè)模塊、各個(gè)子系統(tǒng)之間的關(guān)系,定義各子系統(tǒng)和各功能模塊之間的接口,規(guī)定設(shè)計(jì)約束,進(jìn)而給出每個(gè)功能模塊的功能描述。我們以一個(gè)MP3的設(shè)計(jì)為例,給出其硬件結(jié)構(gòu)(如圖2-3所示)和軟件結(jié)構(gòu)(如圖2-4所示)。圖2-3MP3硬件結(jié)構(gòu)圖2-4MP3軟件結(jié)構(gòu)2.2.4軟/硬件構(gòu)件設(shè)計(jì)
在完成了體系結(jié)構(gòu)設(shè)計(jì)之后,設(shè)計(jì)者已經(jīng)對(duì)產(chǎn)品有了一個(gè)整體的認(rèn)識(shí),對(duì)于系統(tǒng)的主要任務(wù)也會(huì)有所了解,接下來(lái)就應(yīng)該進(jìn)入軟/硬件構(gòu)件設(shè)計(jì)階段。
軟/硬件構(gòu)件設(shè)計(jì)時(shí)遵循的傳統(tǒng)原則是硬件優(yōu)先原則,即先設(shè)計(jì)硬件,給出系統(tǒng)的硬件平臺(tái),然后根據(jù)系統(tǒng)的硬件資源來(lái)設(shè)計(jì)軟件模塊。但是,由于在硬件設(shè)計(jì)過(guò)程中缺乏對(duì)軟件體系結(jié)構(gòu)和實(shí)現(xiàn)機(jī)制的了解,這種模式往往需要反復(fù)試驗(yàn)和修改,從而導(dǎo)致設(shè)計(jì)周期延長(zhǎng),成本提高,難以適應(yīng)現(xiàn)代日益復(fù)雜和大規(guī)模的嵌入式系統(tǒng)的設(shè)計(jì)。由于傳統(tǒng)的硬件優(yōu)先原則存在著種種缺點(diǎn),難以滿足當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)的需求,因此尋找一種合適的軟/硬件構(gòu)件設(shè)計(jì)模式已成為當(dāng)務(wù)之急,軟/硬件協(xié)同設(shè)計(jì)就是一種很好的解決辦法。軟/硬件協(xié)同設(shè)計(jì)依據(jù)系統(tǒng)目標(biāo)的要求,綜合分析軟/硬件功能及資源,挖掘系統(tǒng)軟/硬件之間的并發(fā)性,協(xié)同設(shè)計(jì)軟/硬件體系結(jié)構(gòu)。通過(guò)軟/硬件劃分、性能評(píng)估等方法,在系統(tǒng)的早期概念設(shè)計(jì)階段實(shí)現(xiàn)系統(tǒng)原型的快速開發(fā),然后對(duì)原型系統(tǒng)性能和成本估計(jì)不斷進(jìn)行反饋和修正,最終以優(yōu)化的系統(tǒng)結(jié)構(gòu)代替人工分割的軟/硬件子系統(tǒng),降低了系統(tǒng)實(shí)現(xiàn)的性能代價(jià)成本,因此該設(shè)計(jì)技術(shù)已成為嵌入式領(lǐng)域的一個(gè)研究熱點(diǎn)??傮w而言,軟/硬件協(xié)同設(shè)計(jì)過(guò)程可分為系統(tǒng)描述、軟/硬件劃分、調(diào)度和性能評(píng)估四個(gè)階段。系統(tǒng)描述是用系統(tǒng)描述語(yǔ)言對(duì)所要設(shè)計(jì)的系統(tǒng)的功能和性能進(jìn)行全面描述,并建立模型。軟/硬件劃分是要確定系統(tǒng)的哪些功能由硬件實(shí)現(xiàn),哪些功能由軟件實(shí)現(xiàn)。仍然以MP3為例,對(duì)于MP3解碼部分,如果在硬件設(shè)計(jì)時(shí)選擇了性能較高的通用處理器,其內(nèi)部不包含MP3解碼的固件,在系統(tǒng)的硬件架構(gòu)中也沒有使用專門的解碼芯片,那么,在軟件設(shè)計(jì)中,MP3的解碼部分必須由軟件人員進(jìn)行編寫;反之,如果在硬件設(shè)計(jì)時(shí)選擇的處理器內(nèi)部包含了解碼的固件,或者在系統(tǒng)的硬件架構(gòu)中使用了專門的解碼芯片,那么,在軟件結(jié)構(gòu)中就不需要編寫解碼部分的代碼了。調(diào)度是在軟/硬件劃分基礎(chǔ)上,將系統(tǒng)的一個(gè)或多個(gè)進(jìn)程/線程分配到不同處理器中并發(fā)執(zhí)行,并實(shí)現(xiàn)進(jìn)程/線程之間的交互和硬件資源的優(yōu)化訪問控制。性能評(píng)估采用驗(yàn)證或模擬方法測(cè)試評(píng)價(jià)系統(tǒng)實(shí)現(xiàn),找到制約系統(tǒng)性能的瓶頸,進(jìn)而及時(shí)修正調(diào)度階段的偏差,實(shí)現(xiàn)系統(tǒng)的優(yōu)化設(shè)計(jì)。2.2.5系統(tǒng)集成
軟/硬件構(gòu)件建立以后就要把它們集成在一起以得到一個(gè)可以運(yùn)行的系統(tǒng),這個(gè)階段就是系統(tǒng)集成階段,當(dāng)然,系統(tǒng)集成并不僅僅是簡(jiǎn)單地將所有的東西連接起來(lái)。在系統(tǒng)集成中通常可以發(fā)現(xiàn)一些構(gòu)件設(shè)計(jì)時(shí)的錯(cuò)誤,而合理的計(jì)劃能幫助我們快速定位并解決問題。按階段搭建系統(tǒng)并且在每個(gè)階段結(jié)束后進(jìn)行測(cè)試,就有助于定位這些錯(cuò)誤。而如果每次只調(diào)試一部分模塊,很可能更容易發(fā)現(xiàn)簡(jiǎn)單的錯(cuò)誤。只有在設(shè)計(jì)的早期修正這些簡(jiǎn)單的錯(cuò)誤,才能發(fā)現(xiàn)那些在系統(tǒng)高負(fù)荷運(yùn)轉(zhuǎn)時(shí)才能確定的比較復(fù)雜的錯(cuò)誤。必須在體系結(jié)構(gòu)和構(gòu)件設(shè)計(jì)階段盡可能容易地按階段組裝系統(tǒng)和相對(duì)獨(dú)立地測(cè)試系統(tǒng)。系統(tǒng)集成時(shí)通常會(huì)發(fā)現(xiàn)問題,因此它有一定的難度。足夠詳細(xì)地觀察系統(tǒng)以準(zhǔn)確地定位錯(cuò)誤通常很難,因?yàn)榕c桌面系統(tǒng)相比,面向嵌入式系統(tǒng)的調(diào)試工具很少。因此,確定系統(tǒng)為何不能正確工作以及如何對(duì)此進(jìn)行修復(fù)是一種挑戰(zhàn)。在設(shè)計(jì)過(guò)程中小心地加入恰當(dāng)?shù)恼{(diào)試工具能簡(jiǎn)化系統(tǒng)集成中的問題。以上是對(duì)嵌入式系統(tǒng)自上而下的設(shè)計(jì)流程的五個(gè)階段的介紹,一般來(lái)說(shuō),所有嵌入式系統(tǒng)設(shè)計(jì)方法都會(huì)不可避免地涉及到這五個(gè)階段,但最重要的還是能找到一種好的設(shè)計(jì)方法,使設(shè)計(jì)人員對(duì)工作的進(jìn)度有一個(gè)清楚的了解,從而確保不遺漏其中的任何工作。另外,一個(gè)好的設(shè)計(jì)方法還允許設(shè)計(jì)者開發(fā)計(jì)算機(jī)輔助設(shè)計(jì)工具,雖然目前還不可能開發(fā)出一個(gè)能夠完成完整嵌入式系統(tǒng)設(shè)計(jì)流程的工具,但已經(jīng)可以先將整個(gè)過(guò)程分成幾個(gè)可控的步驟,通過(guò)輔助工具每次自動(dòng)或半自動(dòng)地完成一個(gè)步驟。最后,一個(gè)好的設(shè)計(jì)方法還便于設(shè)計(jì)人員進(jìn)行相互交流。
2.3嵌入式系統(tǒng)設(shè)計(jì)流程模型
2.2節(jié)中,我們?cè)岬角度胧较到y(tǒng)的設(shè)計(jì)流程可以是自上而下的,也可以是自下而上的,但在實(shí)際設(shè)計(jì)過(guò)程中,這兩種方法往往是交叉進(jìn)行的,從而就會(huì)產(chǎn)生不同的設(shè)計(jì)流程。這些不同的設(shè)計(jì)流程就稱為流程模型。常見的流程模型有瀑布模型、逐步求精模型和螺旋模型等。2.3.1瀑布模型
1.模型概述
瀑布模型(WaterModle)的整個(gè)設(shè)計(jì)過(guò)程是自上而下的,如同瀑布一般,故而得名,其流程如圖2-5所示。圖2-5瀑布模型的流程
2.模型優(yōu)、缺點(diǎn)
瀑布模型的優(yōu)點(diǎn)是:開發(fā)流程簡(jiǎn)單清楚,可以明確每一個(gè)階段的任務(wù)與目標(biāo),便于制定開發(fā)計(jì)劃。
瀑布模型的缺點(diǎn)是:缺乏靈活性,不能適應(yīng)用戶需求的改變;對(duì)開發(fā)初期要求比較高,特別是需求分析;返回上一級(jí)需要付出高昂的代價(jià);隨系統(tǒng)規(guī)模和復(fù)雜性的增加,產(chǎn)品成功開發(fā)的幾率下降。
3.模型使用場(chǎng)合
瀑布模型比較適合如下的場(chǎng)合:
(1)系統(tǒng)需求比較明確。比如,系統(tǒng)的功能、功耗、體積、重量都有明確的表達(dá),同時(shí),系統(tǒng)的需求在開發(fā)過(guò)程中不會(huì)發(fā)生太大的變化。
(2)對(duì)原有產(chǎn)品的簡(jiǎn)單升級(jí)。
(3)采用成熟技術(shù)開發(fā)不會(huì)出現(xiàn)較難解決困難的產(chǎn)品。2.3.2逐步求精模型
1.模型概述
逐步求精模型(SuccessiveRefinementModel)的特點(diǎn)是開發(fā)人員先根據(jù)用戶的基本需求快速開發(fā)出一個(gè)原型系統(tǒng),向用戶展示系統(tǒng)的部分功能和性能,以征求用戶的意見,然后進(jìn)一步使需求精確化、完全化。同時(shí),測(cè)試人員對(duì)這一原型系統(tǒng)進(jìn)行測(cè)試、修改,評(píng)價(jià)其性能。開發(fā)者根據(jù)用戶和測(cè)試人員的反饋意見修改原型系統(tǒng),如此迭代,不斷完善和豐富系統(tǒng)功能,直到最終完成。逐步求精模型的流程如圖2-6所示。圖2-6逐步求精模型的流程
2.模型優(yōu)、缺點(diǎn)
逐步求精模型的優(yōu)點(diǎn)如下:
(1)便于開發(fā)者和用戶之間的溝通,從而可以更好地滿足用戶的需求。
(2)與瀑布模型相比,更符合人們認(rèn)識(shí)事物的過(guò)程和規(guī)律,更為實(shí)際。
(3)開發(fā)風(fēng)險(xiǎn)低,一般不會(huì)造成產(chǎn)品無(wú)法完成或者不符合要求的情況。
逐步求精模型的缺點(diǎn)如下:
(1)需要消耗大量資源去建立原型系統(tǒng),特別是在開發(fā)大型產(chǎn)品時(shí)。
(2)對(duì)原型系統(tǒng)性能的評(píng)估比較困難。
(3)因?yàn)椴捎昧朔磸?fù)的迭代,所以產(chǎn)品的開發(fā)周期較長(zhǎng)。
3.模型使用場(chǎng)合
逐步求精模型適用于那些不能預(yù)先確定需求的系統(tǒng)的開發(fā)。當(dāng)開發(fā)人員對(duì)構(gòu)建系統(tǒng)的應(yīng)用領(lǐng)域不是很熟悉時(shí),逐步求精模型就比較適用。另外,它也適合那些項(xiàng)目組成人員(包括分析人員、設(shè)計(jì)人員、程序員)不能很好溝通的情況。2.3.3螺旋模型
1.模型概述
螺旋模型(SpiralModel)是綜合了瀑布模型和逐步求精模型的優(yōu)點(diǎn),并加入了兩者所忽略的風(fēng)險(xiǎn)分析的一種開發(fā)模型。其開發(fā)流程沿螺旋順時(shí)針方向,依次經(jīng)歷需求、設(shè)計(jì)、測(cè)試三個(gè)階段。螺旋模型需要建立系統(tǒng)的多個(gè)版本,初始的版本只是一個(gè)簡(jiǎn)單的實(shí)驗(yàn)?zāi)P?,用于幫助設(shè)計(jì)者和用戶建立起對(duì)系統(tǒng)的感性認(rèn)識(shí),隨著設(shè)計(jì)的深入,會(huì)創(chuàng)建更加復(fù)雜的系統(tǒng)。在螺旋的第一圈可以確定系統(tǒng)的需求分析、詳細(xì)設(shè)計(jì)、規(guī)格說(shuō)明等;第二圈產(chǎn)生一個(gè)用于開發(fā)的原型系統(tǒng);第三圈產(chǎn)生系統(tǒng)的初始版本,即初始系統(tǒng);第四圈產(chǎn)生比較完善的新版本,即改進(jìn)系統(tǒng);依此類推,經(jīng)過(guò)不斷的迭代,產(chǎn)生最終的版本,即最終系統(tǒng)。螺旋模型的基本框架如圖2-7所示。圖2-7螺旋模型的基本框架
2.模型優(yōu)、缺點(diǎn)
螺旋模型的優(yōu)點(diǎn)如下:
(1)原型系統(tǒng)可看做可執(zhí)行形式的需求規(guī)格說(shuō)明,易于開發(fā)人員和用戶共同理解,還可作為繼續(xù)開發(fā)的基礎(chǔ),并為用戶參與決策提供方便。
(2)支持用戶需求的動(dòng)態(tài)變化,支持軟件系統(tǒng)的可維護(hù)性,每次維護(hù)過(guò)程只是沿螺旋模型繼續(xù)多走一兩圈。
(3)為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了方便,進(jìn)而可以降低開發(fā)風(fēng)險(xiǎn)。螺旋模型的缺點(diǎn)如下:
(1)如果每次迭代效率不高,導(dǎo)致迭代次數(shù)過(guò)多,將會(huì)造成開發(fā)時(shí)間的延長(zhǎng)和成本的增加。
(2)對(duì)開發(fā)隊(duì)伍的水平要求較高,需要有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門的知識(shí)。
3.模型使用場(chǎng)合
螺旋模型適用于需求不明確以及大型系統(tǒng)的開發(fā),模型支持面向過(guò)程、面向?qū)ο蟮榷喾N開發(fā)方法,是一種具有廣闊前景的模型。2.3.4其他模型
1.快速原型模型
快速原型模型(RapidPrototypeModel)等價(jià)于產(chǎn)品的一個(gè)子集。瀑布模型的缺點(diǎn)是不夠直觀,而快速原型模型正好解決了這個(gè)問題。它可以在很短的時(shí)間內(nèi)滿足用戶最迫切的需要,完成一個(gè)可以演示的產(chǎn)品。這個(gè)產(chǎn)品具有實(shí)現(xiàn)部分最主要的功能。其最重要的目的就是為了確定用戶的真正需求,在得到用戶的需求之后,原型將被拋棄。
2.噴泉模型
噴泉模型(FoundationModel)又稱面向?qū)ο蟮纳嫫谀P?。它是近幾年被提出?lái)的軟件生存周期模型。它是以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求為動(dòng)力,以對(duì)象來(lái)驅(qū)動(dòng)的模型。與傳統(tǒng)的結(jié)構(gòu)化生存期相比,噴泉模型具有更多的增量和迭代性質(zhì),生存期的各個(gè)階段可以相互重疊和多次反復(fù),而且在項(xiàng)目的整個(gè)生存期中還可以嵌入子生存期,就像水噴上去又可以落下來(lái),可以落在中間,也可以落在底部,故而得名。
3.智能模型
智能模型使用一組工具(如數(shù)據(jù)查詢、數(shù)據(jù)處理、電子表格、代碼生成、報(bào)表生成、屏幕定義以及高層圖形功能等),每個(gè)工具都能使開發(fā)人員在該層次上定義軟件的某些特性,并把開發(fā)人員定義的這些軟件自動(dòng)地生成為源代碼。這種方法需要第四代語(yǔ)言(4GL)的支持。4GL不同于第三代語(yǔ)言,其主要特征是具有非常好的用戶界面,即使是沒有經(jīng)過(guò)訓(xùn)練的非專業(yè)的程序員,也能夠使用它來(lái)編寫程序。4GL是一種交互式、聲明式和非過(guò)程性的語(yǔ)言,具有高效的程序代碼、智能缺省假設(shè)、完備的數(shù)據(jù)庫(kù)和應(yīng)用程序生成器。目前,市場(chǎng)上流行的4GL都不同程度地?fù)碛猩鲜鎏卣鳌?GL主要應(yīng)用于信息系統(tǒng)的中、小型應(yīng)用程序的開發(fā)。
4.混合模型
混合模型(HybridModel)是一種把幾種不同的開發(fā)模型混合在一起的模型,允許一個(gè)項(xiàng)目沿著最有效的方向發(fā)展。實(shí)際上,開發(fā)人員往往都是使用幾種不同的開發(fā)方法組成混合的模型進(jìn)行系統(tǒng)的開發(fā)。
2.4嵌入式系統(tǒng)的調(diào)試與測(cè)試
明確了系統(tǒng)的體系架構(gòu)和開發(fā)流程以后,接下來(lái)就要進(jìn)行開發(fā)、調(diào)試與測(cè)試,包括選擇適當(dāng)?shù)拈_發(fā)環(huán)境和開發(fā)工具,例如編譯器、鏈接器、定位器,或者直接使用集成開發(fā)環(huán)境(IDE),隨后將編譯好的程序轉(zhuǎn)為映像(Image),下載到目標(biāo)平臺(tái)上,與開發(fā)平臺(tái)連接后進(jìn)行調(diào)試和測(cè)試。以下將介紹嵌入式系統(tǒng)的開發(fā)輔助工具以及調(diào)試與測(cè)試時(shí)用到的一些方法。2.4.1嵌入式系統(tǒng)開發(fā)的輔助工具
1.編譯器
編譯器(Compiler)是將一種語(yǔ)言翻譯成另一種語(yǔ)言的計(jì)算機(jī)程序。它將源程序作為輸入,產(chǎn)生目標(biāo)語(yǔ)言。通常,源程序采用高級(jí)語(yǔ)言編寫,如C/C++,或者是匯編語(yǔ)言。而目標(biāo)語(yǔ)言則是目標(biāo)機(jī)器的目標(biāo)代碼(ObjectCode),有時(shí)也稱為機(jī)器代碼(MachineCode)。使用編譯器可以使我們不必直接編寫麻煩的機(jī)器代碼,而直接使用便于理解的高級(jí)語(yǔ)言或插入了助記符的匯編語(yǔ)言,提高了編程的效率。常見的編譯器有VisualC++、BorlandC++以及Linux下的GCC等。
2.鏈接器
編譯完程序后會(huì)產(chǎn)生目標(biāo)代碼,但要執(zhí)行程序還需要對(duì)目標(biāo)代碼進(jìn)行鏈接,這就要用到鏈接器。鏈接器將所有的目標(biāo)代碼文件?.o或者?.obj以及l(fā)ib中的數(shù)據(jù)段區(qū),包括text、data、bss區(qū)段的數(shù)據(jù)進(jìn)行合并,并且將尚未決定的函數(shù)和變量調(diào)用對(duì)應(yīng)起來(lái)。在嵌入式系統(tǒng)中,要鏈接出一個(gè)可以放到ROM中執(zhí)行的程序,開發(fā)人員還必須對(duì)啟動(dòng)代碼進(jìn)行鏈接,并且制定鏈接關(guān)系地址。
3.定位器
一般的桌面計(jì)算機(jī)程序的開發(fā)都是以鏈接作為結(jié)束的,這樣就可以產(chǎn)生可執(zhí)行的程序,但嵌入式系統(tǒng)開發(fā)中,鏈接不是最終的動(dòng)作,還需要一個(gè)重定位器,經(jīng)過(guò)重定位后,產(chǎn)生映像文件(ImageFile),下載到ROM中,才可執(zhí)行。定位器本身不知道硬件和映像文件之間的對(duì)應(yīng)關(guān)系,所以必須要制定一個(gè)地址對(duì)應(yīng)關(guān)系表。這里所有地址都會(huì)有一個(gè)相對(duì)參考地址,依據(jù)data、code、const排列方式放置。這部分的數(shù)據(jù)必須依據(jù)每個(gè)硬件的不同來(lái)做不同的修改,一般廠商都會(huì)附上一個(gè)范例作為參考,開發(fā)人員可以依此來(lái)進(jìn)行修改。另外,定位器通常還會(huì)產(chǎn)生一個(gè)定位信息的表格,告訴開發(fā)人員每個(gè)函數(shù)的地址,有時(shí)候就可以利用該表格進(jìn)行除錯(cuò)。
4.集成開發(fā)環(huán)境
集成開發(fā)環(huán)境(IntergratedDevelopmentEnviroment,IDE)是用于程序開發(fā)的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。該程序可以獨(dú)立運(yùn)行,也可以和其他程序并用。最典型的例子就是VisualC++,許多的開發(fā)環(huán)境都將其作為模板,并得到了廣泛的應(yīng)用。集成開發(fā)環(huán)境的好處就是可以方便地管理各種工程項(xiàng)目和函數(shù)庫(kù),特別是當(dāng)整個(gè)系統(tǒng)越來(lái)越大的時(shí)候,可以省去很多管理和設(shè)置上的麻煩,減輕了開發(fā)人員的負(fù)擔(dān)。實(shí)際上,軟件開發(fā)環(huán)境正是朝著IDE的方向發(fā)展。2.4.2嵌入式系統(tǒng)的調(diào)試
嵌入式系統(tǒng)通常是一個(gè)資源受限的系統(tǒng),直接在嵌入式系統(tǒng)的目標(biāo)硬件平臺(tái)上編寫軟件是很困難甚至是不可能的,因此,在嵌入式系統(tǒng)的開發(fā)中往往用到一個(gè)交叉開發(fā)環(huán)境(CrossDevelopmentEnvironment)。所謂交叉開發(fā),就是在通用計(jì)算機(jī)(比如PC)上編輯、編譯程序,生成可以在目標(biāo)平臺(tái)上運(yùn)行的二進(jìn)制代碼指令,然后再下載到目標(biāo)平臺(tái)上進(jìn)行調(diào)試的開發(fā)方式。通用計(jì)算機(jī)一般稱為宿主機(jī),目標(biāo)平臺(tái)稱為目標(biāo)機(jī)。交叉開發(fā)環(huán)境一般由運(yùn)行于宿主機(jī)上的交叉開發(fā)軟件和系統(tǒng)仿真器組成。交叉開發(fā)軟件一般為一個(gè)集成開發(fā)環(huán)境。嵌入式系統(tǒng)的調(diào)試是開發(fā)過(guò)程中的重要環(huán)節(jié)。調(diào)試器是運(yùn)行于宿主機(jī)上的應(yīng)用程序,被調(diào)試程序是運(yùn)行在目標(biāo)機(jī)上的應(yīng)用程序,兩個(gè)程序間需要實(shí)時(shí)通信。嵌入式系統(tǒng)調(diào)試時(shí),宿主機(jī)上運(yùn)行的調(diào)試器通過(guò)仿真器與目標(biāo)機(jī)相連。仿真器處理宿主機(jī)與目標(biāo)機(jī)之間的通信,這個(gè)通信口可以是串口、并口、網(wǎng)口及USB口(目前采用USB口較多),仿真器通過(guò)JTAG口或其他接口與目標(biāo)機(jī)相連,如圖2-8所示。
嵌入式系統(tǒng)開發(fā)過(guò)程的調(diào)試方式有很多種,以下列舉幾種常用的調(diào)試方式。圖2-8嵌入式系統(tǒng)交叉開發(fā)環(huán)境
1.在線仿真器
在線仿真器(In-CircuitEmulator,ICE)是一種模擬CPU的設(shè)備,能執(zhí)行CPU的全部動(dòng)作。采用該方式調(diào)試時(shí),利用仿真頭代替目標(biāo)板上的CPU,可以完全仿真CPU的行為,并且提供了豐富的調(diào)試功能,但缺點(diǎn)是結(jié)構(gòu)復(fù)雜、價(jià)格昂貴,通常用于硬件開發(fā)中。
2.在線調(diào)試器
在線調(diào)試器(In-CircuitDebug,ICD)是將CPU的除錯(cuò)(調(diào)試)功能的引腳引出來(lái),讓外部的硬件直接連接到這些引腳上去監(jiān)控整個(gè)CPU的動(dòng)作,這樣開發(fā)人員就可以很容易地利用比較便宜的除錯(cuò)(調(diào)試)工具和CPU的除錯(cuò)(調(diào)試)模塊進(jìn)行溝通,一般這些CPU上的除錯(cuò)模塊都提供讀出寫入內(nèi)存、讀出寫入CPU寄存器、單步執(zhí)行、中斷以及觸發(fā)等功能設(shè)置。目前,比較流行的是ARM公司開發(fā)板上使用的JTAG(JointTestActionGroup)調(diào)試端口。
簡(jiǎn)單地說(shuō),ICD調(diào)試方式就是在硬件的早期設(shè)計(jì)時(shí)將芯片的除錯(cuò)(調(diào)試)引腳先拉出來(lái),等到整個(gè)系統(tǒng)設(shè)計(jì)發(fā)展完善后再去掉不接。ICD調(diào)試方式比ICE便宜得多,因此現(xiàn)在越來(lái)越多的開發(fā)人員開始采用這種方式。
3.軟件模擬器
軟件模擬器是一種利用宿主機(jī)的軟件模擬目標(biāo)機(jī)的環(huán)境來(lái)執(zhí)行目標(biāo)機(jī)源程序的模擬調(diào)試方法,這樣的好處是在目標(biāo)硬件環(huán)境還沒有建立的時(shí)候就可以使用模擬環(huán)境來(lái)調(diào)試程序。但值得注意的是,模擬器畢竟是以一種處理器來(lái)模擬另一種處理器,因此,在指令執(zhí)行時(shí)間、中斷響應(yīng)、定時(shí)器等方面很可能與實(shí)際處理器有很大的差別,它無(wú)法與ICE方式一樣仿真系統(tǒng)的實(shí)際執(zhí)行情況。
4.ROM監(jiān)控器
ROM監(jiān)控器是一段運(yùn)行在目標(biāo)機(jī)ROM上的可執(zhí)行程序,宿主機(jī)端調(diào)試軟件可以通過(guò)串口、并口、網(wǎng)口與之交互。使用這種調(diào)試方式時(shí),被調(diào)試程序首先通過(guò)ROM監(jiān)控器下載到目標(biāo)機(jī)中,然后在ROM監(jiān)控器的監(jiān)控下完成調(diào)試。目前使用的絕大多數(shù)ROM監(jiān)控器能夠完成設(shè)置斷點(diǎn)、單步執(zhí)行、查看寄存器、修改內(nèi)存空間等調(diào)試功能。2.4.3嵌入式系統(tǒng)的測(cè)試
1.嵌入式系統(tǒng)測(cè)試的重要性
嵌入式系統(tǒng)由軟件和硬件兩部分組成,對(duì)這兩部分都應(yīng)該進(jìn)行測(cè)試。
一方面,硬件是嵌入式系統(tǒng)的基礎(chǔ),其好壞直接關(guān)系到系統(tǒng)能否開發(fā)成功。如果沒有選擇到最合適的硬件,甚至所選擇的硬件本身就存在著質(zhì)量問題,那么,最終組成的系統(tǒng)自然是無(wú)法正常工作的。因此,在系統(tǒng)開發(fā)的各個(gè)階段要對(duì)硬件進(jìn)行測(cè)試,及時(shí)發(fā)現(xiàn)問題,排除故障,確保硬件滿足系統(tǒng)設(shè)計(jì)的要求。另一方面,軟件也是嵌入式系統(tǒng)中的重要組成部分。隨著計(jì)算機(jī)硬件技術(shù)的進(jìn)步和元件質(zhì)量的逐步提高,嵌入式系統(tǒng)設(shè)備的硬件性能也得到了相應(yīng)的提高。同時(shí),通過(guò)采用成熟的操作系統(tǒng),使系統(tǒng)運(yùn)行在一個(gè)高性能、可靠的軟件平臺(tái)之上,以便為實(shí)現(xiàn)各種大型的復(fù)雜應(yīng)用打下良好的基礎(chǔ)。面對(duì)系統(tǒng)復(fù)雜性的增加,自然需要功能更加強(qiáng)大、性能更加穩(wěn)定的軟件與之相匹配,隨之開發(fā)的軟件代碼量也越來(lái)越大。但是,在軟件的開發(fā)中,由于缺乏科學(xué)的管理手段,使得開發(fā)完成的軟件得不到良好的測(cè)試和
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ùn)動(dòng)全解析
- 科學(xué)的日常探秘
- 教育心理學(xué)在管理中的應(yīng)用
- 健康之道 未來(lái)之光
- 加工機(jī)械設(shè)備合同范本
- 品牌合作店鋪合同范本
- 社區(qū)困難申請(qǐng)書范文模板
- 商業(yè)電價(jià)更改民用電申請(qǐng)報(bào)告
- 國(guó)際輪胎購(gòu)銷合同范本
- 檢驗(yàn)技能實(shí)訓(xùn)練習(xí)試題及答案
- 報(bào)價(jià)單(報(bào)價(jià)單模板)
- 大班:戰(zhàn)勝沙塵暴
- 天津市基本醫(yī)療保險(xiǎn)意外傷害首診報(bào)告卡
- 模塊三 Word 2016的應(yīng)用
- 泛光照明技術(shù)標(biāo)準(zhǔn)
- 醫(yī)學(xué)課件尿微量白蛋白
- (7.1.19)-日本園林-以京都龍安寺為例
- 新版GMP解讀(無(wú)菌制劑)-課件
- 中國(guó)倫理思想史PPT完整全套教學(xué)課件
- QC成果提高結(jié)構(gòu)樓板平整度合格率
- 第四屆博德世達(dá)杯全國(guó)石油工程知識(shí)競(jìng)賽樣題及答案模板
評(píng)論
0/150
提交評(píng)論