kA嵌入式統(tǒng)及應用_第1頁
kA嵌入式統(tǒng)及應用_第2頁
kA嵌入式統(tǒng)及應用_第3頁
kA嵌入式統(tǒng)及應用_第4頁
kA嵌入式統(tǒng)及應用_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式系統(tǒng)及應用嵌入式系統(tǒng)及應用電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心第九章第九章嵌入式系統(tǒng)軟件的開發(fā)嵌入式系統(tǒng)軟件的開發(fā)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心主要內(nèi)容主要內(nèi)容 嵌入式軟件開發(fā)工具嵌入式軟件開發(fā)工具 嵌入式系統(tǒng)開發(fā)模式嵌入式系統(tǒng)開發(fā)模式 實時軟件分析設計方法實時軟件分析設計方法電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心第一節(jié)第一節(jié)嵌入式軟件開發(fā)工具嵌入式軟件開發(fā)工具嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)工具的分類嵌入式軟件的交叉開發(fā)環(huán)境嵌入式軟件的交叉開發(fā)環(huán)

2、境嵌入式軟件實現(xiàn)階段的開發(fā)過程嵌入式軟件實現(xiàn)階段的開發(fā)過程嵌入式軟件開發(fā)工具的發(fā)展趨勢嵌入式軟件開發(fā)工具的發(fā)展趨勢電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件開發(fā)工具嵌入式軟件開發(fā)工具“工欲善其事,必先利其工欲善其事,必先利其器器” 嵌入式軟件開發(fā)工具的嵌入式軟件開發(fā)工具的集成度集成度和和可用性可用性將直接關將直接關系到嵌入式系統(tǒng)的開發(fā)效系到嵌入式系統(tǒng)的開發(fā)效率。率。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)階段嵌入式軟件開發(fā)階段 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中

3、心嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)工具的分類根據(jù)不同的階段,嵌入式軟件開發(fā)工具根據(jù)不同的階段,嵌入式軟件開發(fā)工具可以分為:可以分為:需求分析工具(requirement analysis tools)軟件設計工具(software design tools)編碼、調(diào)試工具(coding tools)測試工具(testing tools)配置管理工具、維護工具等電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心主要嵌入式軟件開發(fā)工具產(chǎn)品主要嵌入式軟件開發(fā)工具產(chǎn)品requirementanalysissoftwaredesigncodingtestreleasephasestauo

4、bjectgeoderational rose realtimerhapsodytornadoprism+spectrawin ce platformbuildercodewarriorxray debuggerlogiscopecodetestlambdatool電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)工具的分類 嵌入式軟件的開發(fā)可以分為以下幾種嵌入式軟件的開發(fā)可以分為以下幾種 :編寫簡單的板級測試軟件,主要是輔助硬件的調(diào)試 開發(fā)基本的驅(qū)動程序 開發(fā)特定嵌入式操作系統(tǒng)的驅(qū)動程序(板級支持包) 開發(fā)嵌入式系統(tǒng)軟件,如:嵌入式操作系統(tǒng)等

5、開發(fā)應用軟件電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件開發(fā)工具的分類嵌入式軟件開發(fā)工具的分類 從以上嵌入式軟件開發(fā)分類來看,嵌入式從以上嵌入式軟件開發(fā)分類來看,嵌入式軟件開發(fā)工具可以分為:軟件開發(fā)工具可以分為:與嵌入式os相關的開發(fā)工具,用于開發(fā): 基于嵌入式os的應用 部分驅(qū)動程序等與嵌入式os無關的開發(fā)工具,用于開發(fā): 基本的驅(qū)動程序 輔助硬件調(diào)試程序 系統(tǒng)軟件等電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的交叉開發(fā)環(huán)境嵌入式軟件的交叉開發(fā)環(huán)境 交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境是指用于嵌入式軟件開發(fā)的是指用于嵌入式軟件開發(fā)的所有工具軟件的集合,

6、一般包括:所有工具軟件的集合,一般包括:文本編輯器交叉編譯器交叉調(diào)試器仿真器下載器等 交叉開發(fā)環(huán)境由交叉開發(fā)環(huán)境由宿主機宿主機和和目標機目標機組成,宿組成,宿主機與目標機之間在主機與目標機之間在物理連接物理連接的基礎上建的基礎上建立起立起邏輯連接邏輯連接。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境目標機硬件目標機硬件目標機應用系統(tǒng)目標機應用系統(tǒng) 應用軟件 應用中間件 目標機os宿主機硬件宿主機硬件宿主機宿主機os調(diào)調(diào)試試代代理理運運行行庫庫宿主機開發(fā)環(huán)境宿主機開發(fā)環(huán)境 編輯 編譯 連接 調(diào)試運行平臺targettarget開發(fā)平臺host電子科技大學嵌

