第5講嵌入式軟件系統(tǒng)及其設(shè)計_第1頁
第5講嵌入式軟件系統(tǒng)及其設(shè)計_第2頁
第5講嵌入式軟件系統(tǒng)及其設(shè)計_第3頁
第5講嵌入式軟件系統(tǒng)及其設(shè)計_第4頁
第5講嵌入式軟件系統(tǒng)及其設(shè)計_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 姚英彪姚英彪杭州電子科技大學(xué)杭州電子科技大學(xué)嵌入式軟件系統(tǒng)及其設(shè)計嵌入式軟件系統(tǒng)及其設(shè)計軟件n軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分,它包括程序(program)、相關(guān)數(shù)據(jù)(data)及其說明文檔(document)。 其中:n程序程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;n數(shù)據(jù)數(shù)據(jù)是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);n文檔文檔是與程序開發(fā)維護和使用有關(guān)的各種圖文資料。軟件分類按照應(yīng)用的觀點,軟件可分為系統(tǒng)軟件、支撐軟件和應(yīng)用軟件三類 系統(tǒng)軟件 位于計算機系統(tǒng)中最靠近硬件的一層,其他軟件一般都通過系統(tǒng)軟件發(fā)揮作用 。如編譯程序和操作系統(tǒng)等。支撐

2、軟件 即支撐其他軟件的編制和維護的軟件 。主要包括各種接口軟件和工具軟件。應(yīng)用軟件 特定應(yīng)用領(lǐng)域?qū)S玫能浖?,例如字處理程序。軟件分類n最下面是硬件系統(tǒng);最上面是使用計算機的人,即各種各樣的用戶;人與硬件系統(tǒng)之間是軟件系統(tǒng)。系統(tǒng)軟件是最靠近硬件的一層,其次是支撐軟件和應(yīng)用軟件。軟件設(shè)計概念n軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),即軟件設(shè)計是確定系統(tǒng)的物理模型。n從技術(shù)觀點來看,軟件設(shè)計包括數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計、過程設(shè)計。n數(shù)據(jù)設(shè)計將實體關(guān)系圖中描述的對象和關(guān)系,以及數(shù)據(jù)字典中描述的詳細(xì)數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。體系結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要成份之

3、間的關(guān)系。接口設(shè)計根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。過程設(shè)計則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過程性描述。為什么要軟件設(shè)計 軟件設(shè)計是后續(xù)開發(fā)步驟及軟件維護工作的基礎(chǔ)。如果沒有設(shè)計,只能建立一個不穩(wěn)定的系統(tǒng)結(jié)構(gòu)。設(shè)計設(shè)計編碼編碼測試測試維護維護測試測試編碼編碼維護維護有軟件設(shè)計有軟件設(shè)計 沒有軟件設(shè)計沒有軟件設(shè)計軟件設(shè)計步驟n從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細(xì)設(shè)計。n概要設(shè)計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)確定系統(tǒng)級接口全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。n詳細(xì)設(shè)計確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)n軟件設(shè)計

4、既是過程又是模型。n設(shè)計過程是一系列的迭代步驟,使設(shè)計人員能夠描述目標(biāo)系統(tǒng)的各個側(cè)面。n設(shè)計模型首先描述目標(biāo)系統(tǒng)的整體架構(gòu),然后逐步細(xì)化架構(gòu)得到構(gòu)造每個細(xì)節(jié)的指導(dǎo)原則,從而得到系統(tǒng)的一系列不同的視圖。n良好的設(shè)計原則可為設(shè)計過程導(dǎo)航衡量衡量設(shè)計過程設(shè)計過程的技術(shù)原則的技術(shù)原則n設(shè)計必須實現(xiàn)分析模型中描述的所有顯式需求,必須滿足用戶希望的所有隱式需求。n對于開發(fā)者和未來的維護者而言,設(shè)計必須是可讀的、可理解的,使得將來易于編程、易于測試、易于維護。n設(shè)計應(yīng)該給出軟件的全貌,包括從實現(xiàn)角度可看到的數(shù)據(jù)、功能、行為。衡量衡量設(shè)計過程設(shè)計過程的技術(shù)原則的技術(shù)原則n設(shè)計模型應(yīng)該是一個分層與模塊化結(jié)構(gòu)。n

