版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)開發(fā)方法和環(huán)境1嵌入式軟件運行流程上電復位系統(tǒng)升級引導/升級系統(tǒng)系統(tǒng)初始化應用初始化多任務應用板級初始化遠程升級本地升級2嵌入式軟件運行流程上電復位、板級初始化階段嵌入式系統(tǒng)上電復位后完成板級初始化工作。板級初始化程序具有完全的硬件特性,一般采用匯編語言實現(xiàn)。不同的嵌入式系統(tǒng),板級初始化時要完成的工作具有一定的特殊性,但以下工作一般是必須完成的:CPU中堆棧指針寄存器的初始化。BSS段(Block Storage Space表示未被初始化的數(shù)據(jù))的初始化。CPU芯片級的初始化:中斷控制器、內(nèi)存等的初始化。3嵌入式軟件運行流程系統(tǒng)引導/升級階段根據(jù)需要分別進入系統(tǒng)軟件引導階段或系統(tǒng)升級
2、階段。軟件可通過測試通信端口數(shù)據(jù)或判斷特定開關(guān)的方式分別進入不同階段。 4系統(tǒng)引導階段系統(tǒng)引導有幾種情況:將系統(tǒng)軟件從NOR Flash中讀取出來加載到RAM中運行:這種方式可以解決成本及Flash速度比RAM慢的問題。軟件可壓縮存儲在Flash中。不需將軟件引導到RAM中而是讓其直接在NorFlash上運行,進入系統(tǒng)初始化階段。將軟件從外存(如NandFlash、CF卡、MMC等)中讀取出來加載到RAM中運行:這種方式的成本更低。嵌入式軟件運行流程5嵌入式軟件運行流程系統(tǒng)升級階段進入系統(tǒng)升級階段后系統(tǒng)可通過網(wǎng)絡進行遠程升級或通過串口進行本地升級。遠程升級一般支持T、HTTP等方式。本地升級可
3、通過Console口使用超級終端或特定的升級軟件進行。6系統(tǒng)初始化階段 在該階段進行操作系統(tǒng)等系統(tǒng)軟件各功能部分必需的初始化工作,如根據(jù)系統(tǒng)配置初始化數(shù)據(jù)空間、初始化系統(tǒng)所需的接口和外設等。系統(tǒng)初始化階段需要按特定順序進行,如首先完成內(nèi)核的初始化,然后完成網(wǎng)絡、文件系統(tǒng)等的初始化,最后完成中間件等的初始化工作。 嵌入式軟件運行流程7嵌入式軟件運行流程應用初始化階段在該階段進行應用任務的創(chuàng)建,信號量、消息隊列的創(chuàng)建和與應用相關(guān)的其它初始化工作。多任務應用運行階段各種初始化工作完成后,系統(tǒng)進入多任務狀態(tài),操作系統(tǒng)按照已確定的算法進行任務的調(diào)度,各應用任務分別完成特定的功能。 8嵌入式軟件開發(fā)工具
4、嵌入式軟件開發(fā)工具的集成度和可用性將直接關(guān)系到嵌入式系統(tǒng)的開發(fā)效率。根據(jù)不同的階段,嵌入式軟件開發(fā)工具可以分為:- 需求分析工具(Requirement Analysis Tools)- 軟件設計工具(Software Design Tools)- 編程、調(diào)試工具(Coding Tools)- 測試工具(Testing Tools)- 配置管理工具、維護工具等 9嵌入式軟件的開發(fā)可以分為以下幾種 :編寫簡單的板級測試軟件,主要是輔助硬件的調(diào)試 ) 開發(fā)基本的驅(qū)動程序 開發(fā)特定嵌入式操作系統(tǒng)的驅(qū)動程序(板級支持包) 開發(fā)嵌入式系統(tǒng)軟件,如:嵌入式操作系統(tǒng)等 開發(fā)應用軟件 嵌入式軟件開發(fā)工具 10
5、從以上嵌入式軟件開發(fā)分類來看,嵌入式軟件開發(fā)工具可以分為:與嵌入式OS相關(guān)的開發(fā)工具,用于開發(fā)基 于嵌入式OS的應用和部分的驅(qū)動程序等。與嵌入式OS無關(guān)的開發(fā)工具,用于開發(fā)基本的驅(qū)動程序、輔助硬件調(diào)試,系統(tǒng)軟件的開發(fā)等。 嵌入式軟件開發(fā)工具 11主要嵌入式軟件開發(fā)工具產(chǎn)品RequirementAnalysisSoftwareDesignCodingTestReleasePhasesTAUObjectGeodeRational Rose RealTimeRhapsodyTornadoLambdaTOOLpRISM+SpectraWin CE PlatformBuilderCodeWarriorX
6、ray DebuggerLogiscopeCodeTEST12集成開發(fā)環(huán)境國外集成開發(fā)環(huán)境Wind River的TornadoISI公司(目前已被Wind River兼并)的pRISM+Microtec的SpectraMS的VC+嵌入式Toolkit等GNU的GCC/GDB等系列工具國內(nèi)集成開發(fā)環(huán)境:Coretek LambdaTools13嵌入式軟件的交叉開發(fā)環(huán)境 交叉開發(fā)環(huán)境是指用于嵌入式軟件開發(fā)的所有工具軟件的集合,一般包括文本編輯器、交叉編譯器、交叉調(diào)試器、仿真器、下載器等工具。交叉開發(fā)環(huán)境由宿主機和目標機組成,宿主機與目標機之間在物理連接的基礎(chǔ)上建立起邏輯連接。14嵌入式軟件的交叉開
7、發(fā)環(huán)境 15宿主機:開發(fā)平臺建立在硬件資源豐富的PC機(或者工作站)上,有通用操作系統(tǒng)等系統(tǒng)軟件提供軟件開發(fā)支持,應用程序的編輯、編譯、鏈接等過程都是在Host上完成的;目標機:運行平臺建立在硬件資源相對有限的嵌入式系統(tǒng)硬件平臺上,除了調(diào)試代理沒有其他用于嵌入式軟件開發(fā)的軟件資源;在開發(fā)過程中,目標機端需接收和執(zhí)行宿主機發(fā)出的各種命令如設置斷點、讀內(nèi)存、寫內(nèi)存等,將結(jié)果返回給宿主機,配合宿主機各方面的工作。 宿主機和目標機的差別 16物理連接和邏輯連接 物理連接是指宿主機與目標機上的一定物理端口通過物理線路連接在一起,連接方式主要有三種:串口、以太口和OCD(On Chip Debug)方式如
8、JTAG、BDM等。物理連接是邏輯連接的基礎(chǔ)。邏輯連接指宿主機與目標機間按某種通信協(xié)議建立起來的通信連接,目前逐步形成了一些通信協(xié)議的標準。 嵌入式軟件的交叉開發(fā)環(huán)境 17嵌入式軟件實現(xiàn)階段的開發(fā)過程 設計完成后,嵌入式軟件的開發(fā)進入實現(xiàn)階段,在這個階段的開發(fā)可分為三個步驟:生成、調(diào)試和固化運行。軟件的生成主要是在宿主機上進行,開發(fā)人員利用各種工具完成對應用程序的編輯、交叉編譯和鏈接工作,生成可供調(diào)試或固化的目標程序。調(diào)試是通過交叉調(diào)試器完成軟件的調(diào)試工作。調(diào)試完成后還需進行必要的測試工作,測試完成后進入到最后的固化運行階段。固化運行是先用一定的工具將應用程序固化到目標機上,然后啟動目標機,在
9、沒有任何工具干預的情況下應用程序能自動地啟動運行。18嵌入式軟件生成階段分為三個階段源代碼程序的編寫編譯成各個目標模塊鏈接成可供下載調(diào)試或固化的目標程序編輯器交叉編譯器交叉鏈接器源程序目標模塊可供調(diào)試/固化庫文件19嵌入式軟件的調(diào)試 交叉調(diào)試器 是指調(diào)試程序和被調(diào)試程序運行在不同機器上的調(diào)試器, 調(diào)試器通過某種方式能控制目標機上被調(diào)試程序的運行方式,并且通過調(diào)試器能查看和修改目標機上的內(nèi)存、寄存器以及被調(diào)試程序中的變量等。 20交叉調(diào)試非交叉調(diào)試調(diào)試器和被調(diào)試程序運行在不同的計算機上調(diào)試器和被調(diào)試程序運行在同一臺計算機上可獨立運行,無需操作系統(tǒng)支持需要操作系統(tǒng)的支持被調(diào)試程序的裝載由調(diào)試器完成
10、被調(diào)試程序的裝載由專門的Loader程序完成需要通過外部通信的方式來控制被調(diào)試程序不需要通過外部通信的方式來控制被調(diào)試程序可以直接調(diào)試不同指令集的程序只能直接調(diào)試相同指令集的程序21嵌入式軟件的調(diào)試 交叉調(diào)試方式Rom Monitor方式 Rom Emulator方式In Circuit Emulator方式On Chip Debugging 方式Simulator方式(非交叉)22最早的嵌入式應用軟件調(diào)試方法Crash and Burn在宿主機上編寫代碼在宿主機上編譯應用程序,生成可執(zhí)行程序固化(Burn)到目標機的存儲器(EPROM、FLASH等)中啟動運行,若正確則轉(zhuǎn)到不正確則在宿主機上
11、改寫代碼,糾正錯誤返回重復操作固化成功,結(jié)束23ROM MonitorROM Monitor是運行在目標機上的一段程序,ROM主要指非易失性記憶體,如FLASH等。ROM Monitor負責監(jiān)控目標機上被調(diào)試程序的運行,通常和宿主機段的程序一起完成對應用程序的調(diào)試。ROM Monitor預先被固化到目標機的ROM空間,在目標機復位后首先執(zhí)行的就是ROM Monitor程序,它對目標機進行一些必要的初始化,然后初始化自己的程序空間,最后等待宿主機段的命令。ROM Monitor能完成被調(diào)試程序的下載,目標機內(nèi)存和寄存器的讀寫,設置斷點,單步執(zhí)行被調(diào)試程序等功能,一些高級的ROM Monitor能
12、完成代碼分析、系統(tǒng)分析、ROM空間的寫操作以及設置各種非常復雜的斷點等功能。24ROM Monitor調(diào)試結(jié)構(gòu)最簡便的方法25注意:采用本方法,在目標機復位后首先執(zhí)行的就是ROM Monitor,它對目標機進行一些必要的初始化,然后初始化自己的程序空間,最后就等待HOST端的命令。 ROM Monitor能在調(diào)試模式下完成程序下載、目標機內(nèi)存和寄存器的讀寫、設置斷點、單步執(zhí)行等調(diào)試功能。26調(diào)試過程:在宿主機上編寫代碼在宿主機上使用調(diào)試模式交叉編譯應用程序,生成可執(zhí)行程序?qū)⒋a下載到目標機上的RAM空間用戶使用調(diào)試器進行交叉調(diào)試如果正確轉(zhuǎn)不正確則在調(diào)試器幫助下定位錯誤修改錯誤,重復將程序固化到
13、目標機上,結(jié)束27ROM Monitor的優(yōu)點簡單、方便;支持許多高級的調(diào)試功能;可擴展性強;成本低廉;基本上不需要專門的調(diào)試硬件支持。28ROM Monitor的缺點Debug Monitor需要用Crash and Burn方法開發(fā)當ROM Monitor占用CPU時,應用程序不響應外部的中斷,因此不便調(diào)試有時間特性的程序。要求目標機必須有足夠的ROM目標機CPU不支持硬件斷點時,ROM Monitor無法調(diào)試ROM程序和設置數(shù)據(jù)斷點。ROM Monitor要占用目標機一定數(shù)量的資源,如:CPU資源、RAM資源和通信設備(如:串口、網(wǎng)卡等)資源。調(diào)試環(huán)境不同于實際目標環(huán)境29ROM Emu
14、lator 嵌入式應用的開發(fā)經(jīng)常會遭遇缺少目標機環(huán)境、缺乏目標機芯片等資源,而開發(fā)過程又不可能停止的問題,因此自然就提出了根據(jù)不同的應用需要,利用仿真器件、仿真環(huán)境進行開發(fā)的方法,ROM Emulator是其中之一,其它還有ICE、OCD等。 ROM Emulator是一種用于替代目標機上的ROM芯片的設備,即ROM仿真器。利用這種設備,目標機可以沒有ROM芯片,但目標機的CPU可以讀取ROM Emulator設備上ROM芯片的內(nèi)容:ROM Emulator設備上的ROM芯片的地址可以實時地映射到目標機的ROM地址空間,從而仿真(Emulation)目標機的ROM。 30 ROM Emulat
15、or的調(diào)試方式是一種不完全的調(diào)試方式:ROM Emulator設備只是為目標機提供ROM芯片和在Target和Host間建立一條高速的通信通道,因此它經(jīng)常和前面兩種調(diào)試方式結(jié)合起來形成一種完備的調(diào)試方式。ROM Emulator的典型應用就是和ROM Monitor的調(diào)試方式相結(jié)合。31目標機可以沒有ROM芯片、可以使用ROM Emulator提供的ROM空間且不需要用別的工具來寫ROM。 優(yōu)點目標機必須能支持外部ROM存儲空間,而且由于其通常要和ROM Monitor配合使用,因此它擁有ROM Monitor的所有缺點。 缺點32內(nèi)部電路仿真器(ICE) ICE(In-Circuit Emu
16、lator)是一種用于替代目標機上CPU的設備,即在線仿真器。它比一般的CPU有更多的引出線,能夠?qū)?nèi)部的信號輸出到被控制的目標機。ICE上的Memory也可以被映射到用戶的程序空間,這樣即使目標機不存在的情形下也可以進行代碼的調(diào)試。 ICE是用來仿真CPU核心的設備,它可以在不干擾運算器的正常運行情況下,實時的檢測CPU的內(nèi)部工作情況。 33ICE調(diào)試結(jié)構(gòu)宿主開發(fā)平臺目標平臺ICE34連接ICE和目標機時,一般是將目標機的CPU取下,而將ICE的CPU引出線接到目標機的CPU插槽。 用ICE進行調(diào)試時,在Host端運行的調(diào)試器通過ICE來控制目標機上運行的程序。 35功能特點同時支持軟斷點和
17、硬件斷點的設置設置各種復雜的斷點和觸發(fā)器實時跟蹤目標程序的運行選擇性的跟蹤程序的運行支持“Time Stamp” 允許用戶設置“Timer” 提供“Shadow RAM”,能在不中斷被調(diào)試程序的運行下查看內(nèi)存和變量即非干擾調(diào)試查詢 36調(diào)試實時的應用系統(tǒng)調(diào)試設備驅(qū)動程序?qū)τ布M行功能和性能的測試實時性能分析應用:價格太昂貴,不利于團隊開發(fā)所仿CPU有限缺點:37OCDOCD(On Chip Debugging)是CPU芯片提供的一種調(diào)試功能(片上調(diào)試),在處理器內(nèi)部嵌入額外的控制模塊,可以認為是一種廉價的ICE功能:OCD的價格只有ICE的20%,但提供了ICE 80%的功能。最初的OCD是一
18、種仿ROM Monitor的結(jié)構(gòu),是將ROM Monitor的功能以微碼的形式表現(xiàn)。后來的OCD徹底屏棄了這種ROM Monitor的結(jié)構(gòu),而采用了兩級模式的思路,即:將CPU的模式分為一般模式和調(diào)試模式。38OCD調(diào)試結(jié)構(gòu)39OCD調(diào)試方法將CPU的模式分為一般模式和調(diào)試模式一般模式下, CPU從內(nèi)存讀取指令執(zhí)行調(diào)試模式下,CPU首先從調(diào)試端口讀取指令,通過調(diào)試端口可以控制CPU進入和退出調(diào)試模式;Host端的調(diào)試器可以直接向目標機發(fā)送要執(zhí)行的指令,讀寫目標機的內(nèi)存和各種寄存器,控制目標程序的運行以及完成各種復雜的調(diào)試功能。40優(yōu)點不占用目標機的資源調(diào)試環(huán)境和最終的程序運行環(huán)境基本一致支持軟
19、硬斷點、Trace功能精確計量程序的執(zhí)行時間提供時序分析功能41缺點調(diào)試的實時性不如ICE不支持非干擾調(diào)試查詢CPU必需具有OCD功能OCD存在各種實現(xiàn)、標準不統(tǒng)一-BDM(Backgroud Debugging Mode)-JTAG(Joint Test Access Group)-OnCE(On Chip Emulation)42交叉開發(fā)的缺點硬件支持:必須有目標機或評估板易使用性:普通編程人員不熟悉廉價性:成本高可移植性、可擴展性:不高團隊開發(fā):較難開發(fā)周期:較長43仿真開發(fā)類型 硬件仿真開發(fā)- ICE 軟件仿真開發(fā)-指令級仿真開發(fā)-API級仿真開發(fā)44軟件仿真開發(fā)在宿主機上創(chuàng)建一個虛擬
20、的目標機環(huán)境,再將應用系統(tǒng)下載到這個虛擬目標機上運行調(diào)試。 Simulator一種軟件仿真器,相當于在Host上虛擬了一臺目標機:仿真處理器仿真外設仿真環(huán)境4546軟件仿真開發(fā)過程 47優(yōu)點最大好處就是可以不用真正的目標機,可以在目標機環(huán)境并不存在的條件下開發(fā)目標機上的應用系統(tǒng),并且在調(diào)試時可以利用Host資源提供更詳細的錯誤診斷信息。48缺點和實際的運行環(huán)境差別很大設備模擬的局限性較大實時特性較差對Host的資源要求較高對時間特性沒有嚴格要求、沒有特殊外設、只需要驗證邏輯正確的應用程序。適用范圍49嵌入式軟件的固化運行 當調(diào)試完成之后,程序代碼需要被完全燒入到目標板的非易失性存儲器中,并且在
21、真實的硬件環(huán)境上運行,這個過程叫做固化。分析調(diào)試環(huán)境與固化環(huán)境之間的區(qū)別是解決固化問題的關(guān)鍵所在代碼定位不同初始化部分不同50嵌入式軟件開發(fā)工具的發(fā)展一直落后于主機或臺式機系統(tǒng)的軟件開發(fā)工具的發(fā)展。近幾年來,隨著市場需求的增長,越來越多具有多窗口圖形化用戶界面、支持面向?qū)ο蟪绦蛟O計方法和C/S體系結(jié)構(gòu)的嵌入式軟件開發(fā)工具被推上市場。 嵌入式軟件開發(fā)工具技術(shù) 51嵌入式軟件工具技術(shù)目前的發(fā)展狀況:向著開放式、集成化的方向發(fā)展。以C/S體系結(jié)構(gòu)為基礎(chǔ),具有運行系統(tǒng)的無關(guān)性、連接的無關(guān)性、開放的軟件接口和環(huán)境一致性等特點。具有系統(tǒng)設計、可視化建模、仿真和驗證功能。自動生成代碼和文檔。開發(fā)工具可根據(jù)系
22、統(tǒng)模型生成C/C+/JAVA語言的源代碼,提供完善的、標準化的軟件說明文檔。具有更高的靈活性。嵌入式系統(tǒng)開發(fā)商需要擁有極其靈活的產(chǎn)品架構(gòu)和開發(fā)工具,配備適應于特定行業(yè)的工具、操作系統(tǒng)和中間件。嵌入式軟件開發(fā)工具技術(shù) 52嵌入式系統(tǒng)開發(fā)模式 最大特點:軟硬件綜合開發(fā)。 原因:嵌入式產(chǎn)品是軟硬件的結(jié)合體 軟件針對硬件開發(fā)、固化53嵌入式系統(tǒng)開發(fā)過程 54系統(tǒng)總體設計55硬件設計制作56軟件設計實現(xiàn)57一種嵌入式多任務軟件的開發(fā)方法 DARTS方法DARTS: 結(jié)構(gòu)化分析/結(jié)構(gòu)化設計的方法,給出了劃分任務的方法以及定義任務間接口的機制.嵌入式實時軟件系統(tǒng)的生命周期:需求分析與說明系統(tǒng)設計任務劃分原則
23、定義任務間接口任務設計模塊構(gòu)筑任務與系統(tǒng)集成58嵌入式實時軟件系統(tǒng)的生命周期需求分析與詳細說明系統(tǒng)設計任務分解, 定義任務間接口關(guān)系任務設計按模塊方式設計每個任務,定義模塊間接口模塊構(gòu)筑完成每個模塊的詳細設計、編碼和單元測試任務與系統(tǒng)集成系統(tǒng)測試59實 例 說 明60解 釋控制設備由內(nèi)部控制器和外部控制面板組成控制器控制六個轉(zhuǎn)軸,并與數(shù)字I/O傳感器交互作用。轉(zhuǎn)軸和I/O由程序控制該程序由控制面板操作啟動執(zhí)行61控制執(zhí)行過程按下“上電”按鈕,系統(tǒng)進入了上電狀態(tài)。上電成功后,系統(tǒng)進入了手動狀態(tài)。此時,操作者可以通過程序選擇開關(guān)選擇程序按下“運行”按鈕,則選定的程序開始運行,系統(tǒng)轉(zhuǎn)為運行態(tài)。程序運
24、行中如果按下“停止”鍵,程序被掛起。之后,操作者可以按下“運行”鍵,使程序恢復執(zhí)行,也可按下“結(jié)束”鍵,結(jié)束程序。按下“結(jié)束”鍵后,系統(tǒng)進入終止態(tài)。當程序最終終止執(zhí)行時,系統(tǒng)返回手動狀態(tài)。 62需求說明給出系統(tǒng)功能需求(功能,輸入,輸出)、外部接口需求(如用戶界面)、性能以及諸如文件/數(shù)據(jù)庫安全等其它要求。實時系統(tǒng)常用狀態(tài)變遷圖描述系統(tǒng),為此需先設計狀態(tài)變遷圖,此圖在設計階段被逐步細化。需求分析與說明63需求分析與說明64系 統(tǒng) 設 計系統(tǒng)設計說明該系統(tǒng)如何被分解成多個任務, 如何定義任務間的關(guān)系任務劃分方法 DARTS(結(jié)構(gòu)化分析/結(jié)構(gòu)化設計)設計方法,此方法給出了劃分任務的方法以及定義任務
25、間接口的機制。65DARTS設計方法 數(shù)據(jù)流分析每個數(shù)據(jù)流圖都包含:變換圈, 表示系統(tǒng)完成的功能箭頭表示變換間的數(shù)據(jù)流動 數(shù)據(jù)存儲區(qū)表示數(shù)據(jù)的存儲場所數(shù)據(jù)字典定義了數(shù)據(jù)流和數(shù)據(jù)存儲區(qū)所包含的數(shù)據(jù)項66圖 機器人控制數(shù)據(jù)流圖程序面板輸入有效性檢查解釋程序各語句讀傳感器處理面板輸入 處理I/O指令處理動作命令向傳感器輸出輸出動作軸數(shù)據(jù)接收確認輸出到面板 輸入軸控制器讀面板 輸入按下按鈕面板輸入 有效的面板輸入 運行開始 結(jié)束動作命令動作確認I/O命令傳感器值輸入傳感器輸入傳感器輸出輸出面板輸出顯示燈 運行 停止重啟動軸塊軸確認軸輸入軸輸出動作塊67DARTS設計方法劃分任務 識別出系統(tǒng)所有功能和它
26、們之間的數(shù)據(jù)流后,下一步將涉及怎樣在數(shù)據(jù)流圖上確定出并發(fā)的任務。劃分任務原則I/O 依賴性 時間關(guān)鍵性的功能計算量大的功能功能內(nèi)聚(Functional relations)時間內(nèi)聚(Temporal relations)周期執(zhí)行的功能(Cyclic executing function)68 I/O 依賴性 DeviceI/O Task App.Task在系統(tǒng)中創(chuàng)建多個與I/O設備相當數(shù)目I/O任務I/O任務只實現(xiàn)與設備相關(guān)的代碼I/O任務的執(zhí)行只受限于I/O設備的速度,而不是處理器在任務中分離設備相關(guān)性69 時間關(guān)鍵性將有時間關(guān)鍵性(deadline)的功能分離出來,組成獨立運行的任務;賦
27、予這些任務高的優(yōu)先級,以滿足對時間的需要。event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline 270計算功能占用CPU的時間多,捆綁計算功能成任務,賦予它們較低優(yōu)先級運行, 能被高優(yōu)先級的任務搶占,消耗CPU的剩余時間;保持高優(yōu)先級的任務是輕量級的;多個計算任務可安排成同優(yōu)先級,按時間片循環(huán)輪轉(zhuǎn)。 計算內(nèi)聚event 1event 2Task1Task2 event 2Task2BackgroundComputation Task71功能內(nèi)聚各緊密相關(guān)的功能,不能分別對應不同的任務,將這些緊密相關(guān)的功能組,組成一個任務, 使各功能共
28、享資源或相同事件的驅(qū)動。組成一個任務會減少通信的開銷,而且不僅保證了模塊級的功能內(nèi)聚, 也保證了任務級的功能內(nèi)聚。event 1F1(x) + F3(x)event 2F2(y)72時間內(nèi)聚將在同一時間內(nèi)完成的各功能,即使這些功能是不相關(guān)的,組成功能組,形成一個任務 功能組的各功能是由相同的外部事件驅(qū)動的(如:時鐘等),這樣每次任務接收到一個事件, 它們都可以同時執(zhí)行。 組成一個任務,減少了系統(tǒng)的開銷Clock TickeventF1(x) + F2(y)+F3(z)F4(x)+F5(y)73周期執(zhí)行功能將在相同周期內(nèi)執(zhí)行的各功能組成一個任務頻率高的賦予高優(yōu)先級F1F2F110HZ10HZ15HZ15HZF27475定義任務接口任務間通信模塊消息通信模塊信息隱藏模塊 76任務同步模塊定義任務接口7778 任務設計 任務體系結(jié)構(gòu) 任務執(zhí)行流程 任務內(nèi)數(shù)據(jù)結(jié)構(gòu) 任務內(nèi)模塊間接口 函數(shù)設計詳細說明系統(tǒng)中各任務的設計考慮和執(zhí)行流程,以利于程序員編制程序。 79 任務體系結(jié)構(gòu)詳細定義任務包含的子模塊(或類)和模塊間(類之間)的關(guān)系。 任務執(zhí)行流程任務執(zhí)行流程子模塊(類)的執(zhí)行過程盡可能詳細地描述任務的處理過程:直到每個具體的函數(shù)調(diào)用80 任務設計81 任務設計82函數(shù)設計函數(shù)描述:給出對該函數(shù)的簡要描述,說明設計目的、意義以及特點功能:說明該函數(shù)應具有的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人股權(quán)轉(zhuǎn)讓與股權(quán)激勵計劃合同4篇
- 2025年在線娛樂服務合同
- 2025年借殼上市銷售協(xié)議
- 2025年化工品供應協(xié)議
- 2025年辦公用品采購合同
- 2025年倉庫租賃業(yè)務保密協(xié)議
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)運營管理合同范本4篇
- 二零二五版智慧小區(qū)門禁系統(tǒng)采購與維護協(xié)議4篇
- 二零二五年度二手船舶購置協(xié)議材料船舶買賣3篇
- 2025版儲罐租賃及物聯(lián)網(wǎng)技術(shù)應用合同3篇
- 餐廚垃圾收運安全操作規(guī)范
- 皮膚內(nèi)科過敏反應病例分析
- 電影《獅子王》的視聽語言解析
- 妊娠合并低鉀血癥護理查房
- 煤礦反三違培訓課件
- 向流程設計要效率
- 2024年中國航空發(fā)動機集團招聘筆試參考題庫含答案解析
- 當代中外公司治理典型案例剖析(中科院研究生課件)
- 動力管道設計手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
評論
0/150
提交評論