7、入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的交叉開發(fā)環(huán)境嵌入式軟件的交叉開發(fā)環(huán)境 宿主機(宿主機(hosthost) :是用于開發(fā)嵌入式系統(tǒng)的計算:是用于開發(fā)嵌入式系統(tǒng)的計算機。一般為機。一般為pcpc機(或者工作站),具備豐富的軟機(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。 目標機(目標機(targettarget):即所開發(fā)的嵌入式系統(tǒng),是:即所開發(fā)的嵌入式系統(tǒng),是嵌入式軟件的運行環(huán)境,其硬件軟件是為特定應嵌入式軟件的運行環(huán)境,其硬件軟件是為特定應用定制的。用定制的。 在開發(fā)過程中,目標機端需接收和執(zhí)行

8、宿主機發(fā)在開發(fā)過程中,目標機端需接收和執(zhí)行宿主機發(fā)出的各種命令如設置斷點、讀內(nèi)存、寫內(nèi)存等,出的各種命令如設置斷點、讀內(nèi)存、寫內(nèi)存等,將結果返回給宿主機,配合宿主機各方面的工作。將結果返回給宿主機,配合宿主機各方面的工作。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的交叉開發(fā)環(huán)境嵌入式軟件的交叉開發(fā)環(huán)境 物理連接和邏輯連接物理連接和邏輯連接 物理連接物理連接是指宿主機與目標機通過物理線路連接在一起,連接方式主要有三種: 串口 以太口 ocd(on chip debug)方式,如jtag、bdm等物理連接是邏輯連接的基礎。邏輯連接邏輯連接指宿主機與目標機間按某種通信協(xié)議

9、建立起來的通信連接,目前逐步形成了一些通信協(xié)議的標準。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件實現(xiàn)階段的開發(fā)過程嵌入式軟件實現(xiàn)階段的開發(fā)過程 設計完成后,嵌入式軟件的開發(fā)進入實現(xiàn)階段,設計完成后,嵌入式軟件的開發(fā)進入實現(xiàn)階段,可分為三個步驟:生成、調(diào)試和固化運行??煞譃槿齻€步驟:生成、調(diào)試和固化運行。軟件的生成軟件的生成主要是在宿主機上進行,利用各種工具完成對應用程序的編輯、交叉編譯和鏈接工作,生成可供調(diào)試或固化的目標程序。調(diào)試調(diào)試是通過交叉調(diào)試器完成軟件的調(diào)試工作。調(diào)試完成后還需進行必要的測試工作。固化運行固化運行是先用一定的工具將應用程序固化到目標機上,然后啟

10、動目標機,在沒有任何工具干預的情況下應用程序能自動地啟動運行。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件生成階段嵌入式軟件生成階段 三個過程三個過程 源代碼程序的編寫 編譯成各個目標模塊 鏈接成可供下載調(diào)試或固化的目標程序編輯器編輯器交叉編交叉編譯器譯器交叉鏈交叉鏈接器接器源程序源程序目標目標模塊模塊可供調(diào)可供調(diào)試試/ /固固化化庫文件庫文件電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心交叉編譯交叉編譯 把在宿主機上編寫的高級語言程序編譯成把在宿主機上編寫的高級語言程序編譯成可以運行在目標機上的代碼,即在宿主機可以運行在目標機上的代碼,即在宿主機上能夠

11、編譯生成另一種上能夠編譯生成另一種cpucpu(嵌入式微處理(嵌入式微處理器)上的二進制程序。器)上的二進制程序。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的調(diào)試嵌入式軟件的調(diào)試 交叉調(diào)試器交叉調(diào)試器是指調(diào)試程序和被調(diào)試程序運行在不同機器上的調(diào)試器調(diào)試器通過某種方式能控制目標機上被調(diào)試程序的運行方式通過調(diào)試器能查看和修改目標機上的內(nèi)存、寄存器以及被調(diào)試程序中的變量等電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心交叉調(diào)試交叉調(diào)試非交叉調(diào)試非交叉調(diào)試調(diào)試器和被調(diào)試程序運行在不同調(diào)試器和被調(diào)試程序運行在不同的計算機上的計算機上調(diào)試器和被調(diào)試程序運行在同一調(diào)

12、試器和被調(diào)試程序運行在同一臺計算機上臺計算機上可獨立運行,無需操作系統(tǒng)支持可獨立運行,無需操作系統(tǒng)支持需要操作系統(tǒng)的支持需要操作系統(tǒng)的支持被調(diào)試程序的裝載由調(diào)試器完成被調(diào)試程序的裝載由調(diào)試器完成被調(diào)試程序的裝載由專門的被調(diào)試程序的裝載由專門的loaderloader程序完成程序完成需要通過外部通信的方式來控制需要通過外部通信的方式來控制被調(diào)試程序被調(diào)試程序不需要通過外部通信的方式來控不需要通過外部通信的方式來控制被調(diào)試程序制被調(diào)試程序可以直接調(diào)試不同指令集的程序可以直接調(diào)試不同指令集的程序只能直接調(diào)試相同指令集的程序只能直接調(diào)試相同指令集的程序電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟

13、件工程中心嵌入式軟件的調(diào)試嵌入式軟件的調(diào)試 交叉調(diào)試方式交叉調(diào)試方式 crash and burn rom monitor rom emulator in circuit emulator on chip debugging simulatorsimulator方式(非交叉)方式(非交叉)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心crash and burn 最早的最早的嵌入式嵌入式應用軟應用軟件調(diào)試件調(diào)試方法。方法。在宿主機上編寫代碼在宿主機上編寫代碼反復檢查代碼,直到編譯反復檢查代碼,直到編譯通過,生成可執(zhí)行程序通過,生成可執(zhí)行程序?qū)⒊绦蚬袒▽⒊绦蚬袒╞urn)到目標

14、機的非易失)到目標機的非易失性存儲器(性存儲器(e2prom、flash等)中等)中在宿主機上反復檢查在宿主機上反復檢查碼,查找問題根源碼,查找問題根源改寫代碼改寫代碼啟動目標機運行,觀啟動目標機運行,觀察程序是否正常工作察程序是否正常工作ny結束結束電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor rom monitorrom monitor是被固化且運行在目標機上的是被固化且運行在目標機上的一段程序,負責監(jiān)控目標機上被調(diào)試程序一段程序,負責監(jiān)控目標機上被調(diào)試程序的運行,與宿主機端的調(diào)試器一起完成對的運行,與宿主機端的調(diào)試器一起完成對應用程序的調(diào)試。應用程序

15、的調(diào)試。 調(diào)試器與調(diào)試器與rom monitorrom monitor之間的通信遵循遠程之間的通信遵循遠程調(diào)試協(xié)議。調(diào)試協(xié)議。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor調(diào)試方式調(diào)試方式調(diào)試器調(diào)試器windows或其它桌或其它桌面操作系統(tǒng)面操作系統(tǒng)pc機等硬件機等硬件嵌入式嵌入式硬件硬件監(jiān)控程監(jiān)控程序序(rom monitor)被調(diào)試被調(diào)試程序程序宿主機宿主機目標機目標機邏輯上的連接邏輯上的連接物理上的連接物理上的連接電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor 在目標機上電或復位后首先執(zhí)行的就是在目標機上電或復位后首

16、先執(zhí)行的就是rom rom monitormonitor,它對目標機進行一些必要的初始,它對目標機進行一些必要的初始化化 初始化要求的外圍設備,如最基本的串口和用于內(nèi)存刷新的系統(tǒng)計時器芯片; 初始化用于下載映像的內(nèi)存系統(tǒng); 初始化中斷控制器和安裝中斷處理程序。 初始化自己的程序空間初始化自己的程序空間 等待宿主機端的命令等待宿主機端的命令電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor rom monitorrom monitor能配合調(diào)試器完成:能配合調(diào)試器完成: 程序映像下載 對目標機系統(tǒng)內(nèi)存的讀寫 對寄存器的讀寫 設置和清除不同類型的斷點 單步執(zhí)行指令