5、設(shè)計應(yīng)當(dāng)建立具有獨立功能特征的構(gòu)件。n設(shè)計應(yīng)當(dāng)根據(jù)將要實現(xiàn)的對象和數(shù)據(jù)模式導(dǎo)出合適的數(shù)據(jù)結(jié)構(gòu)。n設(shè)計應(yīng)當(dāng)包含數(shù)據(jù)、體系結(jié)構(gòu)、接口和構(gòu)件(模塊)的清晰的視圖。n設(shè)計應(yīng)當(dāng)建立能夠降低模塊與外部環(huán)境之間復(fù)雜連接的接口。Davis的軟件設(shè)計原則的軟件設(shè)計原則n設(shè)計應(yīng)具有可跟蹤性,能回溯到軟件需求;n設(shè)計不必每次都從頭做起,可以復(fù)用已有的設(shè)計模式和數(shù)據(jù)模式。n設(shè)計不是編碼,編碼也不是設(shè)計。設(shè)計模型的抽象級別比源代碼高。在編碼級別上唯一的設(shè)計決策是補充一些實現(xiàn)細(xì)節(jié)。n設(shè)計應(yīng)具有容錯性和異常處理能力。對于異常數(shù)據(jù)、事件、操作條件等能夠平滑處理。n在建立設(shè)計方案時就應(yīng)能評估設(shè)計質(zhì)量,而不是在軟件編碼之后。具體

6、設(shè)計原則和設(shè)計手段n設(shè)計應(yīng)遵循抽象化原則,包含數(shù)據(jù)抽象和過程抽象。n過程抽象:是指在軟件設(shè)計中將處理過程的實現(xiàn)細(xì)節(jié)隱藏在數(shù)據(jù)抽象中,可以直接通過模塊接口使用這些處理操作。n數(shù)據(jù)抽象:是指采用抽象數(shù)據(jù)類型表示數(shù)據(jù),實現(xiàn)數(shù)據(jù)封裝,使得使用者可通過接口使用數(shù)據(jù)而不必關(guān)心數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)。n設(shè)計應(yīng)遵循自頂向下、逐步細(xì)化的原則,建立一個層次的結(jié)構(gòu)。n將軟件體系結(jié)構(gòu)自頂向下,對過程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)從抽象到具體,逐層細(xì)化,直到用編程語言的語句能夠?qū)崿F(xiàn)為止。具體設(shè)計原則和設(shè)計手段設(shè)計應(yīng)當(dāng)遵循模塊化的原則。每個模塊可獨立地開發(fā)、測試,最后組裝成完整的程序。其出發(fā)點是本著將一種復(fù)雜問題“分而治之”的原則。其目的是使程

7、序的結(jié)構(gòu)清晰,容易閱讀、理解、測試、修改。Meyer的良好模塊設(shè)計方法的標(biāo)準(zhǔn)n模塊可分解性 可將系統(tǒng)按問題子問題分解的原則分解成系統(tǒng)的模塊層次結(jié)構(gòu);n模塊可組裝性 可利用已有的設(shè)計構(gòu)件組裝成新系統(tǒng),不必一切從頭開始。n模塊可理解性 一個模塊可不參考其他模塊而被理解;n模塊連續(xù)性 對軟件需求的一些微小變更只導(dǎo)致對某個模塊的修改而整個系統(tǒng)不用大動;n模塊保護 將模塊內(nèi)出現(xiàn)異常情況的影響范圍限制在模塊內(nèi)部操作系統(tǒng)n 操作系統(tǒng)的地位 操作系統(tǒng)實際上是一個計算機系統(tǒng)中硬、軟件資源的總指揮部。n 操作系統(tǒng)定義 是計算機系統(tǒng)中的一個系統(tǒng)軟件,是能有效地組織和管理計算機系統(tǒng)中的硬件和軟件資源,合理地組織計算機

8、工作流程,控制程序的執(zhí)行,并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統(tǒng)能高效地運行的一組程序模塊的集合。操作系統(tǒng)的形成與發(fā)展無操作系統(tǒng)時的計算機系統(tǒng)人工操作方式 由用戶(即程序員)采用人工操作方式直接使用計算機硬件系統(tǒng)。缺點:用戶獨占全機、CPU等待人工操作。脫機輸入輸出方式 程序和數(shù)據(jù)的輸入輸出都是在外圍機的控制下完成。優(yōu)點:減少了CPU的空閑時間、提高I/O速度。操作系統(tǒng)的形成與發(fā)展q單道批處理系統(tǒng) 系統(tǒng)對作業(yè)的處理都是成批地進行的、且在內(nèi)存中始終只保持一道作業(yè),故稱為單道批處理系統(tǒng) 。 特征: 自動性 順序性 單道性操作系統(tǒng)的形成與發(fā)展 多道批處

