ch2 嵌入式系統(tǒng)的設計方法_第1頁
ch2 嵌入式系統(tǒng)的設計方法_第2頁
ch2 嵌入式系統(tǒng)的設計方法_第3頁
ch2 嵌入式系統(tǒng)的設計方法_第4頁
ch2 嵌入式系統(tǒng)的設計方法_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1

第二章嵌入式系統(tǒng)的設計方法嵌入式系統(tǒng)的基本設計過程良好的設計方法在嵌入式系統(tǒng)的開發(fā)過程中是必不可少的。首先,好的方法有助于規(guī)劃一個清晰的工作進度,避免遺漏重要的工作,例如性能的優(yōu)化和可靠性測試對于一個合格的嵌入式產品而言是不可或缺的。其次,采用有效的方法可以將整個復雜的開發(fā)過程分解成若干可以控制的步驟,通過一些先進的計算機輔助設計工具,按部就班、有條不紊地完成整個項目。最后,通過定義全面的設計過程,可以使整個團隊的各個成員更好地理解自身的工作,方便成員之間相互交流與協(xié)作。3

提綱嵌入式系統(tǒng)的開發(fā)流程傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法嵌入式系統(tǒng)的軟硬件協(xié)同設計嵌入式系統(tǒng)的測試技術4嵌入式系統(tǒng)開發(fā)的一般流程。主要包括系統(tǒng)需求分析(要求有嚴格規(guī)范的技術要求)、體系結構設計、軟硬件及機械系統(tǒng)設計、系統(tǒng)集成、系統(tǒng)測試,最終得到最終產品。嵌入式系統(tǒng)開發(fā)流程流程

嵌入式系統(tǒng)開發(fā)流程摩托羅拉T805GPS接收機藍牙無線接口2023/2/55作用從客戶那兒收集系統(tǒng)的非形式描述,確定設計任務和設計目標,并提煉出設計規(guī)格說明書,作為正式設計指導和驗收的標準。分類功能性需求接口設計:輸入輸出信號、操作方式非功能性需求性能成本功耗系統(tǒng)的尺寸和重量系統(tǒng)需求分析-1

需求分析-21.需求與規(guī)格說明通常,描述產品需求的文檔是由嵌入式系統(tǒng)的總體設計者從用戶的視角來寫的,由一系列的用戶需求組成。然后,對這些需求進行提煉,從中獲取一組一致性的需求,整理成正式的規(guī)格說明,這些規(guī)格說明里包含了進行系統(tǒng)體系結構設計所需要的足夠信息。需求分析-32.確認需求確認需求不僅要理解什么是用戶需要的,而且需要理解他們如何表達這些需求。精煉系統(tǒng)需求的方法是建立一個模型,這個模型可以使用已存數據來模擬功能,并且可以在個人電腦或工作站上運行。它應該讓用戶了解系統(tǒng)是如何使用的,以及用戶如何和它進行交互。通常,設備的非功能模型可以讓用戶了解系統(tǒng)的特性,比如系統(tǒng)的尺寸和重量。需求分析-43.簡單的需求表格對一個大系統(tǒng)進行需求分析是一項復雜而費時的工作,但是,取得相對少量的格式清晰、簡單的信息是理解系統(tǒng)需求的一個好的開始。項目說明名稱目的輸入輸出功能性能生產成本功耗物理尺寸和重量需求分析-54.需求的內部一致性在寫完需求分析以后,你應該對它們的內部一致性進行檢查:是否忘記了給某個功能指定輸入或輸出,是否考慮了系統(tǒng)運行的所有方式,是否把一些不切實際的要求放到了一個電池供電、低成本的機器中了等。規(guī)格說明規(guī)格說明規(guī)格說明起到客戶和生產者之間的合同的作用。因此,規(guī)格說明必須小心編寫,以便精確地反映客戶的需求,并且作為設計時必須明確遵循的要求。規(guī)格說明應該足夠明晰,以便別人可以驗證它是否符合系統(tǒng)需求,且是否完全滿足客戶的期望。描述規(guī)格說明的工具可采用統(tǒng)一建模語言(UML)。11描述系統(tǒng)如何實現所述的功能和非功能需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等。體系結構描述說明需要什么樣的構件一個好的體系結構是設計成功與否的關鍵。體系結構設計(1)體系結構設計規(guī)格說明中通常只描述系統(tǒng)應做什么,而不描述系統(tǒng)該怎么做。描述系統(tǒng)如何實現那些功能是體系結構的任務。體系結構是系統(tǒng)整體結構的一個計劃。它給出嵌入式系統(tǒng)的總體架構,從功能實現上對軟硬件進行劃分;在此基礎上,選定處理器和基本接口器件;根據系統(tǒng)的復雜程度確定是否使用操作系統(tǒng),以及選擇哪種操作系統(tǒng);此外,還需要選擇系統(tǒng)的開發(fā)環(huán)境。體系結構設計(2)1.硬件平臺的選擇(1)處理器的選擇設計者在選擇處理器時要考慮的主要因素有:處理性能技術指標功耗軟件支持工具是否內置調試工具供應商是否提供評估板