17、復位系統(tǒng) 等調(diào)試功能電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor調(diào)試過程調(diào)試過程(1 1)啟動目標機,監(jiān)控器掌握對目標機的控制,等待和)啟動目標機,監(jiān)控器掌握對目標機的控制,等待和調(diào)試器建立連接;調(diào)試器建立連接;(2 2)啟動調(diào)試器,并和監(jiān)控器建立起通信連接;)啟動調(diào)試器,并和監(jiān)控器建立起通信連接;(3 3)使用調(diào)試器將應用程序下載到目標機上的)使用調(diào)試器將應用程序下載到目標機上的ramram空間空間中;中;(4 4)使用調(diào)試器進行調(diào)試,發(fā)出各種調(diào)試命令,監(jiān)控器)使用調(diào)試器進行調(diào)試,發(fā)出各種調(diào)試命令,監(jiān)控器解釋并執(zhí)行這些命令,通過目標機上的各種異常來解釋并

18、執(zhí)行這些命令,通過目標機上的各種異常來獲取對目標機的控制,將命令執(zhí)行結果回傳給調(diào)試獲取對目標機的控制,將命令執(zhí)行結果回傳給調(diào)試器;器; (5 5)如果程序有問題,在調(diào)試器的幫助下定位錯誤;修)如果程序有問題,在調(diào)試器的幫助下定位錯誤;修改之后再重新編譯鏈接并下載程序,開始新的調(diào)試,改之后再重新編譯鏈接并下載程序,開始新的調(diào)試,如此反復直至程序正確運行為止。如此反復直至程序正確運行為止。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor優(yōu)點優(yōu)點1)1)提高調(diào)試程序的效率提高調(diào)試程序的效率 ,縮短開發(fā)周期,縮短開發(fā)周期,降低成本降低成本2)2)簡單、方便簡單、方便

19、3)3)可擴展性強,可支持許多高級調(diào)試功能可擴展性強,可支持許多高級調(diào)試功能4)4)成本低廉,不需專門的調(diào)試硬件支持成本低廉,不需專門的調(diào)試硬件支持5)5)幾乎所有的交叉調(diào)試器都支持這種方式幾乎所有的交叉調(diào)試器都支持這種方式 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom monitor缺點缺點1)1)debug monitordebug monitor需要用需要用crash and burncrash and burn方法開發(fā)。方法開發(fā)。2)2)當當rom monitorrom monitor占用占用cpucpu時,應用程序不響應外部的中斷,時,應用程序不響應外部的中斷,

20、因此不便調(diào)試有時間特性的程序。因此不便調(diào)試有時間特性的程序。3)3)某些調(diào)試功能依賴于某些調(diào)試功能依賴于cpucpu硬件的支持(如硬件斷點功能)硬件的支持(如硬件斷點功能)4)4)rom monitorrom monitor要占用目標機一定數(shù)量的資源,如要占用目標機一定數(shù)量的資源,如cpucpu、ramram、romrom和通信設備等資源。和通信設備等資源。5)5)調(diào)試環(huán)境不同于實際目標環(huán)境。調(diào)試環(huán)境不同于實際目標環(huán)境。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心仿真開發(fā)方式仿真開發(fā)方式嵌入式應用的開發(fā)經(jīng)常會遭遇缺少目標嵌入式應用的開發(fā)經(jīng)常會遭遇缺少目標機環(huán)境、缺乏目標機芯片等

21、資源的問題,機環(huán)境、缺乏目標機芯片等資源的問題,而開發(fā)過程又不可能停止,因此自然就而開發(fā)過程又不可能停止,因此自然就提出了根據(jù)不同的應用需要,利用仿真提出了根據(jù)不同的應用需要,利用仿真器件、仿真環(huán)境進行開發(fā)的方法。器件、仿真環(huán)境進行開發(fā)的方法。硬件仿真開發(fā)硬件仿真開發(fā)rom emulatoriceocd軟件仿真開發(fā)軟件仿真開發(fā)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom emulatorrom emulatorrom emulator是一種用于替代目標機上的是一種用于替代目標機上的romrom芯片的設備,即芯片的設備,即romrom仿真器。利用這種仿真器。利用這種設備,目

22、標機可以沒有設備,目標機可以沒有romrom芯片,但目標機芯片,但目標機的的cpucpu可以讀取可以讀取rom emulatorrom emulator設備上設備上romrom芯芯片的內(nèi)容:片的內(nèi)容:rom emulatorrom emulator設備上的設備上的romrom芯片芯片的地址可以實時地映射到目標機的的地址可以實時地映射到目標機的romrom地址地址空間,從而仿真(空間,從而仿真(emulationemulation)目標機的)目標機的romrom。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心rom emulatorrom emulatorrom emulator的

23、調(diào)試方式是一種不完全的的調(diào)試方式是一種不完全的調(diào)試方式:調(diào)試方式:rom emulatorrom emulator設備只是為目標設備只是為目標機提供機提供romrom芯片和在芯片和在targettarget和和hosthost間建立一間建立一條高速的通信通道,因此它經(jīng)常和前面兩條高速的通信通道,因此它經(jīng)常和前面兩種調(diào)試方式結合起來形成一種完備的調(diào)試種調(diào)試方式結合起來形成一種完備的調(diào)試方式。方式。rom emulatorrom emulator的典型應用就是和的典型應用就是和rom rom monitormonitor的調(diào)試方式相結合。的調(diào)試方式相結合。電子科技大學嵌入式軟件工程中心電子科技大學

24、嵌入式軟件工程中心rom emulator 優(yōu)點優(yōu)點目標機可以沒有目標機可以沒有romrom芯片、可以使用芯片、可以使用rom rom emulatoremulator提供的提供的romrom空間且不需要用別的工空間且不需要用別的工具來寫具來寫romrom。 缺點缺點目標機必須能支持外部目標機必須能支持外部romrom存儲空間,而且存儲空間,而且由于其通常要和由于其通常要和rom monitorrom monitor配合使用,因配合使用,因此它擁有此它擁有rom monitorrom monitor的所有缺點。的所有缺點。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ice ic