9、理系統(tǒng)多道程序設(shè)計的基本概念 把一個以上的作業(yè)(程序)存放在主存中,并且同時處于運行狀態(tài),共享處理機時間和外部設(shè)備等其他資源的方法。 優(yōu)點:提高了CPU的利用率 提高了內(nèi)存和I/O設(shè)備的利用率 增加系統(tǒng)吞吐量 多道批處理系統(tǒng)多道批處理系統(tǒng)的特征 多道性 無序性 調(diào)度性:作業(yè)調(diào)度和進程調(diào)度多道批處理系統(tǒng)的優(yōu)缺點 優(yōu)點:資源利用率高、系統(tǒng)吞吐量大 缺點:平均周轉(zhuǎn)時間長、無交互能力多道批處理系統(tǒng)需要解決的問題 處理機管理問題 內(nèi)存管理問題 I/O設(shè)備管理問題 文件管理問題 作業(yè)管理問題分時系統(tǒng)分時系統(tǒng)的產(chǎn)生 人機交互、共享主機、便于用戶上機分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題 及時接收、及時處理分時系統(tǒng)的實現(xiàn)方

10、法 作業(yè)直接進入內(nèi)存 規(guī)定每個程序只運行一個時間片的時間。 具體方法有以下幾種:單道分時系統(tǒng)、具有“前臺”和“后臺”的分時系統(tǒng)、多道分時系統(tǒng)分時系統(tǒng)的特征 - 多路性、獨立性、及時性、交互性實時系統(tǒng)實時系統(tǒng)的引入 實時控制、實時信息處理實時系統(tǒng)定義 實時:所謂“實時”,是表示“及時” 實時系統(tǒng):實時系統(tǒng)是指系統(tǒng)能及時(或即時)響應(yīng)外部事件的請求,在規(guī)定的時間內(nèi)完成該事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運行 實時任務(wù)的類型 按任務(wù)執(zhí)行時是否呈現(xiàn)周期性來劃分:周期性實時任務(wù)、非周期性實時任務(wù) 根據(jù)對截止時間的要求來劃分 :強(硬)實時任務(wù) 、弱(軟)實時任務(wù) 操作系統(tǒng)主要功能n處理器管理n存儲

11、管理n設(shè)備管理n文件管理n作業(yè)管理處理器管理n實質(zhì)上是對處理器執(zhí)行“時間”的管理n單道程序系統(tǒng)和多道程序系統(tǒng)程序A程序B程序C程序A程序B程序C程序A程序B程序C單道程序系統(tǒng)中程序的執(zhí)行多道程序系統(tǒng)中程序的執(zhí)行程序和進程的概念程序是靜態(tài)的進程是程序的執(zhí)行活動。 進程是可并發(fā)執(zhí)行的程序在一個數(shù)據(jù)集合上的運行過程,可以申請和擁有系統(tǒng)資源。 進程是個可以獨立調(diào)度的基本單位 進程是一個動態(tài)的概念,是活動的,有產(chǎn)生、運行、消亡的過程比較菜譜做菜程序CPU其他資源進程靜態(tài)動態(tài)執(zhí)行執(zhí)行廚師材料線程 為了更好地實現(xiàn)并發(fā)處理和共享資源,提高CPU的利用率,目前許多操作系統(tǒng)對進程進行“細(xì)分”,一個進程可再分為多個

12、線程。目的:實現(xiàn)并發(fā)處理和共享資源,提高CPU的利用率 UNIX:進程是CPU的分配單位 Windows:線程是CPU的分配單位 多任務(wù)執(zhí)行n并發(fā)式多任務(wù):n宏觀上多任務(wù)同時執(zhí)行n微觀上CPU輪流處理多個任務(wù)任務(wù)1任務(wù)2任務(wù)3任務(wù)4任務(wù)5時間存儲管理n實質(zhì)上是對存儲空間的管理,主要是對內(nèi)存的管理。提高內(nèi)存的利用率和從邏輯上擴充內(nèi)存。n主要包括以下四個方面的功能:n內(nèi)存分配n為每道程序分配足夠完整運行的內(nèi)存空間,而且要提高存儲器的利用率n內(nèi)存保護n保證各道程序都能在自己的內(nèi)存空間運行而互不干擾,尤其防止用戶程序侵犯操作系統(tǒng)的內(nèi)存區(qū)n地址映射n內(nèi)存擴充 內(nèi)存分配int a;float b;char