1、硬件平臺的選擇(2)硬件選擇的其它因素首先,需要考慮生產規(guī)模。其次,需要考慮開發(fā)的市場目標。另外,軟件對硬件的依賴性。最后,只要可能,盡量選擇使用普通的硬件。體系結構設計2.軟件平臺的選擇嵌入式軟件的開發(fā)流程,主要涉及代碼編程、交叉編譯、交叉連接、下載到目標板和調試等幾個步驟,因此軟件平臺的選擇涉及以下3個方面:操作系統(tǒng)編程語言集成開發(fā)環(huán)境2.軟件平臺的選擇(1)操作系統(tǒng)的選擇操作系統(tǒng)的選擇至關重要。一般而言,在選擇嵌入式操作系統(tǒng)時,可以遵循以下原則:市場進入時間可移植性可利用資源系統(tǒng)定制能力成本中文內核支持

2.軟件平臺的選擇(2)集成開發(fā)環(huán)境集成開發(fā)環(huán)境IDE應考慮以下因素:系統(tǒng)調試器的功能支持庫函數編譯器開發(fā)商是否持續(xù)升級編譯器連接程序是否支持所有的文件格式和符號格式2.軟件平臺的選擇(3)硬件調試工具的選擇常用的硬件調試工具有以下幾種:實時在線仿真器(ICE,In-CircuitEmulator)

邏輯分析儀ROM仿真器在線調試OCD或在線仿真OCE軟硬件構件設計-1設計硬件構件和軟件構件構件通常包括硬件和軟件兩部分。構件設計使得構件與體系結構和規(guī)格說明相一致。一些構件是現成的,可以直接使用。在大多數情況下,我們必須自己設計一些構件,即使使用標準集成電路,也必須設計連接它們的印刷線路板。2023/2/520軟硬件構件設計-2作用基于體系結構,對系統(tǒng)的軟件、硬件進行詳細設計軟件硬件并行設計對于使用現成的硬件模塊,大部分工作集中在軟件設計上(硬件標準化、模塊化、可重用)如果設計硬件模塊,大部分工作集中在硬件設計上設計技術 模塊化設計技術、面向對象設計技術、組件設計技術21把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進行調試,發(fā)現并改進單元設計過程中的錯誤。系統(tǒng)調試與集成系統(tǒng)調試與集成只有建立構件后,才能將它們合并得到一個可以運行的系統(tǒng)。當然在系統(tǒng)集成階段并不是僅僅把所有的構件連接在一起就行,在系統(tǒng)集成中通常都會發(fā)現以前設計上的錯誤。在系統(tǒng)集成時按階段構架系統(tǒng),并每次只對一部分模塊進行排錯,能夠更容易地發(fā)現并定位錯誤。2023/2/523系統(tǒng)測試作用對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)格說明書中給定的功能要求嚴格而全面的測試是產品質量保證的堅實基礎分類白盒測試黒盒測試灰盒測試第三方測試2023年2月5日24測試與調試的關系測試是檢查軟件發(fā)現問題,調試是分析軟件解決問題測試貫穿于整個軟件生存期,調試主要是在軟件開發(fā)過程中調試具有隨意性、不明確性,而測試是明確的、可重復的測試是全方位的,而調試是代碼級的測試與調試不能相互替代,但相互支持,相輔相成測試與調試的關系25在實際的系統(tǒng)開發(fā)過程中,有一些重要因素是必須要考慮的,包括:功耗;性能(速度與精度達到要求);成本;用戶界面。另外還必須考慮在系統(tǒng)設計的每一步驟中所要完成的任務,在設計過程的每一步驟中再添加以下細節(jié):必須在設計的每一個階段對設計進行分析,以決定如何才能滿足規(guī)格說明要求。必須不斷地細化設計,添加細節(jié)。必須不斷地核實設計,保證它依然滿足所有的系統(tǒng)目標,如成本、速度、精度等。嵌入式系統(tǒng)開發(fā)過程中考慮的重要因素26