25、eice(in-circuit emulatorin-circuit emulator)是一種用于)是一種用于替代目標機上替代目標機上cpucpu的設備,即在線仿真器。的設備,即在線仿真器。 它比一般的它比一般的cpucpu有更多的引出線,能夠?qū)?nèi)有更多的引出線,能夠?qū)?nèi)部的信號輸出到被控制的目標機。部的信號輸出到被控制的目標機。 iceice上的上的memorymemory也可以被映射到用戶的程序也可以被映射到用戶的程序空間,這樣即使目標機不存在的情形下也空間,這樣即使目標機不存在的情形下也可以進行代碼的調(diào)試??梢赃M行代碼的調(diào)試。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心宿

26、主開發(fā)平臺目標平臺iceice調(diào)試結構調(diào)試結構 連接連接iceice和目標機時,一般是將目標機的和目標機時,一般是將目標機的cpucpu取取下,而將下,而將iceice的的cpucpu引出線接到目標機的引出線接到目標機的cpucpu插插槽。槽。 用用iceice進行調(diào)試時,在進行調(diào)試時,在hosthost端運行的調(diào)試器通端運行的調(diào)試器通過過iceice來控制目標機上運行的程序。來控制目標機上運行的程序。ice電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ice功能特點功能特點同時支持同時支持軟斷點軟斷點和和硬件斷點硬件斷點的設置的設置設置各種復雜的斷點和觸發(fā)器設置各種復雜的斷點和

27、觸發(fā)器實時跟蹤目標程序的運行,并可實現(xiàn)選擇性的實時跟蹤目標程序的運行,并可實現(xiàn)選擇性的跟蹤跟蹤支持支持“time stamp” time stamp” 允許用戶設置允許用戶設置“timer” timer” 提供提供“shadow ram”shadow ram”,能在不中斷被調(diào)試程序,能在不中斷被調(diào)試程序的運行下查看內(nèi)存和變量即非干擾調(diào)試查詢的運行下查看內(nèi)存和變量即非干擾調(diào)試查詢電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ice適用于:適用于:1)1)調(diào)試實時的應用系統(tǒng)調(diào)試實時的應用系統(tǒng)2)2)調(diào)試設備驅(qū)動程序調(diào)試設備驅(qū)動程序3)3)對硬件進行功能和性能的測試對硬件進行功能和性能

28、的測試4)4)實時性能分析實時性能分析缺點:缺點:1)1)價格太昂貴,不利于團隊開發(fā)價格太昂貴,不利于團隊開發(fā)2)2)所仿所仿cpucpu有限有限電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ocdocdocd(on chip debuggingon chip debugging)是)是cpucpu芯片提供芯片提供的一種調(diào)試功能(片上調(diào)試),可以認為的一種調(diào)試功能(片上調(diào)試),可以認為是一種廉價的是一種廉價的iceice功能:功能:ocdocd的價格只有的價格只有iceice的的20%20%,但提供了,但提供了ice 80%ice 80%的功能。的功能。電子科技大學嵌入式軟件工程

29、中心電子科技大學嵌入式軟件工程中心ocd調(diào)試結構調(diào)試結構調(diào)試器調(diào)試器windows或其它桌或其它桌面操作系統(tǒng)面操作系統(tǒng)pc機等硬件機等硬件被調(diào)試程序被調(diào)試程序ocd接接口口嵌入式嵌入式硬件硬件宿主機宿主機目標機目標機邏輯上的連接邏輯上的連接物理連接物理連接仿真器仿真器針形連接器針形連接器并口、串口并口、串口或網(wǎng)絡接口或網(wǎng)絡接口為特定處理為特定處理器而建造器而建造電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ocd調(diào)試方法調(diào)試方法1)1)將將cpucpu的模式分為的模式分為一般模式一般模式和和調(diào)試模式調(diào)試模式2)2)一般模式下,一般模式下, cpucpu從內(nèi)存讀取指令執(zhí)行從內(nèi)存讀取

30、指令執(zhí)行3)3)調(diào)試模式下,調(diào)試模式下,cpucpu首先從首先從調(diào)試端口調(diào)試端口讀取指令,通過調(diào)試讀取指令,通過調(diào)試端口可以控制端口可以控制cpucpu進入和退出調(diào)試模式;進入和退出調(diào)試模式;hosthost端的調(diào)試端的調(diào)試器可以直接向目標機發(fā)送要執(zhí)行的指令,讀寫目標機的器可以直接向目標機發(fā)送要執(zhí)行的指令,讀寫目標機的內(nèi)存和各種寄存器,控制目標程序的運行以及完成各種內(nèi)存和各種寄存器,控制目標程序的運行以及完成各種復雜的調(diào)試功能。復雜的調(diào)試功能。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ocd優(yōu)點優(yōu)點1)1)不占用目標機的資源不占用目標機的資源2)2)調(diào)試環(huán)境和最終的程序運行環(huán)