13、 c;符號名空間源程序a的邏輯地址邏輯地址空間目標(biāo)程序b的邏輯地址c的邏輯地址物理地址空間存儲器a的物理地址b的物理地址c的物理地址編譯地址映射內(nèi)存擴充n利用虛擬存儲技術(shù),從邏輯上擴充內(nèi)存容量,使系統(tǒng)能夠運行對內(nèi)存需求量遠(yuǎn)比物理內(nèi)存大的多的作業(yè)n利用硬盤上的一部分空間模擬內(nèi)存,為用戶提供一個比實際內(nèi)存大得多的內(nèi)存空間硬盤設(shè)備管理n對計算機系統(tǒng)中除了CPU和內(nèi)存以外的所有I/O設(shè)備的管理n緩沖管理n設(shè)備分配n設(shè)備處理n虛擬設(shè)備緩沖管理系統(tǒng)總線I/O控制器主機外設(shè)緩沖I/O控制器I/O控制器n設(shè)備分配n對用戶請求的設(shè)備按某種分配策略進行分配n將未獲得所需設(shè)備的進程放進相應(yīng)設(shè)備的等待隊列n使用完的設(shè)

14、備回收n由設(shè)備處理程序完成,又稱設(shè)備驅(qū)動程序,其基本任務(wù)是:n實現(xiàn)CPU和設(shè)備控制器之間的通信,由CPU向設(shè)備控制器發(fā)送I/O指令,啟動指定的I/O設(shè)備n完成用戶規(guī)定的I/O操作文件管理l文件是存儲在外存儲器中的一組相關(guān)信息的集合,例如: 一個程序 一張數(shù)碼相片 一首MP3歌曲 一封電子郵件l文件是外存中信息的存取(讀出/寫入)單位l計算機中所有的程序和數(shù)據(jù)都組織成為文件存放在外存儲器中,并使用其名字進行存取操作。l文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的組織方法和數(shù)據(jù)結(jié)構(gòu)。作業(yè)管理n為用戶使用系統(tǒng)提供一個良好環(huán)境,讓用戶有效地組織自己的工作流程使整個系統(tǒng)能高效地運行n幾種工作接口n命令

15、接口n系統(tǒng)調(diào)用接口(應(yīng)用程序編程接口)n 操作系統(tǒng)對運行程序提供服務(wù)的并與之通信的一種機構(gòu),供編程使用。n 低級語言:直接使用n 高級語言:調(diào)用過程(函數(shù))使用 如Windows的API函數(shù) n圖形用戶接口問題問題:功 能 、 性能要求價 格 、 開發(fā) 周 期 等約束設(shè)計:設(shè)計: 選擇 折衷 分析比較 計算 評價嵌入式系統(tǒng)嵌入式系統(tǒng)嵌入式系統(tǒng)的設(shè)計嵌入式系統(tǒng)的設(shè)計方法方法工具工具嵌入式系統(tǒng)要解決的主要問題嵌入式系統(tǒng)要解決的主要問題 n需要用什么樣的系統(tǒng)結(jié)構(gòu)來實現(xiàn)?需要用什么樣的系統(tǒng)結(jié)構(gòu)來實現(xiàn)? n如何滿足時限要求,如何處理多項功能在時間上的協(xié)如何滿足時限要求,如何處理多項功能在時間上的協(xié)調(diào)一致

16、關(guān)系?調(diào)一致關(guān)系?n如何保證系統(tǒng)可靠地工作?如何保證系統(tǒng)可靠地工作?n如何滿足系統(tǒng)接口要求,嵌入式應(yīng)用直接和系統(tǒng)接口如何滿足系統(tǒng)接口要求,嵌入式應(yīng)用直接和系統(tǒng)接口輸入輸出信息?輸入輸出信息?n如何降低系統(tǒng)的功耗?如何降低系統(tǒng)的功耗? n如何使系統(tǒng)可升級?如何使系統(tǒng)可升級? 嵌入式系統(tǒng)設(shè)計的挑戰(zhàn)性問題嵌入式系統(tǒng)設(shè)計的挑戰(zhàn)性問題 n軟硬件協(xié)同設(shè)計軟硬件協(xié)同設(shè)計 n功耗的優(yōu)化設(shè)計功耗的優(yōu)化設(shè)計n嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)n開發(fā)環(huán)境開發(fā)環(huán)境 n成本和開發(fā)周期成本和開發(fā)周期n代碼優(yōu)化代碼優(yōu)化 n高效的輸入和輸出高效的輸入和輸出n測試環(huán)境測試環(huán)境 嵌入式系統(tǒng)是一個迭代優(yōu)化的設(shè)計過程體系結(jié)構(gòu)設(shè)計系統(tǒng)需求分

