版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第2章 嵌入式系統(tǒng)設計 與開發(fā)技術第2章 嵌入式系統(tǒng)設計 教學目的:掌握嵌入式系統(tǒng)設計過程;掌握嵌入式系統(tǒng)開發(fā)流程;掌握嵌入式系統(tǒng)調試技術,深入理解JTAG、軟/硬件仿真等;通過本章學習,能夠完成嵌入式系統(tǒng)的分析與設計。安排學時:6學時。教學目的:掌握嵌入式系統(tǒng)設計過程;主要內(nèi)容:2.1 概述2.2 嵌入式系統(tǒng)總體結構2.3 嵌入式系統(tǒng)的設計方法2.4 嵌入式系統(tǒng)開發(fā)過程2.5 嵌入式系統(tǒng)的調試技術2.6 嵌入式系統(tǒng)設計的新發(fā)展及其挑戰(zhàn) 2.7 小結主要內(nèi)容:2.1 概述2.1 概述先講解嵌入式系統(tǒng)總體結構;再分析嵌入式系統(tǒng)設計方法;系統(tǒng)地介紹嵌入式系統(tǒng)設計方法,采用軟硬件協(xié)同技術,完成和進行
2、嵌入式系統(tǒng)設計;最后從嵌入式系統(tǒng)的產(chǎn)品開發(fā)過程的4個階段所需要做的工作等方面來討論嵌入式系統(tǒng)開發(fā)過程的一般知識,以及嵌入式系統(tǒng)開發(fā)過程中的系統(tǒng)調試方法。讀者通過本章的學習,可以掌握作為一個項目的設計師和具體開發(fā)人員所需要的知識,熟悉在各個階段需要做的具體工作,以保證項目按部就班地執(zhí)行和完成。 2.1 概述先講解嵌入式系統(tǒng)總體結構;再分析嵌入式系統(tǒng)設計2.2 嵌入式系統(tǒng)總體結構2.2.1 硬件層2.2.2 中間層2.2.3 軟件層2.2.4 功能層2.2 嵌入式系統(tǒng)總體結構2.2.1 硬件層嵌入式系統(tǒng)開發(fā)過程課件2.3 嵌入式系統(tǒng)的設計方法2.3.1 嵌入式系統(tǒng)設計流程2.3.2 嵌入式系統(tǒng)的一
3、般設計方法2.3.3 嵌入式系統(tǒng)的軟硬件協(xié)同設計技術2.3 嵌入式系統(tǒng)的設計方法2.3.1 嵌入式系統(tǒng)設計流2.3.1 嵌入式系統(tǒng)設計流程2.3.1 嵌入式系統(tǒng)設計流程2.3.2 嵌入式系統(tǒng)的一般設計方法圖23 單片機系統(tǒng)的開發(fā)流程2.3.2 嵌入式系統(tǒng)的一般設計方法圖23 單片機系統(tǒng)的圖24 嵌入式系統(tǒng)的開發(fā)流程圖24 嵌入式系統(tǒng)的開發(fā)流程2.3.3 嵌入式系統(tǒng)的軟硬件協(xié)同設計技術2.3.3 嵌入式系統(tǒng)的軟硬件協(xié)同設計技術嵌入式系統(tǒng)開發(fā)過程課件2.4 嵌入式系統(tǒng)開發(fā)過程2.4.1 需求分析階段2.4.2 詳細設計階段 2.4.3 實現(xiàn)階段 2.4.4 測試階段 2.4 嵌入式系統(tǒng)開發(fā)過程2.
4、4.1 需求分析階段需求分析系統(tǒng)測試系統(tǒng)實現(xiàn)詳細設計概要設計詳細設計嵌入式產(chǎn)品開發(fā)過程需求分析系統(tǒng)測試系統(tǒng)實現(xiàn)詳細設計概要設計嵌入式產(chǎn)品開發(fā)過程2.4.1 需求分析階段2.4.1.1 分析用戶的需求2.4.1.2 確定硬件軟件2.4.1.3 檢查需求分析的結果2.4.1.4 確定項目的約束條件2.4.1.5 概要設計2.4.1 需求分析階段2.4.1.1 分析用戶的需求2.4.1.1 分析用戶的需求1、分析用戶對產(chǎn)品的需求2、確認需求3、羅列用戶的需求4、設計簡單的需求表格5、需求的內(nèi)部一致性2.4.1.1 分析用戶的需求1、分析用戶對產(chǎn)品的需求1、分析用戶對產(chǎn)品的需求用戶:一般用戶、公司內(nèi)部
5、的市場部門等需求指標:功能價格系統(tǒng)的尺寸和重量功耗其他。1、分析用戶對產(chǎn)品的需求用戶:一般用戶、公司內(nèi)部的市場部門等2、確認需求用戶的表達方式 。系統(tǒng)設計者的表達方式 。交互的一致性 。2、確認需求用戶的表達方式3、羅列用戶的需求1/4(1)系統(tǒng)用于什么任務?(2)系統(tǒng)從用戶或其他源接收什么輸入?(3)系統(tǒng)從用戶或其他源輸出什么?(4)用戶想要如何同系統(tǒng)打交道?(5)系統(tǒng)的重量和體積如何?3、羅列用戶的需求1/4(1)系統(tǒng)用于什么任務?3、羅列用戶的需求2/4(6)系統(tǒng)連接何種外設?(7)系統(tǒng)是否需要運行某些現(xiàn)存的軟件?(8)系統(tǒng)處理哪種類型的數(shù)據(jù)?(9)系統(tǒng)是否要與別的系統(tǒng)通訊?(10)系統(tǒng)
6、是單機還是網(wǎng)絡系統(tǒng)?3、羅列用戶的需求2/4(6)系統(tǒng)連接何種外設?3、羅列用戶的需求3/4(11)系統(tǒng)的響應時間是多少?(12)需要什么安全措施?(13)系統(tǒng)在什么樣的環(huán)境下運行?(14)外部存儲媒介和內(nèi)存需要多大?(15)系統(tǒng)的可拆裝性,可靠性和牢固性的期望值是什么?3、羅列用戶的需求3/4(11)系統(tǒng)的響應時間是多少?3、羅列用戶的需求4/4(16)如何給系統(tǒng)供電?(17)系統(tǒng)如何向用戶通報故障?(18)是否需要任何手動或機械代用裝置?(19)系統(tǒng)是否將具有遠程診斷或更正問題的功能?(20)其他問題3、羅列用戶的需求4/4(16)如何給系統(tǒng)供電?4、簡單的需求表格名稱目的輸入輸出功能性能
7、生產(chǎn)成本功耗物理尺寸和重量4、簡單的需求表格名稱目的輸入輸出功能性能生產(chǎn)成本功耗物理尺5、需求的內(nèi)部一致性(注)在寫完需求以后,對它們的內(nèi)部一致性進行檢查:是否忘記了給某個功能指定輸入或輸出?是否考慮了系統(tǒng)運行的所有方式?是否有一些不切實際的要求?系統(tǒng)是否可以實現(xiàn)?5、需求的內(nèi)部一致性(注)在寫完需求以后,對它們的內(nèi)部一致性2.4.1.2 確定硬件軟件1、處理器選型2、總線的吞吐量3、操作系統(tǒng)4、編程語言5、第三方軟件或庫函數(shù)6、第三方的硬件:開發(fā)板、評估板、OEM板7、其他。2.4.1.2 確定硬件軟件1、處理器選型2.4.1.3 對需求的結果進行檢查原因需求分析階段可能會發(fā)生錯誤-走彎路目
8、的資料的全面性、工作的細致性方法和內(nèi)容干擾的信息(多余)漏掉的信息(缺少)超前的信息(一些需要在設計階段才提出的信息)矛盾(相互制約)模棱兩可無法實現(xiàn)2.4.1.3 對需求的結果進行檢查原因2.4.1.4 確定項目的約束條件約束條件:屬于項目實施過程中的不利因素,指的是項目實施過程中限制項目按時圓滿完成的內(nèi)部和外部因素。約束條件 是否要滿足項目的階段性或竣工的工期限制?項目的部分或全體是否限制在一個固定的預算內(nèi)?分派到該項目的最大人數(shù)是多少?每個人員每周在此項目上能工作多少小時?員工的技術知識和經(jīng)驗是否足夠?2.4.1.4 確定項目的約束條件約束條件:屬于項目實施過程2.4.1.4 確定項目的
9、約束條件約束條件 2/2員工對要解決的問題是否熟悉?員工和關鍵的人才地處何處?你是否必須要采用某種硬件?你是否必須要采用某種工具軟件?2.4.1.4 確定項目的約束條件約束條件 2/2約束(限制)條件的考慮(注)約束隨時都可能出現(xiàn)約束影響所選擇的方法約束會滋長新的約束太多的約束將使進行中的項目成為不可能約束(限制)條件的考慮(注)約束隨時都可能出現(xiàn)2.4.1.5 概要設計1、概要設計-初步設計2、硬件設計功能設計結構化設計物理設計3、軟件設計功能分析與設計軟件模塊劃分模塊開發(fā)與實現(xiàn)2.4.1.5 概要設計1、概要設計-初步設計2.4.2 詳細設計階段審查需求分析資料體系結構/整體設計硬件與軟件
10、劃分硬件與軟件的設計次序硬件設計軟件設計檢查設計2.4.2 詳細設計階段審查需求分析資料2.4.2.1詳細設計階段-審查分析資料審查分析資料(來自需求分析階段)。審查約束條件(來自需求分析階段)。2.4.2.1詳細設計階段-審查分析資料審查分析資料(來自需2.4.2.2詳細設計階段-體系結構設計描述系統(tǒng)的功能如何實現(xiàn)是體系結構設計的目的 。決定因素系統(tǒng)是硬實時系統(tǒng)還是軟實時系統(tǒng)操作系統(tǒng)是否需要嵌入物理系統(tǒng)的成本、尺寸和耗電量是否是產(chǎn)品成功的關鍵因素選擇處理器和相關硬件其他2.4.2.2詳細設計階段-體系結構設計描述系統(tǒng)的功能如何實2.4.2.3詳細設計階段-硬件與軟件劃分決定哪些用硬件實現(xiàn),哪
11、些用軟件實現(xiàn)?例如:浮點運算網(wǎng)絡通信控制器實現(xiàn)的功能軟調制解調器/硬調制解調器軟件壓縮解壓/硬件壓縮解壓圖像2.4.2.3詳細設計階段-硬件與軟件劃分決定哪些用硬件實現(xiàn)2.4.2.4詳細設計階段-硬件與軟件設計次序方案先設計硬件先設計軟件軟硬件同時設計根據(jù)項目的情況自由選擇2.4.2.4詳細設計階段-硬件與軟件設計次序方案2.4.2.5詳細設計階段-硬件設計設計硬件子系統(tǒng):top-down方法分成模塊設計框圖例:CPU子系統(tǒng)、存儲器子系統(tǒng)等定義硬件接口I/O端口硬件寄存器共享內(nèi)存硬件中斷存儲器空間分配處理器的運行速度2.4.2.5詳細設計階段-硬件設計設計硬件子系統(tǒng):top-2.4.2.6詳細
12、設計階段-軟件設計設計軟件子系統(tǒng)總體設計、模塊設計定義軟件接口模塊接口、函數(shù)接口2.4.2.6詳細設計階段-軟件設計設計軟件子系統(tǒng)2.4.2.7詳細設計階段-檢查設計小項目自己審查設計文檔中等項目拿給同事朋友并向他們解釋你的設計 大型項目-審查會設計者應作一個更正式的報告。由于這是一個設計審查會,召集一群人,主要由工程師組成,并盡可能包括一些對項目有不同看法角度的成員,如做市場的人員、最終用戶 2.4.2.7詳細設計階段-檢查設計小項目2.4.2.8詳細設計階段-設計自動化系統(tǒng)設計階段很重要,系統(tǒng)設計與開發(fā)時間之比1:2系統(tǒng)的設計需要軟件、硬件的綜合知識容易出錯-使用自動化工具2.4.2.8詳
13、細設計階段-設計自動化系統(tǒng)設計階段很重要,系2.4.2.10詳細設計階段-硬件平臺簡介要求最好-多種評估方法多個方案,選擇最優(yōu)嵌入式系統(tǒng)硬件平臺多樣性,例如:有ARM系列(目前有幾十種基于ARM內(nèi)核的處理器被使用)、MotorolaPowerPC系列、Coldfire系列、M.core系列等、Dragon Ball系列,NEC公司的VR系列,Hitachi公司SH3,SH4系列等等 其它2.4.2.10詳細設計階段-硬件平臺簡介要求最好-多種評估2.4.3 實現(xiàn)階段1、選擇開發(fā)平臺。硬件平臺、嵌入式操作系統(tǒng)、開發(fā)語言、開發(fā)工具2、軟件開發(fā)過程。3、開發(fā)階段的文檔。2.4.3 實現(xiàn)階段1、選擇開
14、發(fā)平臺。2.4.3.1 選擇開發(fā)平臺 1、科研開發(fā)階段 選擇硬件平臺的考慮1/2處理器的處理速度 項目的開發(fā)人員對選擇的處理器是否熟悉處理器上的I/O功能是否滿足系統(tǒng)的要求處理器的軟件支持工具處理器的調試支持處理器制造商的支持可信度如何2.4.3.1 選擇開發(fā)平臺 1、科研開發(fā)階段 1、科研開發(fā)階段 選擇硬件部件的考慮2/2產(chǎn)品的需求量例如:PC104和定制開發(fā)目標市場的機會如何 購買和自制軟件對硬件的依賴程度評估板的使用1、科研開發(fā)階段 選2、科研開發(fā)階段 選擇操作系統(tǒng)嵌入式操作系統(tǒng)的功能,支持部件配套開發(fā)工具的支持操作系統(tǒng)的移植難度操作系統(tǒng)是否包括特殊的調試支持操作系統(tǒng)的內(nèi)存要求如何項目程
15、序員是否熟悉此操作系統(tǒng),主要指此操作系統(tǒng)通常提供的API操作系統(tǒng)是否包括所有需要的部件操作系統(tǒng)是否有目標硬件的驅動程序操作系統(tǒng)是否有可伸縮性2、科研開發(fā)階段 3、科研開發(fā)階段 選擇編程語言考慮軟件開發(fā)人員最熟練的語言是哪種語言使用的廣泛程度語言的性能如何例如:C語言、匯編語言、Java,C+等3、科研開發(fā)階段 2.4.3.2科研開發(fā)階段-軟件開發(fā)嵌入式系統(tǒng)的軟件開發(fā)過程準備交叉開發(fā)環(huán)境編譯和連接重定位和下載調試在主機系統(tǒng)上驗證軟件在目標系統(tǒng)上驗證軟件代碼優(yōu)化-續(xù)2.4.3.2科研開發(fā)階段-軟件開發(fā)嵌入式系統(tǒng)的軟件開發(fā)過程代碼優(yōu)化1/2清除程序中的無用代碼清除為調試所引入的代碼 避免使用大型的庫
16、例程 避免使用遞歸式例程,因為它們需要很大的堆棧避免浮點操作 代碼優(yōu)化1/2代碼優(yōu)化2/2優(yōu)化算法乘法可以通過左移操作來完成 將訪問最頻繁的變量聲明為寄存器變量或自動變量 只要可能,盡量使用無符號數(shù)據(jù)類型 如果某個函數(shù)或例程消耗大量的計算時間,那么就將該函數(shù)或例程用匯編語言來編碼 充分利用編譯器提供的優(yōu)化代碼優(yōu)化2/2優(yōu)化算法乘法可以通過左移操作來完成 2.4.3.3科研開發(fā)階段文檔技術文件目錄技術任務書技術方案報告產(chǎn)品標準(草案)技術條件(進廠)可靠性技術設計技術設計說明書形式試驗報告試制報告2.4.3.3科研開發(fā)階段文檔技術文件目錄文檔1-技術文件目錄描述了所有的技術文件清單文檔1-技術文
17、件目錄描述了所有的技術文件清單文檔2-技術任務書任務來源、設計依據(jù)產(chǎn)品用途及使用范圍主要工作原理及硬軟件分工基本參數(shù)、主要功能、技術指標總部局、主要部件概述標準化綜合要求提出國內(nèi)外同類產(chǎn)品水平比較關鍵技術預測開發(fā)周期估算 文檔2-技術任務書任務來源、設計依據(jù)文檔3-技術方案報告描述了科研開發(fā)的技術方案與實際的項目有關文檔3-技術方案報告描述了科研開發(fā)的技術方案文檔4-產(chǎn)品標準產(chǎn)品范圍引用標準基本參數(shù)及形式技術要求(功能、性能、影響量)試驗方法(采用國際標準)檢驗規(guī)則 文檔4-產(chǎn)品標準產(chǎn)品范圍文檔5-技術條件(進廠)使用范圍技術要求試驗方法 文檔5-技術條件(進廠)使用范圍文檔6-技術設計說明書
18、-硬件總體方案產(chǎn)品結構產(chǎn)品性能電路工作原理分析、技巧、結構工藝合理性主要故障鑒別方法文檔6-技術設計說明書-硬件總體方案文檔6-技術設計說明書-軟件總體方案及體系結構任務調度原理或總控流程說明各種功能的實現(xiàn)方法、處理流程或工作原理數(shù)據(jù)庫說明、邏輯結構數(shù)據(jù)格式說明內(nèi)存分配方案各部分接口設計通用子程序和標準子程序設計 文檔6-技術設計說明書-軟件總體方案及體系結構文檔7-形式試驗報告文檔7-形式試驗報告文檔8-試制總結1技術水平國際、國內(nèi)、先進?2試制過程中出現(xiàn)的問題的解決措施3對沒有達到技術任務書要求進行說明 文檔8-試制總結1技術水平2.4.4 測試階段1、測試的原因2、何時測試3、測試內(nèi)容4
19、、何時停止測試5、選擇測試用例6、實時失敗模式7、評估測試的覆蓋率8、性能測試9、維護和測試2.4.4 測試階段1、測試的原因2.4.4.1測試階段-測試的原因開發(fā)過程中已經(jīng)開始測試了調試原因:在軟件中找到錯誤(在這方面測試是惟一的方法)減少用戶與公司的風險節(jié)約開發(fā)與維護成本 提高系統(tǒng)的性能2.4.4.1測試階段-測試的原因開發(fā)過程中已經(jīng)開始測試了2.4.4.2測試階段-何時測試分布于開發(fā)的每個階段debug單元測試-小模塊測試/調試回歸測試只測試一遍是不夠的。每次修改后都應當重新測試以確認這些修改會不會無意中影響一些看似與之無關的行為,這被稱作回歸測試。使用測試腳本2.4.4.2測試階段-何
20、時測試分布于開發(fā)的每個階段de2.4.4.3測試階段-測試內(nèi)容/方法功能測試-黑盒測試覆蓋測試-白盒測試灰盒測試2.4.4.3測試階段-測試內(nèi)容/方法功能測試-黑盒測試黑盒測試被測對象測試輸入測試輸出理想測試情況:遍歷所有輸入實際測試情況:簡單枚舉輸入黑盒測試被測對象測試輸入測試輸出理想測試情況:遍歷所有輸入白盒測試-1/2if (condition1) action1( ); action2( );else action3( );白盒測試-1/2if (condition1)白盒測試-2/2switch(condition) case condition1: action1( ); brea
21、k;case contion2:action2( );break;default:action3( );break;白盒測試-2/2switch(condition)白盒測試的要求遍歷所有的程序分支人為地給定分支條件特別地,對于正常情況下程序運行不可達的代碼也需要遍歷白盒測試的要求遍歷所有的程序分支2.4.4.4測試階段-何時停止測試停機定理:如果要找出所有的錯誤,那么測試是不可能停止的,必須永遠進行下去。 不可能證明軟件是無錯的,只能證明有錯最常見的停止標準是:當老板發(fā)話時當新一輪測試周期找到比某預計值更少的新錯誤時在沒有發(fā)現(xiàn)新錯誤的情況下,已經(jīng)達到某個確定的覆蓋率限度時2.4.4.4測試階
22、段-何時停止測試停機定理:如果要找出所有2.4.4.5 選擇測試實例1功能測試2覆蓋測試3灰盒測試2.4.4.5 選擇測試實例1功能測試2.4.4.6 嵌入式系統(tǒng)的實時失敗模式不可預知的事件發(fā)生后,出現(xiàn)什么問題利用關鍵序列進行測試關于時間確定性的測試系統(tǒng)長期運行出現(xiàn)錯誤關于使用模擬測試平臺2.4.4.6 嵌入式系統(tǒng)的實時失敗模式不可預知的事件發(fā)生2.4.4.7 測試階段-評估測試的覆蓋率軟件插裝printf 方法直接寫內(nèi)存方法-系統(tǒng)沒有合適的顯示設備低干擾printf-普通printf效率低分支/循環(huán)語句的遍歷硬件插裝使用仿真存儲器邏輯分析儀軟件性能分析儀2.4.4.7 測試階段-評估測試的覆蓋率軟件插裝2.4.4.8 測試階段-性能測試函數(shù)的執(zhí)行時間不是確定和固定的如何測試性能函數(shù)的執(zhí)行時間決定因素函數(shù)開始執(zhí)行時,指令與數(shù)據(jù)在高速緩存中的內(nèi)容RTOS任務負載中斷或其他異常函數(shù)數(shù)據(jù)處理要求函數(shù)中的分支跳轉處理器對性能測試的支持(測試方法)一些處理器配置了性能測試機制,如計數(shù)器等2.4.4.8 測試階段-性能測試函數(shù)的執(zhí)行時間不是確定和固2.4.4.9 測試階段-維護和測試測試和維護已經(jīng)上市的產(chǎn)品。很多最嚴格的嵌入式系統(tǒng)測試人員并不是產(chǎn)品的原始設計人員,他們來自于軟件質保部門(SWQA,the Software Quality Assurance),或者是最終用戶。 2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版訴訟離婚與協(xié)議離婚婚姻家庭糾紛調解合同3篇
- 光伏發(fā)電站設計及要求六篇
- 廠房租賃合同書范本
- 新聞合作協(xié)議
- 廠房轉租合同書模板
- 2025-2030全球高強度螺栓連接副行業(yè)調研及趨勢分析報告
- 2025-2030全球萬瓦級光纖激光冷水機行業(yè)調研及趨勢分析報告
- 2025年全球及中國自動包裹處理系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球細胞核與細胞質分離試劑盒行業(yè)調研及趨勢分析報告
- 2025版換熱站運行維護與能源優(yōu)化合同范本3篇
- 股權架構完整
- 山東省泰安市2022年初中學業(yè)水平考試生物試題
- 注塑部質量控制標準全套
- 人教A版高中數(shù)學選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習題含答案解析
- 畢業(yè)設計(論文)-液體藥品灌裝機的設計與制造
- 銀行網(wǎng)點服務禮儀標準培訓課件
- 二年級下冊數(shù)學教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
- 銀行內(nèi)部舉報管理規(guī)定
- 石群邱關源電路(第1至7單元)白底課件
- 平面幾何強化訓練題集:初中分冊數(shù)學練習題
評論
0/150
提交評論