31、境基本一致調(diào)試環(huán)境和最終的程序運行環(huán)境基本一致3)3)支持軟硬斷點、支持軟硬斷點、tracetrace功能功能4)4)精確計量程序的執(zhí)行時間精確計量程序的執(zhí)行時間5)5)提供時序分析功能提供時序分析功能電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ocd缺點缺點1)1)調(diào)試的實時性不如調(diào)試的實時性不如iceice2)2)不支持非干擾調(diào)試查詢不支持非干擾調(diào)試查詢3)3)cpucpu必需具有必需具有ocdocd功能功能電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心ocd存在各種實現(xiàn)存在各種實現(xiàn)bdm(background debugging mode)jtag(join

32、t test access group)(主流方式)(主流方式)once(on chip emulation)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心各種各種ocd仿真器實例仿真器實例電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心邊界掃描技術(邊界掃描技術(jtagjtag) jtagjtag標準測試訪問接口與邊界掃描結構標準測試訪問接口與邊界掃描結構(standard test access port and boundary standard test access port and boundary scan architecturescan archi

33、tecture),已),已被被ieee1149.1ieee1149.1標準標準所采納所采納,是面向用戶的測試接口,是面向用戶的測試接口。 該接口一般由該接口一般由4 4個引腳組成:個引腳組成:測試數(shù)據(jù)輸入(tdi)測試數(shù)據(jù)輸出(tdo)測試時鐘(tck)測試模式選擇引腳(tms)異步測試復位引腳(trst,可選)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心邊界掃描技術(邊界掃描技術(jtagjtag) 優(yōu)點優(yōu)點可以通過邊界掃描操作測試整個板的電氣連接,特別為表面貼元件提供方便 各個引腳信號的采樣,并可強制引腳輸出用以測試外圍芯片 可以軟件下載、執(zhí)行、調(diào)試和控制,為復雜的實時跟蹤

34、調(diào)試提供路徑 可以進行多內(nèi)核和多處理器的板級和芯片級的調(diào)試,通過串接 ,為芯片制造商提供芯片生產(chǎn)、測試的途徑 不占用系統(tǒng)資源,能夠調(diào)試沒有外部總線的芯片,代價非常小 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心邊界掃描技術(邊界掃描技術(jtagjtag) 缺點缺點通過串口依次傳遞數(shù)據(jù),速度比較慢 只能進行軟件斷點級別的調(diào)試 不能完成實時跟蹤和多種事件觸發(fā)等復雜調(diào)試功能 幾種增強版本幾種增強版本 arm芯片的實時調(diào)試方案(e-trace) 背景調(diào)試模式bdm 片上仿真once 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心nexusnexus標準標準 提出一個在提

35、出一個在jtagjtag之上的嵌入式處理器調(diào)試的統(tǒng)一之上的嵌入式處理器調(diào)試的統(tǒng)一標準標準 將調(diào)試開發(fā)分成四級將調(diào)試開發(fā)分成四級 第一級使用jtag的簡單靜態(tài)調(diào)試;第二級支持編程跟蹤和實時多任務的跟蹤,并允許用戶用i/o引腳作為多路復用輔助調(diào)試口;第三級包括處理器運行時的數(shù)據(jù)寫入跟蹤和存儲器的讀寫跟蹤;第四級增加了存儲替換并觸發(fā)復雜的硬件斷點。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心nexusnexus標準標準 通過通過nexus nexus 標準可以解決以下問題標準可以解決以下問題 調(diào)試內(nèi)部總線沒有引出的處理器,如含有片內(nèi)存儲器的芯片 傳統(tǒng)在線仿真器無法實現(xiàn)的高速調(diào)試 深

36、度流水線和有片上cache的芯片,能夠探測具體哪條指令被取指和最終執(zhí)行 可以穩(wěn)定地進行多內(nèi)核處理器的調(diào)試 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心simulator交叉開發(fā)方式存在如下缺點:交叉開發(fā)方式存在如下缺點: 硬件支持硬件支持 必須有目標機或評估板必須有目標機或評估板 易使用性易使用性普通編程人員不熟悉普通編程人員不熟悉 廉價性廉價性成本高成本高 可移植性、可擴展性可移植性、可擴展性不高不高 團隊開發(fā)團隊開發(fā)較難較難 開發(fā)周期開發(fā)周期較長較長電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心simulator 一種軟件仿真器,在宿主機上創(chuàng)建一個虛擬的一種軟

37、件仿真器,在宿主機上創(chuàng)建一個虛擬的目標機環(huán)境,再將應用系統(tǒng)下載到這個虛擬目目標機環(huán)境,再將應用系統(tǒng)下載到這個虛擬目標機上運行調(diào)試。標機上運行調(diào)試。 軟件仿真的對象軟件仿真的對象仿真處理器仿真外設仿真環(huán)境軟件仿真的級別軟件仿真的級別指令級仿真開發(fā)api級仿真開發(fā)電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心宿主機 os編輯 :c、c+編譯、鏈接應用仿真開發(fā)環(huán)境示意圖調(diào)試目標操作系統(tǒng)庫toslib應用編程接口api仿真調(diào)試代理eda應用系統(tǒng)通信用戶虛擬目標硬件v-target虛虛擬擬目目標標環(huán)環(huán)境境ide應用仿真開發(fā)環(huán)境示意圖應用仿真開發(fā)環(huán)境示意圖電子科技大學嵌入式軟件工程中心電子科

38、技大學嵌入式軟件工程中心設計編碼測試運行維護下載調(diào)試固化交叉調(diào)試固化運行仿真編譯仿真調(diào)試正確n仿真庫編譯鏈接y運行庫結合了仿真的軟件開發(fā)過程結合了仿真的軟件開發(fā)過程電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心simulator 優(yōu)點優(yōu)點最大好處就是可以不用真正的目標機,可最大好處就是可以不用真正的目標機,可以在目標機環(huán)境并不存在的條件下開發(fā)目以在目標機環(huán)境并不存在的條件下開發(fā)目標機上的應用系統(tǒng),并且在調(diào)試時可以利標機上的應用系統(tǒng),并且在調(diào)試時可以利用用hosthost資源提供更詳細的錯誤診斷信息。資源提供更詳細的錯誤診斷信息。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件

39、工程中心simulator缺點缺點1)1)和實際的運行環(huán)境差別很大和實際的運行環(huán)境差別很大2)2)設備模擬的局限性較大設備模擬的局限性較大3)3)實時特性較差實時特性較差4)4)對對hosthost的資源要求較高的資源要求較高適用范圍適用范圍對時間特性沒有嚴格要求、沒有特殊外設、只對時間特性沒有嚴格要求、沒有特殊外設、只需要驗證邏輯正確的應用程序。需要驗證邏輯正確的應用程序。電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的測試嵌入式軟件的測試 測試工具測試工具:能夠用來輔助測試的工具,主要用:能夠用來輔助測試的工具,主要用來支持測試人員的工作,本身不能直接用來進來支持測