17、析:規(guī)格說明書機械/結(jié)構(gòu)設(shè)計硬件設(shè)計軟件設(shè)計系統(tǒng)集成系統(tǒng)測試產(chǎn)品嵌入式系統(tǒng)的設(shè)計:只有更好,沒有最好!Time to Market系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)引入錯誤和修改錯誤開銷分布系統(tǒng)引入錯誤和修改錯誤開銷分布引入錯誤數(shù)目引入錯誤數(shù)目修改錯誤開銷修改錯誤開銷開發(fā)周期系統(tǒng)結(jié)構(gòu)設(shè)計軟硬件詳細(xì)設(shè)計軟硬件實現(xiàn)軟硬件的劃分 嵌入式系統(tǒng)的設(shè)計涉及硬件與軟件部件,設(shè)計中必須決定什么功能由硬件實現(xiàn),什么功能由軟件實現(xiàn)。n硬件和軟件具有雙重性n軟硬件變動對系統(tǒng)的決策造成影響n劃分和選擇需要考慮多種因素n硬件和軟件的雙重性是劃分決策的前提軟硬件協(xié)同設(shè)計的基本需求n統(tǒng)一的軟硬件描述方式n軟硬件支持統(tǒng)一的設(shè)計和分

18、析工具(技術(shù))n允許在一個集成環(huán)境中仿真(評估)系統(tǒng)軟硬件設(shè)計n支持系統(tǒng)任務(wù)在軟件和硬件設(shè)計之間的相互移植n交互式軟硬件劃分技術(shù)n允許多個不同的軟硬件劃分設(shè)計進行仿真和比較n輔助最優(yōu)系統(tǒng)實現(xiàn)方式?jīng)Q策嵌入式系統(tǒng)設(shè)計工具n明確了系統(tǒng)的體系架構(gòu)和開發(fā)流程以后,接下來就要進行開發(fā)、調(diào)試與測試,包括選擇適當(dāng)?shù)拈_發(fā)環(huán)境和開發(fā)工具,例如編譯器、鏈接器、定位器,或者直接使用集成開發(fā)環(huán)境(IDE),隨后將編譯好的程序轉(zhuǎn)為映像(Image),下載到目標(biāo)平臺上,與開發(fā)平臺連接后進行調(diào)試和測試。編譯器n編譯器(Compiler)是將一種語言翻譯成另一種語言的計算機程序。它將源程序作為輸入,產(chǎn)生目標(biāo)語言。通常,源程序采

19、用高級語言編寫,如C/C+,或者是匯編語言。而目標(biāo)語言則是目標(biāo)機器的目標(biāo)代碼(Object Code),有時也稱為機器代碼(Machine Code)。使用編譯器可以使我們不必直接編寫麻煩的機器代碼,而直接使用便于理解的高級語言或插入了助記符的匯編語言,提高了編程的效率。常見的編譯器有Visual C+、Borland C+以及Linux下的GCC等。鏈接器n編譯完程序后會產(chǎn)生目標(biāo)代碼,但要執(zhí)行程序還需要對目標(biāo)代碼進行鏈接,這就要用到鏈接器。鏈接器將所有的目標(biāo)代碼文件.o或者.obj以及l(fā)ib中的數(shù)據(jù)段區(qū),包括text、data、bss區(qū)段的數(shù)據(jù)進行合并,并且將尚未決定的函數(shù)和變量調(diào)用對應(yīng)起來

20、。在嵌入式系統(tǒng)中,要鏈接出一個可以放到ROM中執(zhí)行的程序,開發(fā)人員還必須對啟動代碼進行鏈接,并且制定鏈接關(guān)系地址。集成開發(fā)環(huán)境n集成開發(fā)環(huán)境(Intergrated Development Enviroment,IDE)是用于程序開發(fā)的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。該程序可以獨立運行,也可以和其他程序并用。最典型的例子就是Visual C+,許多的開發(fā)環(huán)境都將其作為模板,并得到了廣泛的應(yīng)用。集成開發(fā)環(huán)境的好處就是可以方便地管理各種工程項目和函數(shù)庫,特別是當(dāng)整個系統(tǒng)越來越大的時候,可以省去很多管理和設(shè)置上的麻煩,減輕了開發(fā)人員的負(fù)擔(dān)。實際上,軟件開發(fā)環(huán)境正是朝著