提綱嵌入式系統(tǒng)的開發(fā)流程傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法嵌入式系統(tǒng)的軟硬件協(xié)同設計嵌入式系統(tǒng)的測試技術2023/2/5272.2嵌入式系統(tǒng)的傳統(tǒng)設計方法2023/2/5282.2嵌入式系統(tǒng)的傳統(tǒng)設計方法(續(xù))特點軟硬件設計獨立進行優(yōu)點簡單易行、分工明確缺點排錯困難出現問題互相推諉解決方案無法進行全系統(tǒng)優(yōu)化設計(降低成本)在滿足相關性能指標的情況下,成本最低最優(yōu)軟硬件劃分29

提綱嵌入式系統(tǒng)的開發(fā)流程傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法嵌入式系統(tǒng)的軟硬件協(xié)同設計嵌入式系統(tǒng)的測試技術2023/2/530嵌入式系統(tǒng)的系統(tǒng)級設計方法1軟硬件協(xié)同設計2設計重用技術系統(tǒng)級設計是一種高層次的設計方法,設計人員針對設計目標進行系統(tǒng)功能描述,定義系統(tǒng)的行為特性,進行軟硬件劃分,生成系統(tǒng)級的規(guī)格描述隨著計算機技術和集成電路制造水平的發(fā)展,采用統(tǒng)一的機制描述嵌入式系統(tǒng)的軟硬件子系統(tǒng)已經成為可能,系統(tǒng)級設計方法也隨之誕生2023/2/531

軟硬件協(xié)同設計2023/2/532軟硬件協(xié)同設計主要設計步驟需求分析軟硬件協(xié)同設計(Co-design)軟硬件實現軟硬件協(xié)同測試(Co-test)軟硬件協(xié)同驗證(Co-verification)特點——軟硬件統(tǒng)一描述有限狀態(tài)機(FSM)統(tǒng)一化的規(guī)格語言——SystemC、新的統(tǒng)一描述語言基于圖形的表示工具——UML2023/2/533軟硬件協(xié)同設計優(yōu)點軟硬件統(tǒng)一描述有利于優(yōu)化設計重點關注算法,而非實現缺點不成熟,缺乏有效的統(tǒng)一描述工具現有工具實現效率不高有待于高效率的綜合工具2023/2/534設計重用技術基于IP核的模塊級重用IP核的設計和IP核的使用IP核的設計目標是實現即插即用IP核的設計除了需要考慮具體功能之外,還要考慮可重用、可測性及測試的可重用性基于平臺的系統(tǒng)級重用基于IP核設計重用技術的擴展,強調系統(tǒng)級重用要求提供面向特定應用領域的設計模板,設計者通過對設計模板進行適當的修改來構造符合性能要求的SoC系統(tǒng)35