40、試人員的工作,本身不能直接用來進行測試。測試工具一般都是通用工具,測試人行測試。測試工具一般都是通用工具,測試人員應該根據(jù)實際情況對它們進行適當?shù)恼{(diào)整。員應該根據(jù)實際情況對它們進行適當?shù)恼{(diào)整。 嵌入式軟件測試中經(jīng)常用到的測試工具有:嵌入式軟件測試中經(jīng)常用到的測試工具有:內(nèi)存分析工具性能分析工具覆蓋分析工具缺陷跟蹤工具等 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的測試嵌入式軟件的測試內(nèi)存分析工具內(nèi)存分析工具 嵌入式系統(tǒng)的內(nèi)存資源通常是受限的,內(nèi)存分嵌入式系統(tǒng)的內(nèi)存資源通常是受限的,內(nèi)存分析工具可以用來處理在進行動態(tài)內(nèi)存分配時產(chǎn)析工具可以用來處理在進行動態(tài)內(nèi)存分配時產(chǎn)

41、生的缺陷。當動態(tài)分配的內(nèi)存被錯誤地引用時,生的缺陷。當動態(tài)分配的內(nèi)存被錯誤地引用時,產(chǎn)生的錯誤通常難以再現(xiàn),出現(xiàn)的失效難以追產(chǎn)生的錯誤通常難以再現(xiàn),出現(xiàn)的失效難以追蹤,使用內(nèi)存分析工具可以很好地檢測出這類蹤,使用內(nèi)存分析工具可以很好地檢測出這類缺陷。缺陷。 目前常用的內(nèi)存分析工具有軟件和硬件兩種:目前常用的內(nèi)存分析工具有軟件和硬件兩種:基于軟件的內(nèi)存分析工具可能會對代碼的執(zhí)行性能基于軟件的內(nèi)存分析工具可能會對代碼的執(zhí)行性能帶來很大影響,從而影響系統(tǒng)的實時性;帶來很大影響,從而影響系統(tǒng)的實時性;基于硬件的內(nèi)存分析工具對系統(tǒng)性能影響小,但價基于硬件的內(nèi)存分析工具對系統(tǒng)性能影響小,但價格昂貴,并且只

42、能在特定的環(huán)境中使用。格昂貴,并且只能在特定的環(huán)境中使用。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的測試嵌入式軟件的測試性能分析工具性能分析工具 嵌入式系統(tǒng)的性能通常是一個非常關鍵嵌入式系統(tǒng)的性能通常是一個非常關鍵的因素,開發(fā)人員一般需要對系統(tǒng)的某的因素,開發(fā)人員一般需要對系統(tǒng)的某些關鍵代碼進行優(yōu)化來改進性能。些關鍵代碼進行優(yōu)化來改進性能。 性能分析工具性能分析工具可以提供有關數(shù)據(jù),幫助確定哪些任務消可以提供有關數(shù)據(jù),幫助確定哪些任務消耗了過多的執(zhí)行時間,從而可以決定如何優(yōu)耗了過多的執(zhí)行時間,從而可以決定如何優(yōu)化軟件,以獲得更好的時間性能?;浖垣@得更好的時

43、間性能。引導開發(fā)人員發(fā)現(xiàn)在系統(tǒng)調(diào)用中存在的錯引導開發(fā)人員發(fā)現(xiàn)在系統(tǒng)調(diào)用中存在的錯誤以及程序結構上的缺陷。誤以及程序結構上的缺陷。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的測試嵌入式軟件的測試覆蓋分析工具覆蓋分析工具 在進行白盒測試時,可以使用代碼覆蓋分析工在進行白盒測試時,可以使用代碼覆蓋分析工具追蹤哪些代碼被執(zhí)行過具追蹤哪些代碼被執(zhí)行過 分析過程一般通過插樁來完成,插樁可以是在分析過程一般通過插樁來完成,插樁可以是在測試環(huán)境中嵌入硬件,也可以是在可執(zhí)行代碼測試環(huán)境中嵌入硬件,也可以是在可執(zhí)行代碼中加入軟件,或者是兩者的結合。中加入軟件,或者是兩者的結合。 開發(fā)

44、人員通過對分析結果進行總結,可以確定開發(fā)人員通過對分析結果進行總結,可以確定哪些代碼被執(zhí)行過,哪些代碼被遺漏了。哪些代碼被執(zhí)行過,哪些代碼被遺漏了。 目前常用的覆蓋分析工具一般都提供有關功能目前常用的覆蓋分析工具一般都提供有關功能覆蓋、分支覆蓋、條件覆蓋等信息。覆蓋、分支覆蓋、條件覆蓋等信息。 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心覆蓋分析工具實例覆蓋分析工具實例電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心測試工具實例:邏輯分析儀測試工具實例:邏輯分析儀 工作機理:在工作機理:在不打斷被測程序運行流程不打斷被測程序運行流程的基礎上,對程序運行中的相關信息進

45、的基礎上,對程序運行中的相關信息進行采集和分析,然后通過真實再現(xiàn)程序行采集和分析,然后通過真實再現(xiàn)程序運行的邏輯流程和分析程序運行數(shù)據(jù),運行的邏輯流程和分析程序運行數(shù)據(jù),幫助用戶優(yōu)化系統(tǒng)設計和解決出現(xiàn)的問幫助用戶優(yōu)化系統(tǒng)設計和解決出現(xiàn)的問題。題。 與調(diào)試工具的對比與調(diào)試工具的對比 調(diào)試器:照相機調(diào)試器:照相機 邏輯分析儀:邏輯分析儀:攝像機攝像機電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心測試工具實例:邏輯分析儀測試工具實例:邏輯分析儀 主要功能:主要功能: 真實再現(xiàn)程序運行流程 發(fā)現(xiàn)系統(tǒng)死鎖及軟件造成的死機 發(fā)現(xiàn)系統(tǒng)內(nèi)存泄漏 指導對任務的合理劃分 指導關鍵路徑設計與驗證 指導

46、合理分配任務堆棧 cpu使用率統(tǒng)計 指導合理設計中斷服務程序電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心測試工具實例:邏輯分析儀測試工具實例:邏輯分析儀嵌入式應用軟件運行的邏輯流程嵌入式應用軟件運行的邏輯流程電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心測試工具實例:邏輯分析儀測試工具實例:邏輯分析儀系統(tǒng)堆棧使用率分析系統(tǒng)堆棧使用率分析電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的固化運行嵌入式軟件的固化運行 當調(diào)試完成之后,程序代碼需要被完全燒當調(diào)試完成之后,程序代碼需要被完全燒入到目標板的非易失性存儲器(如入到目標板的非易失性存儲器(

47、如romrom或閃或閃存)中,并且在真實的硬件環(huán)境上運行,存)中,并且在真實的硬件環(huán)境上運行,這個過程叫做固化。這個過程叫做固化。 調(diào)試環(huán)境與固化環(huán)境的區(qū)別:調(diào)試環(huán)境與固化環(huán)境的區(qū)別:代碼定位不同代碼定位不同初始化部分不同初始化部分不同電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的固化運行嵌入式軟件的固化運行階段階段調(diào)試環(huán)境調(diào)試環(huán)境固化環(huán)境固化環(huán)境編譯編譯目標文件需要調(diào)試信息目標文件需要調(diào)試信息目標文件不需要調(diào)試信息目標文件不需要調(diào)試信息鏈接鏈接應用系統(tǒng)目標代碼不需要應用系統(tǒng)目標代碼不需要bootboot模塊,此模塊已由目標板上的模塊,此模塊已由目標板上的監(jiān)控器程序?qū)?/p>