21、IDE的方向發(fā)展。交叉開發(fā)環(huán)境n嵌入式系統(tǒng)通常是一個資源受限的系統(tǒng),直接在嵌入式系統(tǒng)的目標(biāo)硬件平臺上編寫軟件是很困難甚至是不可能的,因此,在嵌入式系統(tǒng)的開發(fā)中往往用到一個交叉開發(fā)環(huán)境(Cross Development Environment)。所謂交叉開發(fā),就是在通用計算機(比如PC)上編輯、編譯程序,生成可以在目標(biāo)平臺上運行的二進制代碼指令,然后再下載到目標(biāo)平臺上進行調(diào)試的開發(fā)方式。通用計算機一般稱為宿主機,目標(biāo)平臺稱為目標(biāo)機。交叉開發(fā)環(huán)境一般由運行于宿主機上的交叉開發(fā)軟件和系統(tǒng)仿真器組成。交叉開發(fā)軟件一般為一個集成開發(fā)環(huán)境。在線仿真器n在線仿真器(In-Circuit Emulator,

22、ICE)是一種模擬CPU的設(shè)備,能執(zhí)行CPU的全部動作。采用該方式調(diào)試時,利用仿真頭代替目標(biāo)板上的CPU,可以完全仿真CPU的行為,并且提供了豐富的調(diào)試功能,但缺點是結(jié)構(gòu)復(fù)雜、價格昂貴,通常用于硬件開發(fā)中。在線調(diào)試器n在線調(diào)試器(In-Circuit Debug,ICD)是將CPU的除錯(調(diào)試)功能的引腳引出來,讓外部的硬件直接連接到這些引腳上去監(jiān)控整個CPU的動作,這樣開發(fā)人員就可以很容易地利用比較便宜的除錯(調(diào)試)工具和CPU的除錯(調(diào)試)模塊進行溝通,一般這些CPU上的除錯模塊都提供讀出寫入內(nèi)存、讀出寫入CPU寄存器、單步執(zhí)行、中斷以及觸發(fā)等功能設(shè)置。目前,比較流行的是ARM公司開發(fā)板上

23、使用的JTAG(Joint Test Action Group)調(diào)試端口。 ICD調(diào)試方式比ICE便宜得多,因此現(xiàn)在越來越多的開發(fā)人員開始采用這種方式。2022-2-20一個簡單的例子n設(shè)計實例n要求設(shè)計一個系統(tǒng),完成圖像顏色空間變換的實時處理,輸入圖像大小為VGA分辨率(640480)圖像的彩色空間變換公式BGRaaaaaaaaavuY333231232221131211n(1)確定系統(tǒng)的數(shù)據(jù)處理流程n上述任務(wù)的處理流程可分解為三步:Phase 2Phase 1Phase 3輸入接口輸出接口處理器算法分析n每次運算只涉及1個像素n每個像素的運算量是:9次乘法+6次加法BGRaaaaaaaaa

24、vuY333231232221131211n讀入整幅圖像數(shù)據(jù),然后再進行處理,簡稱Frame-In模式n讀取一個圖像點,就處理一個圖像點,簡稱Pixel-In模式n根據(jù)每次運算只涉及到1個pixel,可以采用兩種可能的輸入方式n同理可知,數(shù)據(jù)的輸出也有方式:n整幅圖像數(shù)據(jù)處理完成后,一次性的存儲到外部緩存中,簡稱Frame-Out模式n逐個像素點的存儲。每處理完一個點就輸出處理結(jié)果,簡稱Pixel-Out模式輸入、輸出性能分析n無論哪種方式(pixel/Frame模式),對IO接口的最低要求是:n每個像素有3bytes的數(shù)據(jù)輸入(RGB),3bytes輸出(YUV),輸入輸出基本對稱n1 pixel = 3次讀操作 + 3次寫操作n每幀圖像:n640*480*1 pixeln每秒種:nPAL制(625線*25):25*640*480*1 pixelnNTSC制(525線

溫馨提示

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

評論

0/150

提交評論