提綱嵌入式系統(tǒng)的開發(fā)流程傳統(tǒng)的嵌入式系統(tǒng)開發(fā)方法嵌入式系統(tǒng)的軟硬件協(xié)同設計嵌入式系統(tǒng)的測試技術36嵌入式軟件測試方法(1)軟件測試7階段

單元或模塊測試、集成測試、外部功能測試、回歸測試、系統(tǒng)測試、驗收測試、安裝測試嵌入式軟件的測試主要分:模塊測試、集成測試、系統(tǒng)測試、硬件/軟件集成測試硬件/軟件集成測試,目的是驗證嵌入式軟件與其所配套的硬件設備是否能正確地交互。2023年2月5日37白盒黑盒相輔成白盒測試與黑盒測試是軟件測試最常用、最常規(guī)的兩種技術白盒測試把測試對象看作一個透明的盒子,測試人員從其邏輯結構入手,設計和選擇測試用例,對路徑、控制結構、數據流等進行測試通過插裝檢查程序的狀態(tài),確定是否與預期的狀態(tài)一致側重于代碼運行的過程黑盒測試把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構,只依據其需求定義,檢查程序運行的結果多用于功能測試和性能分析在程序的接口上進行嵌入式軟件測試方法(2)2023年2月5日38軟件測試技術——白盒測試什么是白盒測試若被測程序與特定的結構相聯(lián)系,我們可以針對結構設計測試,以確保內部的“所有齒輪相吻合”,即軟件的內部過程是合理的,是遵照規(guī)定執(zhí)行的白盒測試又稱玻璃盒測試。把測試對象看作一個透明的盒子,充分利用其邏輯結構和有關信息,設計和選擇測試用例。白盒測試又稱為結構測試或邏輯驅動測試白盒測試類似于西醫(yī)看病,通過X光、CT掃描等手段白盒測試主要用于結構測試覆蓋測試靜態(tài)分析也可以算作白盒測試的一種手段39黑盒測試的概念若被測程序與特定的功能相聯(lián)系,我們可以針對功能設計測試,以證實各功能完全可執(zhí)行,同時在功能中尋找錯誤把測試對象看做一個黑盒子,完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規(guī)格說明書,檢查程序的功能是否正確。黑盒測試又叫做功能測試或數據驅動測試。黑盒測試類似于中醫(yī):使用望、聞、問、切黑盒測試的目的是否有錯誤的或遺漏了的功能?在接口上,輸入能否正確地接受?能否輸出正確的結果?是否有數據結構錯誤或外部信息訪問錯誤?是否考慮了軟件的出錯情況?軟件測試技術——黑盒測試2023年2月5日40嵌入式軟件測試方法(3)交叉測試(Host/Target測試)與目標環(huán)境無關的部分在PC機上完成充分利用高級語言的可移植性借鑒常規(guī)的軟件測試方法與模擬測試不同與硬件密切相關的部分在Target上完成需要調試環(huán)境支持測試工具需要支持目標環(huán)境最后在目標環(huán)境中確認主機平臺嵌入式系統(tǒng)調試環(huán)境2023年2月5日41嵌入式軟件測試方法(4)交叉測試的特點將大部分工作轉移到PC平臺上,在硬件環(huán)境未建好或調試工具缺乏時就可以開展適用于高級語言,如C,C++操作方便,測試成本較低。實時性受調試環(huán)境的制約目標環(huán)境中測試時要占用一定的目標資源注意目標環(huán)境和主機環(huán)境的差異:目標編譯器的bug目標碼的驗證2023年2月5日42如何開展交叉測試(Host/Target測試)選用帶有目標支持包(TargetPackage)的軟件測試工具確定哪些模塊與硬件無關,哪些與硬件相關配置相應的調試環(huán)境和目標環(huán)境分別進行Host和Target測試Host:源代碼+測試用例->編譯連接->執(zhí)行->測試結果Target:源代碼+測試用例+目標包->編譯連接->下載->執(zhí)行->反饋測試結果交叉測試的嵌入式調試環(huán)境SimulatorEmulatorBDM/JTAGEmulator嵌入式軟件測試方法(5)2023年2月5日43Compilation/LinkEditionTargetPackageHostSimulatorEmulatorSpecificTargetExecution報告分析TestReports被測代碼測試用例44嵌入式軟件測試工具(1)內存分析工具內存分析工具用來處理在動態(tài)內存分配中存在的缺陷。基于軟件的內存分析工具基于硬件的內存分析工具性能分析工具性能分析工具提供數據說明執(zhí)行時間如何消耗、何時消耗以及每個例程所用的時間。與調試工具聯(lián)合引導開發(fā)人員查看需要優(yōu)化的特定函數。引導開發(fā)人員發(fā)現在系統(tǒng)調用中存在的錯誤以及程序結構上的缺陷。45嵌入式軟件測試工具(2)GUI測試工具可作為腳本工具在開發(fā)環(huán)境中運行測試用例,對操作的記錄和回放、抓住屏幕顯示供以后分析和比較、設置和管理測試過程。覆蓋分析工具白盒測試時可使用覆蓋分析工具追蹤哪些代碼被執(zhí)行過。覆蓋分析工具一般提供有關功能覆蓋、分支覆蓋、條件覆蓋的信息。對于嵌入式軟件,代碼覆蓋分析工具可能侵入代碼的執(zhí)行,影響實時代碼的運行過程。46選好工具工欲善其事,必先利其器通常工具是必需的,但不是萬能的根據測試需要和工具的特長進行選擇使用測試工具帶來的好處客觀,準確,無感情色彩可長時間工作,不會疲勞高效、權威減輕人的工作量,但不能完全代替人嵌入式軟件測試工具(3)2023年2月5日47單元集成兩步走 單元測試和集成測試是軟件測試的兩個階段單元測試將被測軟件分解為單元,逐個測試單元測試需要從程序的內部結構和功能出發(fā)設計測試用例。多個模塊可以平行地獨立進行單元測試可用白盒、黑盒等方法集成測試在單元測試的基礎上,將所有模塊按照設計要求組裝起來測試主要測試內容接口間參數傳遞集成的功能實現模塊間的影響嵌入式軟件測試策略(1)2023年2月5日48先靜后動,從小到大,由黑到白先靜態(tài),后動態(tài)從代碼規(guī)則檢查做起測試開展得越早,付出的代價就越小靜態(tài)分析簡單、方便,成本低、見效快靜態(tài)分析為動態(tài)測試打下良好基礎大大降低了測試的成本先單元,后集成單元測試是集成測試的基礎單元測試得越好,集成測試的工作量就越小先黑盒后白盒先驗證軟件功能是否滿足需求后驗證程序覆蓋率,補充測試嵌入式軟件測試策略(2)2023/2/5492.5實例分析——GPS導航儀1需求分析用戶要求2規(guī)格說明做什么3體系結構如何做2023/2/550需求分析(用戶)功能針對高速公路上的開車用戶和類似用戶系統(tǒng)應展示主要道路和其它陸地標志用戶界面LCD:400*600控制按鈕不多于三個按下按鈕時屏幕彈出菜單,供用戶選擇性能地圖應平滑滾動,系統(tǒng)在15秒鐘內顯示當前地圖2023/2/551

需求分析(用戶)成本單個設備零售價不高于2000元功耗4節(jié)5號電池供電,可持續(xù)8小時物理尺寸和重量設備應該可以非常舒適地放在手上2023/2/552需求分析(表格化)名稱GPS導航儀目的為開車者提供用戶級移動地圖和定位信息輸入三個控制按鈕輸出400*600LCD功能顯示當前的位置信息和地圖性能屏幕刷新時間0.25s成本1000元功耗100mW物理尺寸與重量不大于8cm*20cm,350g2023/2/5

溫馨提示

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

評論

0/150

提交評論