48、現(xiàn)。監(jiān)控器程序?qū)崿F(xiàn)。應用系統(tǒng)目標代碼必須以應用系統(tǒng)目標代碼必須以bootboot模塊作為入口模塊。模塊作為入口模塊。定位定位程序的所有代碼段、數(shù)據(jù)段都程序的所有代碼段、數(shù)據(jù)段都依次被定位到調(diào)試空間的依次被定位到調(diào)試空間的ramram中。中。程序的各邏輯段按照其不同的程序的各邏輯段按照其不同的屬性分別定位到非易失性存儲屬性分別定位到非易失性存儲空間(空間(romrom)或)或ramram中。中。下載下載宿主機上的調(diào)試器讀入被調(diào)試文件,宿主機上的調(diào)試器讀入被調(diào)試文件,并將其下載到目標機上的調(diào)試空間并將其下載到目標機上的調(diào)試空間中,目標機掉電后所有信息全部丟中,目標機掉電后所有信息全部丟失。失。在宿

49、主機上利用固化工具將可固化在宿主機上利用固化工具將可固化的應用程序?qū)懭肽繕藱C的非易失性的應用程序?qū)懭肽繕藱C的非易失性存儲器中,目標機掉電后信息不丟存儲器中,目標機掉電后信息不丟失。失。運行運行被調(diào)試程序在目標監(jiān)控器的控制下被調(diào)試程序在目標監(jiān)控器的控制下運行,并與后者共享某些資源,如運行,并與后者共享某些資源,如cpucpu資源、資源、ramram資源以及通信設備資源以及通信設備(如串口、網(wǎng)口等)資源。(如串口、網(wǎng)口等)資源。程序在真實的目標硬件環(huán)境上程序在真實的目標硬件環(huán)境上運行運行電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件的固化運行嵌入式軟件的固化運行 bootb

50、oot模塊:當應用程序在真實的目標環(huán)境下運行模塊:當應用程序在真實的目標環(huán)境下運行時將首先執(zhí)行該程序,它至少由系統(tǒng)加電時執(zhí)行時將首先執(zhí)行該程序,它至少由系統(tǒng)加電時執(zhí)行的代碼組成。的代碼組成。 bootboot模塊的主要功能:初始化模塊的主要功能:初始化cpucpu環(huán)境,使目標機環(huán)境,使目標機硬件到已知的狀態(tài)硬件到已知的狀態(tài)初始化芯片的引腳初始化系統(tǒng)外部控制寄存器初始化基本輸入輸出設備初始化mmu,包括片選控制寄存器等執(zhí)行數(shù)據(jù)拷貝 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式軟件開發(fā)工具發(fā)展趨勢嵌入式軟件開發(fā)工具發(fā)展趨勢 向著開放的、集成化的方向發(fā)展向著開放的、集成化的方向

51、發(fā)展 具有系統(tǒng)設計、可視化建模、仿真和驗證功能具有系統(tǒng)設計、可視化建模、仿真和驗證功能 自動生成代碼和文檔自動生成代碼和文檔 具有更高的靈活性具有更高的靈活性 電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心第二節(jié)第二節(jié)嵌入式系統(tǒng)開發(fā)模式嵌入式系統(tǒng)開發(fā)模式概述概述處理器及硬件開發(fā)平臺的選定處理器及硬件開發(fā)平臺的選定操作系統(tǒng)選定操作系統(tǒng)選定開發(fā)環(huán)境選定開發(fā)環(huán)境選定電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌入式系統(tǒng)開發(fā)模式概述嵌入式系統(tǒng)開發(fā)模式概述 最大特點:最大特點:軟硬件綜合開發(fā)。軟硬件綜合開發(fā)。原因:原因:1)1)嵌入式產(chǎn)品是軟硬件的結合體嵌入式產(chǎn)品是軟硬件的

52、結合體2)2)軟件針對硬件開發(fā)、固化,不能軟件針對硬件開發(fā)、固化,不能進行任意修改進行任意修改電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心嵌嵌入入式式系系統(tǒng)統(tǒng)開開發(fā)發(fā)過過程程 系統(tǒng)定義時期系統(tǒng)定義時期符合要求符合要求硬件設計制作硬件設計制作軟件設計實現(xiàn)軟件設計實現(xiàn)軟硬件集成軟硬件集成功能性能測試功能性能測試產(chǎn)品產(chǎn)品yesyes系統(tǒng)總體設計系統(tǒng)總體設計nono電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心系統(tǒng)總體設計軟硬件劃分系統(tǒng)總體框架處理器選定操作系統(tǒng)選定開發(fā)環(huán)境選定電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心硬件設計制作硬件設計制作硬件概要設計

53、硬件概要設計硬件詳細設計硬件詳細設計硬件制作硬件制作硬件測試硬件測試功能模塊圖設計功能模塊圖設計邏輯電路圖設計邏輯電路圖設計pcbpcb設計與制作設計與制作pcbpcb 測試測試電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心軟件設計實現(xiàn)軟件設計實現(xiàn)軟件概要設計軟件詳細設計軟件實現(xiàn)軟件測試電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心軟硬件協(xié)同開發(fā)軟硬件協(xié)同開發(fā) 通常的嵌入通常的嵌入式系統(tǒng)開發(fā)式系統(tǒng)開發(fā) 軟軟/ /硬件協(xié)硬件協(xié)同開發(fā)同開發(fā)嵌入式嵌入式軟件開發(fā)軟件開發(fā)嵌入式嵌入式硬件開發(fā)硬件開發(fā)嵌入式系統(tǒng)嵌入式系統(tǒng)集成、測試、集成、測試、驗證驗證嵌入式軟件開發(fā)嵌入式軟件

54、開發(fā)嵌入式硬件開發(fā)嵌入式硬件開發(fā)嵌入式系統(tǒng)嵌入式系統(tǒng)協(xié)同設計、測試、驗證協(xié)同設計、測試、驗證電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心處理器及硬件開發(fā)平臺的選定處理器及硬件開發(fā)平臺的選定選擇依據(jù):選擇依據(jù): 應用的類型及應用的類型及i/oi/o接口接口 主頻及功耗主頻及功耗 對不同類型存儲器的支持對不同類型存儲器的支持 封裝封裝 產(chǎn)品生命力和廠家實力、技術支持及第三產(chǎn)品生命力和廠家實力、技術支持及第三方軟件的支持方軟件的支持 硬件開發(fā)平臺的選擇硬件開發(fā)平臺的選擇電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心操作系統(tǒng)選定操作系統(tǒng)選定選擇依據(jù):選擇依據(jù): 選擇嵌入式

55、選擇嵌入式osos的必要性的必要性 自建、購買或使用開源軟件自建、購買或使用開源軟件 對嵌入式操作系統(tǒng)的功能、性能要求對嵌入式操作系統(tǒng)的功能、性能要求 與硬件平臺和開發(fā)工具的關系與硬件平臺和開發(fā)工具的關系 行業(yè)標準行業(yè)標準 技術支持技術支持 版稅或服務費版稅或服務費電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心操作系統(tǒng)與硬件平臺的關系操作系統(tǒng)與硬件平臺的關系 操作系統(tǒng)應支持選定的硬件平臺操作系統(tǒng)應支持選定的硬件平臺 如果不支持,需考慮移植工作如果不支持,需考慮移植工作 不同類型嵌入式微處理器之間的移植:任務上下文切換、時鐘、中斷等 同類型微處理器但不同類型硬件板之間的移植:硬件接

56、口及設備驅(qū)動程序電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心操作系統(tǒng)與開發(fā)工具的關系操作系統(tǒng)與開發(fā)工具的關系 工具是否能為基于特定操作系統(tǒng)的應用開工具是否能為基于特定操作系統(tǒng)的應用開發(fā)提供最大支持:發(fā)提供最大支持: 運行庫與os相結合 提供應用工程創(chuàng)建和管理功能,構建基于特定操作系統(tǒng)的應用框架 對操作系統(tǒng)的剪裁與配置 提供高級調(diào)試功能 提供配套的應用邏輯分析工具、覆蓋測試工具等電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心開發(fā)環(huán)境及工具選定開發(fā)環(huán)境及工具選定 對硬件平臺的支持對硬件平臺的支持 所使用的編程語言所使用的編程語言 c/c+ 匯編語言 java 與嵌入式

57、操作系統(tǒng)的關系與嵌入式操作系統(tǒng)的關系電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心第三節(jié)第三節(jié)實時軟件分析設計方法實時軟件分析設計方法darts分析設計方法分析設計方法電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心darts分析設計方法分析設計方法 嵌入式實時軟件系統(tǒng)的生存周期嵌入式實時軟件系統(tǒng)的生存周期 需求分析與說明需求分析與說明 系統(tǒng)設計系統(tǒng)設計dartsdarts設計方法設計方法數(shù)據(jù)流分析數(shù)據(jù)流分析劃分任務劃分任務定義任務接口定義任務接口 任務設計任務設計 模塊構筑模塊構筑 任務與系統(tǒng)集成任務與系統(tǒng)集成電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程

58、中心嵌入式實時軟件系統(tǒng)的生命周期嵌入式實時軟件系統(tǒng)的生命周期 需求分析與詳細說明需求分析與詳細說明 系統(tǒng)設計系統(tǒng)設計任務分解任務分解, , 定義任務間接口關系定義任務間接口關系 任務設計任務設計按模塊方式設計每個任務,定義模塊間接按模塊方式設計每個任務,定義模塊間接口口 模塊構筑模塊構筑完成每個模塊的詳細設計、編碼和單元測完成每個模塊的詳細設計、編碼和單元測試試 任務與系統(tǒng)集成任務與系統(tǒng)集成 系統(tǒng)測試系統(tǒng)測試電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心實實 例例 說說 明明機器人控制器系統(tǒng)機器人控制器系統(tǒng)上電手動停止結束斷電運行程序選擇控制面板控制面板控制設備由內(nèi)部控控制設備由

59、內(nèi)部控制器和外部控制面制器和外部控制面板組成板組成控制器控制六個轉(zhuǎn)控制器控制六個轉(zhuǎn)軸,并與數(shù)字軸,并與數(shù)字i/oi/o傳感器交互作用。傳感器交互作用。轉(zhuǎn)軸和轉(zhuǎn)軸和i/oi/o由程序由程序控制控制該程序由控制面板該程序由控制面板操作啟動執(zhí)行操作啟動執(zhí)行電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心按下按下“上電上電”按鈕,系統(tǒng)進入了上電狀態(tài)。按鈕,系統(tǒng)進入了上電狀態(tài)。上電成功后,系統(tǒng)進入了手動狀態(tài)。此時,操上電成功后,系統(tǒng)進入了手動狀態(tài)。此時,操作者可以通過作者可以通過程序選擇開關程序選擇開關選擇程序選擇程序按下按下“運行運行”按鈕,則選定的程序開始運行,按鈕,則選定的程序開始運行

60、,系統(tǒng)轉(zhuǎn)為運行態(tài)。系統(tǒng)轉(zhuǎn)為運行態(tài)。程序運行中如果按下程序運行中如果按下“停止停止”鍵,程序被掛起。鍵,程序被掛起。之后,操作者可以按下之后,操作者可以按下“運行運行”鍵,使程序恢鍵,使程序恢復執(zhí)行,也可按下復執(zhí)行,也可按下“結束結束”鍵,結束程序。鍵,結束程序。按下按下“結束結束”鍵后,系統(tǒng)進入終止態(tài)。當程序鍵后,系統(tǒng)進入終止態(tài)。當程序最終終止執(zhí)行時,系統(tǒng)返回手動狀態(tài)。最終終止執(zhí)行時,系統(tǒng)返回手動狀態(tài)。 控制執(zhí)行過程控制執(zhí)行過程電子科技大學嵌入式軟件工程中心電子科技大學嵌入式軟件工程中心需求分析與說明需求分析與說明斷電態(tài)斷電態(tài)通電態(tài)通電態(tài)手動態(tài)手動態(tài)運行態(tài)運行態(tài)終止態(tài)終止態(tài)掛起態(tài)掛起態(tài)上電上電

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論