版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)軟件的開發(fā)主要講授內(nèi)容
●嵌入式軟件開發(fā)工具
●嵌入式系統(tǒng)開發(fā)模式
●實(shí)時(shí)軟件分析與設(shè)計(jì)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系1陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具●嵌入式軟件開發(fā)工具的分類●嵌入式軟件的交叉開發(fā)環(huán)境●嵌入式軟件實(shí)現(xiàn)階段的開發(fā)過程●嵌入式軟件開發(fā)工具的發(fā)展趨勢(shì)“工欲善其事,必先利其器”
嵌入式軟件開發(fā)工具的集成度和可用性將直接關(guān)系到嵌入式系統(tǒng)的開發(fā)效率。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟2陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類根據(jù)不同的階段,嵌入式軟件開發(fā)工具可以分為:1)需求分析工具(RequirementAnalysisTools)2)軟件設(shè)計(jì)工具(SoftwareDesignTools)3)編碼、調(diào)試工具(CodingTools)4)測(cè)試工具(TestingTools)5)配置管理工具、維護(hù)工具等。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟3陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具主要嵌入式軟件開發(fā)工具產(chǎn)品RequirementAnalysisSoftwareDesignCodingTestReleasePhasesTAUObjectGeodeRationalRoseRealTimeRhapsodyTornadopRISM+SpectraWinCEPlatformBuilderCodeWarriorXrayDebuggerLogiscopeCodeTESTLambdaTOOL陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具主要嵌入4陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類嵌入式軟件的開發(fā)可以分為以下幾種:1)編寫簡單的板級(jí)測(cè)試軟件,主要是輔助硬件的調(diào)試;2)開發(fā)基本的驅(qū)動(dòng)程序;3)開發(fā)特定嵌入式操作系統(tǒng)的驅(qū)動(dòng)程序(板級(jí)支持包);4)開發(fā)嵌入式系統(tǒng)軟件,如:嵌入式操作系統(tǒng)等;5)開發(fā)應(yīng)用軟件陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟5陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類從以上嵌入式軟件開發(fā)分類來看,嵌入式軟件開發(fā)工具可以分為:I)與嵌入式OS相關(guān)的開發(fā)工具,用于開發(fā):■基于嵌入式OS的應(yīng)用■部分驅(qū)動(dòng)程序等II)與嵌入式OS無關(guān)的開發(fā)工具,用于開發(fā):■基本的驅(qū)動(dòng)程序■輔助硬件調(diào)試程序■系統(tǒng)軟件等陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟6陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境:是指用于嵌入式軟件開發(fā)的所有工具軟件的集合,一般包括:■文本編輯器■交叉編譯器■交叉調(diào)試器■仿真器■下載器等交叉開發(fā)環(huán)境由宿主機(jī)和目標(biāo)機(jī)組成,宿主機(jī)與目標(biāo)機(jī)之間在物理連接的基礎(chǔ)上建立起邏輯連接。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟7陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉開發(fā)環(huán)境目標(biāo)機(jī)硬件目標(biāo)機(jī)應(yīng)用系統(tǒng)—應(yīng)用軟件—應(yīng)用中間件—目標(biāo)機(jī)OS宿主機(jī)硬件宿主機(jī)OS調(diào)試代理運(yùn)行庫宿主機(jī)開發(fā)環(huán)境—編輯—編譯—連接—調(diào)試運(yùn)行平臺(tái)Target開發(fā)平臺(tái)HostDownLoad陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉開發(fā)8陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境宿主機(jī)(Host):是用于開發(fā)嵌入式系統(tǒng)的計(jì)算機(jī)。一般為PC機(jī)(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。目標(biāo)機(jī)(Target):即所開發(fā)的嵌入式系統(tǒng),是嵌入式軟件的運(yùn)行環(huán)境,其硬件軟件是為特定應(yīng)用定制的。在開發(fā)過程中,目標(biāo)機(jī)端需接收和執(zhí)行宿主機(jī)發(fā)出的各種命令如設(shè)置斷點(diǎn)、讀內(nèi)存、寫內(nèi)存等,將結(jié)果返回給宿主機(jī),配合宿主機(jī)各方面的工作。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟9陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境物理連接和邏輯連接物理連接:是指宿主機(jī)與目標(biāo)機(jī)通過物理線路連接在一起,連接方式主要有三種:■串口、并口■以太口■OCD(OnChipDebug)方式,如JTAG、BDM等物理連接是邏輯連接的基礎(chǔ)。邏輯連接:指宿主機(jī)與目標(biāo)機(jī)間按某種通信協(xié)議建立起來的通信連接,目前逐步形成了一些通信協(xié)議的標(biāo)準(zhǔn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟10陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件實(shí)現(xiàn)階段的開發(fā)過程設(shè)計(jì)完成后,嵌入式軟件的開發(fā)進(jìn)入實(shí)現(xiàn)階段,可分為三個(gè)步驟:生成、調(diào)試和固化運(yùn)行。軟件的生成:主要是在宿主機(jī)上進(jìn)行,利用各種工具完成對(duì)應(yīng)用程序的編輯、交叉編譯和鏈接工作,生成可供調(diào)試或固化的目標(biāo)程序。調(diào)試:通過交叉調(diào)試器完成軟件的調(diào)試工作。調(diào)試完成后還需進(jìn)行必要的測(cè)試工作。固化運(yùn)行:先用一定的工具將應(yīng)用程序固化到目標(biāo)機(jī)上,然后啟動(dòng)目標(biāo)機(jī),在沒有任何工具干預(yù)的情況下應(yīng)用程序能自動(dòng)地啟動(dòng)運(yùn)行。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟11陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件生成階段三個(gè)過程:源代碼程序的編寫編譯成各個(gè)目標(biāo)模塊鏈接成可供下載調(diào)試或固化的目標(biāo)程序編輯器交叉編譯器交叉鏈接器源程序目標(biāo)模塊可供調(diào)試/固化庫文件交叉編譯:
在宿主機(jī)上編寫的高級(jí)語言程序編譯成可以運(yùn)行在目標(biāo)機(jī)上的代碼,即在宿主機(jī)上能夠編譯生成另一種CPU(嵌入式微處理器)上的二進(jìn)制程序。
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟12陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的調(diào)試交叉調(diào)試器:是指調(diào)試程序和被調(diào)試程序運(yùn)行在不同機(jī)器上的調(diào)試器。調(diào)試器通過某種方式能控制目標(biāo)機(jī)上被調(diào)試程序的運(yùn)行方式,通過調(diào)試器能查看和修改目標(biāo)機(jī)上的內(nèi)存、寄存器以及被調(diào)試程序中的變量等。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟13陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉調(diào)試非交叉調(diào)試調(diào)試器和被調(diào)試程序運(yùn)行在不同的計(jì)算機(jī)上調(diào)試器和被調(diào)試程序運(yùn)行在同一臺(tái)計(jì)算機(jī)上可獨(dú)立運(yùn)行,無需操作系統(tǒng)支持需要操作系統(tǒng)的支持被調(diào)試程序的裝載由調(diào)試器完成被調(diào)試程序的裝載由專門的Loader程序完成需要通過外部通信的方式來控制被調(diào)試程序不需要通過外部通信的方式來控制被調(diào)試程序可以直接調(diào)試不同指令集的程序只能直接調(diào)試相同指令集的程序陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉調(diào)試14陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的調(diào)試交叉調(diào)試方式:CrashandBurn RomMonitorRomEmulatorInCircuitEmulator(ICE)OnChipDebugging(OCD)Simulator方式(非交叉)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟15陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具CrashandBurn最早的嵌入式應(yīng)用軟件調(diào)試方法。在宿主機(jī)上編寫代碼反復(fù)檢查代碼,直到編譯通過,生成可執(zhí)行程序?qū)⒊绦蚬袒˙urn)到目標(biāo)機(jī)的非易失性存儲(chǔ)器(E2PROM、FLASH等)中在宿主機(jī)上反復(fù)檢查碼,查找問題根源改寫代碼啟動(dòng)目標(biāo)機(jī)運(yùn)行,觀察程序是否正常工作NY結(jié)束陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Cras16陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor是被固化且運(yùn)行在目標(biāo)機(jī)上的一段程序,負(fù)責(zé)監(jiān)控目標(biāo)機(jī)上被調(diào)試程序的運(yùn)行,與宿主機(jī)端的調(diào)試器一起完成對(duì)應(yīng)用程序的調(diào)試。調(diào)試器與ROMMonitor之間的通信遵循遠(yuǎn)程調(diào)試協(xié)議。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM17陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor調(diào)試方式調(diào)試器Windows或其它桌面操作系統(tǒng)PC機(jī)等硬件嵌入式硬件監(jiān)控程序(ROMMonitor)被調(diào)試程序宿主機(jī)目標(biāo)機(jī)邏輯上的連接物理上的連接陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM18陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor工作原理:
■在目標(biāo)機(jī)上電或復(fù)位后首先執(zhí)行ROMMonitor,它對(duì)目標(biāo)機(jī)進(jìn)行一些必要的初始化:---初始化要求的外圍設(shè)備,如最基本的串口和用于內(nèi)存刷新的系統(tǒng)計(jì)時(shí)器芯片;---初始化用于下載映像的內(nèi)存系統(tǒng);---初始化中斷控制器和安裝中斷處理程序。■初始化自己的程序空間■等待宿主機(jī)端的命令陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM19陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor能配合調(diào)試器完成:---程序映像下載---對(duì)目標(biāo)機(jī)系統(tǒng)內(nèi)存的讀寫---對(duì)寄存器的讀寫---設(shè)置和清除不同類型的斷點(diǎn)---單步執(zhí)行指令---復(fù)位系統(tǒng)等調(diào)試功能陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM20陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor調(diào)試過程:(1)啟動(dòng)目標(biāo)機(jī),監(jiān)控器掌握對(duì)目標(biāo)機(jī)的控制,等待和調(diào)試器建立連接;(2)啟動(dòng)調(diào)試器,并和監(jiān)控器建立起通信連接;(3)使用調(diào)試器將應(yīng)用程序下載到目標(biāo)機(jī)上的RAM空間中;(4)使用調(diào)試器進(jìn)行調(diào)試,發(fā)出各種調(diào)試命令,監(jiān)控器解釋并執(zhí)行這些命令,通過目標(biāo)機(jī)上的各種異常來獲取對(duì)目標(biāo)機(jī)的控制,將命令執(zhí)行結(jié)果回傳給調(diào)試器;(5)如果程序有問題,在調(diào)試器的幫助下定位錯(cuò)誤;修改之后再重新編譯鏈接并下載程序,開始新的調(diào)試,如此反復(fù)直至程序正確運(yùn)行為止。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM21陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor優(yōu)點(diǎn):1)提高調(diào)試程序的效率,縮短開發(fā)周期,降低成本2)簡單、方便3)可擴(kuò)展性強(qiáng),可支持許多高級(jí)調(diào)試功能4)成本低廉,不需專門的調(diào)試硬件支持5)幾乎所有的交叉調(diào)試器都支持這種方式
缺點(diǎn):1)需要用CrashandBurn方法開發(fā)。2)當(dāng)ROMMonitor占用CPU時(shí),應(yīng)用程序不響應(yīng)外部的中斷,因此不便調(diào)試有時(shí)間特性的程序。3)某些調(diào)試功能依賴于CPU硬件的支持(如硬件斷點(diǎn)功能)4)ROMMonitor要占用目標(biāo)機(jī)一定數(shù)量的資源,如CPU、RAM、ROM和通信設(shè)備等資源。5)調(diào)試環(huán)境不同于實(shí)際目標(biāo)環(huán)境。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM22陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具仿真開發(fā)方式
嵌入式應(yīng)用的開發(fā)經(jīng)常會(huì)遭遇缺少目標(biāo)機(jī)環(huán)境、缺乏目標(biāo)機(jī)芯片等資源的問題,而開發(fā)過程又不可能停止,因此自然就提出了根據(jù)不同的應(yīng)用需要,利用仿真器件、仿真環(huán)境進(jìn)行開發(fā)的方法。硬件仿真開發(fā)ROMEmulatorICEOCD軟件仿真開發(fā)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具仿真開發(fā)23陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMEmulator
ROMEmulator是一種用于替代目標(biāo)機(jī)上的ROM芯片的設(shè)備,即ROM仿真器。利用這種設(shè)備,目標(biāo)機(jī)可以沒有ROM芯片,但目標(biāo)機(jī)的CPU可以讀取ROMEmulator設(shè)備上ROM芯片的內(nèi)容:ROMEmulator設(shè)備上的ROM芯片的地址可以實(shí)時(shí)地映射到目標(biāo)機(jī)的ROM地址空間,從而仿真(Emulation)目標(biāo)機(jī)的ROM。ROMEmulator的調(diào)試方式是一種不完全的調(diào)試方式:ROMEmulator設(shè)備只是為目標(biāo)機(jī)提供ROM芯片和在Target和Host間建立一條高速的通信通道,因此它經(jīng)常和前面兩種調(diào)試方式結(jié)合起來形成一種完備的調(diào)試方式。ROMEmulator的典型應(yīng)用就是和ROMMonitor的調(diào)試方式相結(jié)合。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM24陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMEmulator優(yōu)點(diǎn): 目標(biāo)機(jī)可以沒有ROM芯片、可以使用ROMEmulator提供的ROM空間且不需要用別的工具來寫ROM。缺點(diǎn): 目標(biāo)機(jī)必須能支持外部ROM存儲(chǔ)空間,而且由于其通常要和ROMMonitor配合使用,因此它擁有ROMMonitor的所有缺點(diǎn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM25陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICEICE(In-CircuitEmulator):是一種用于替代目標(biāo)機(jī)上CPU的設(shè)備,即在線仿真器。它比一般的CPU有更多的引出線,能夠?qū)?nèi)部的信號(hào)輸出到被控制的目標(biāo)機(jī)。ICE上的Memory也可以被映射到用戶的程序空間,這樣即使目標(biāo)機(jī)不存在的情形下也可以進(jìn)行代碼的調(diào)試。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICEI26陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具宿主開發(fā)平臺(tái)目標(biāo)平臺(tái)ICEICE調(diào)試結(jié)構(gòu)連接ICE和目標(biāo)機(jī)時(shí),一般是將目標(biāo)機(jī)的CPU取下,而將ICE的CPU引出線接到目標(biāo)機(jī)的CPU插槽。用ICE進(jìn)行調(diào)試時(shí),在Host端運(yùn)行的調(diào)試器通過ICE來控制目標(biāo)機(jī)上運(yùn)行的程序。ICE陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具宿主開目27陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能特點(diǎn):
---同時(shí)支持軟斷點(diǎn)和硬件斷點(diǎn)的設(shè)置---設(shè)置各種復(fù)雜的斷點(diǎn)和觸發(fā)器---實(shí)時(shí)跟蹤目標(biāo)程序的運(yùn)行,并可實(shí)現(xiàn)選擇性的跟蹤---支持“TimeStamp”---允許用戶設(shè)置“Timer”---提供“ShadowRAM”,能在不中斷被調(diào)試程序的運(yùn)行下查看內(nèi)存和變量即非干擾調(diào)試查詢。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能特點(diǎn)28陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICE適用于:1)調(diào)試實(shí)時(shí)的應(yīng)用系統(tǒng)2)調(diào)試設(shè)備驅(qū)動(dòng)程序3)對(duì)硬件進(jìn)行功能和性能的測(cè)試4)實(shí)時(shí)性能分析缺點(diǎn):1)價(jià)格太昂貴,不利于團(tuán)隊(duì)開發(fā)2)所仿CPU有限陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICE適29陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD
OCD(OnChipDebugging):是CPU芯片提供的一種調(diào)試功能(片上調(diào)試),可以認(rèn)為是一種廉價(jià)的ICE功能:OCD的價(jià)格只有ICE的20%,但提供了ICE80%的功能。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD 30陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)試結(jié)構(gòu)調(diào)試器Windows或其它桌面操作系統(tǒng)PC機(jī)等硬件被調(diào)試程序OCD接口嵌入式硬件宿主機(jī)目標(biāo)機(jī)邏輯上的連接物理連接仿真器針形連接器并口、串口或網(wǎng)絡(luò)接口為特定處理器而建造陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)31陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)試方法:1)將CPU的模式分為一般模式和調(diào)試模式2)一般模式下,CPU從內(nèi)存讀取指令執(zhí)行3)調(diào)試模式下,CPU首先從調(diào)試端口讀取指令,通過調(diào)試端口可以控制CPU進(jìn)入和退出調(diào)試模式;Host端的調(diào)試器可以直接向目標(biāo)機(jī)發(fā)送要執(zhí)行的指令,讀寫目標(biāo)機(jī)的內(nèi)存和各種寄存器,控制目標(biāo)程序的運(yùn)行以及完成各種復(fù)雜的調(diào)試功能。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)32陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD優(yōu)點(diǎn):1)不占用目標(biāo)機(jī)的資源2)調(diào)試環(huán)境和最終的程序運(yùn)行環(huán)境基本一致3)支持軟硬斷點(diǎn)、Trace功能4)精確計(jì)量程序的執(zhí)行時(shí)間5)提供時(shí)序分析功能缺點(diǎn):1)調(diào)試的實(shí)時(shí)性不如ICE2)不支持非干擾調(diào)試查詢3)CPU必需具有OCD功能陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD優(yōu)33陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD實(shí)現(xiàn)方式:BDM(BackgroundDebuggingMode)JTAG(JointTestAccessGroup)(主流方式)OnCE(OnChipEmulation)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD實(shí)34陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具各種OCD仿真器實(shí)例陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具各種OC35陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)
JTAG——標(biāo)準(zhǔn)測(cè)試訪問接口與邊界掃描結(jié)構(gòu)(StandardTestAccessPortandBoundaryScanArchitecture),已被IEEE1149.1標(biāo)準(zhǔn)所采納,是面向用戶的測(cè)試接口。該接口一般由4個(gè)引腳組成:測(cè)試數(shù)據(jù)輸入(TDI)測(cè)試數(shù)據(jù)輸出(TDO)測(cè)試時(shí)鐘(TCK)測(cè)試模式選擇引腳(TMS)異步測(cè)試復(fù)位引腳(TRST,可選)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描36陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)優(yōu)點(diǎn):---可以通過邊界掃描操作測(cè)試整個(gè)板的電氣連接,特別為表面貼元件提供方便---各個(gè)引腳信號(hào)的采樣,并可強(qiáng)制引腳輸出用以測(cè)試外圍芯片---可以軟件下載、執(zhí)行、調(diào)試和控制,為復(fù)雜的實(shí)時(shí)跟蹤調(diào)試提供路徑---可以進(jìn)行多內(nèi)核和多處理器的板級(jí)和芯片級(jí)的調(diào)試,通過串接,為芯片制造商提供芯片生產(chǎn)、測(cè)試的途徑---不占用系統(tǒng)資源,能夠調(diào)試沒有外部總線的芯片,代價(jià)非常小陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描37陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)缺點(diǎn):---通過串口依次傳遞數(shù)據(jù),速度比較慢---只能進(jìn)行軟件斷點(diǎn)級(jí)別的調(diào)試不能完成實(shí)時(shí)跟蹤和多種事件觸發(fā)等復(fù)雜調(diào)試功能幾種增強(qiáng)版本:
---ARM芯片的實(shí)時(shí)調(diào)試方案(E-TRACE)---背景調(diào)試模式BDM---片上仿真OnCE陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描38陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexus標(biāo)準(zhǔn)
提出一個(gè)在JTAG之上的嵌入式處理器調(diào)試的統(tǒng)一標(biāo)準(zhǔn),將調(diào)試開發(fā)分成四級(jí):---第一級(jí)使用JTAG的簡單靜態(tài)調(diào)試;---第二級(jí)支持編程跟蹤和實(shí)時(shí)多任務(wù)的跟蹤,并允許用戶用I/O引腳作為多路復(fù)用輔助調(diào)試口;---第三級(jí)包括處理器運(yùn)行時(shí)的數(shù)據(jù)寫入跟蹤和存儲(chǔ)器的讀寫跟蹤;---第四級(jí)增加了存儲(chǔ)替換并觸發(fā)復(fù)雜的硬件斷點(diǎn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexu39陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexus標(biāo)準(zhǔn)通過Nexus標(biāo)準(zhǔn)可以解決以下問題:---調(diào)試內(nèi)部總線沒有引出的處理器,如含有片內(nèi)存儲(chǔ)器的芯片---傳統(tǒng)在線仿真器無法實(shí)現(xiàn)的高速調(diào)試---深度流水線和有片上Cache的芯片,能夠探測(cè)具體哪條指令被取指和最終執(zhí)行---可以穩(wěn)定地進(jìn)行多內(nèi)核處理器的調(diào)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexu40陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator交叉開發(fā)方式存在如下缺點(diǎn):
●硬件支持:必須有目標(biāo)機(jī)或評(píng)估板●易使用性:普通編程人員不熟悉●廉價(jià)性:成本高●可移植性、可擴(kuò)展性:不高●團(tuán)隊(duì)開發(fā):較難●開發(fā)周期:較長陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu41陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator一種軟件仿真器,在宿主機(jī)上創(chuàng)建一個(gè)虛擬的目標(biāo)機(jī)環(huán)境,再將應(yīng)用系統(tǒng)下載到這個(gè)虛擬目標(biāo)機(jī)上運(yùn)行/調(diào)試。軟件仿真的對(duì)象:---仿真處理器---仿真外設(shè)---仿真環(huán)境軟件仿真的級(jí)別:---指令級(jí)仿真開發(fā)---API級(jí)仿真開發(fā)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu42陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具應(yīng)用仿真開發(fā)環(huán)境示意圖陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具應(yīng)用仿真43陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具結(jié)合仿真的軟件開發(fā)過程陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具結(jié)合仿真44陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator優(yōu)點(diǎn): 最大好處就是可以不用真正的目標(biāo)機(jī),可以在目標(biāo)機(jī)環(huán)境并不存在的條件下開發(fā)目標(biāo)機(jī)上的應(yīng)用系統(tǒng),并且在調(diào)試時(shí)可以利用Host資源提供更詳細(xì)的錯(cuò)誤診斷信息。缺點(diǎn):1)和實(shí)際的運(yùn)行環(huán)境差別很大2)設(shè)備模擬的局限性較大3)實(shí)時(shí)特性較差4)對(duì)Host的資源要求較高適用范圍
對(duì)時(shí)間特性沒有嚴(yán)格要求、沒有特殊外設(shè)、只需要驗(yàn)證邏輯正確的應(yīng)用程序。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu45陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的測(cè)試測(cè)試工具:能夠用來輔助測(cè)試的工具,主要用來支持測(cè)試人員的工作,本身不能直接用來進(jìn)行測(cè)試。測(cè)試工具一般都是通用工具,測(cè)試人員應(yīng)該根據(jù)實(shí)際情況對(duì)它們進(jìn)行適當(dāng)?shù)恼{(diào)整。嵌入式軟件測(cè)試中經(jīng)常用到的測(cè)試工具有:---內(nèi)存分析工具---性能分析工具---覆蓋分析工具---缺陷跟蹤工具等
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟46陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行當(dāng)調(diào)試完成之后,程序代碼需要被完全燒入到目標(biāo)板的非易失性存儲(chǔ)器(如ROM或閃存)中,并且在真實(shí)的硬件環(huán)境上運(yùn)行,這個(gè)過程叫做固化。調(diào)試環(huán)境與固化環(huán)境的區(qū)別:---代碼定位不同---初始化部分不同陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟47陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行階段調(diào)試環(huán)境固化環(huán)境編譯目標(biāo)文件需要調(diào)試信息目標(biāo)文件不需要調(diào)試信息鏈接應(yīng)用系統(tǒng)目標(biāo)代碼不需要Boot模塊,此模塊已由目標(biāo)板上的監(jiān)控器程序?qū)崿F(xiàn)。應(yīng)用系統(tǒng)目標(biāo)代碼必須以Boot模塊作為入口模塊。定位程序的所有代碼段、數(shù)據(jù)段都依次被定位到調(diào)試空間的RAM中。程序的各邏輯段按照其不同的屬性分別定位到非易失性存儲(chǔ)空間(ROM)或RAM中。下載宿主機(jī)上的調(diào)試器讀入被調(diào)試文件,并將其下載到目標(biāo)機(jī)上的調(diào)試空間中,目標(biāo)機(jī)掉電后所有信息全部丟失。在宿主機(jī)上利用固化工具將可固化的應(yīng)用程序?qū)懭肽繕?biāo)機(jī)的非易失性存儲(chǔ)器中,目標(biāo)機(jī)掉電后信息不丟失。運(yùn)行被調(diào)試程序在目標(biāo)監(jiān)控器的控制下運(yùn)行,并與后者共享某些資源,如CPU資源、RAM資源以及通信設(shè)備(如串口、網(wǎng)口等)資源。程序在真實(shí)的目標(biāo)硬件環(huán)境上運(yùn)行陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟48陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行Boot模塊:當(dāng)應(yīng)用程序在真實(shí)的目標(biāo)環(huán)境下運(yùn)行時(shí)將首先執(zhí)行該程序,它至少由系統(tǒng)加電時(shí)執(zhí)行的代碼組成。Boot模塊的主要功能:初始化CPU環(huán)境,使目標(biāo)機(jī)硬件進(jìn)入已知的狀態(tài)。---初始化芯片的引腳---初始化系統(tǒng)外部控制寄存器---初始化基本輸入輸出設(shè)備---初始化MMU,包括片選控制寄存器等---執(zhí)行數(shù)據(jù)拷貝陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟49陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具發(fā)展趨勢(shì)■向著開放的、集成化的方向發(fā)展■具有系統(tǒng)設(shè)計(jì)、可視化建模、仿真和驗(yàn)證功能■自動(dòng)生成代碼和文檔■具有更高的靈活性陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟50陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)模式概述處理器及硬件開發(fā)平臺(tái)的選定操作系統(tǒng)選定開發(fā)環(huán)境選定陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系51陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)模式概述
最大特點(diǎn):軟硬件綜合開發(fā)原因:嵌入式產(chǎn)品是軟硬件的結(jié)合體
軟件針對(duì)硬件開發(fā)、固化,不能進(jìn)行任意修改
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系52陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)過程系統(tǒng)定義符合要求硬件設(shè)計(jì)制作軟件設(shè)計(jì)實(shí)現(xiàn)軟硬件集成功能性能測(cè)試產(chǎn)品Yes系統(tǒng)總體設(shè)計(jì)No陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系53陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具系統(tǒng)總體設(shè)計(jì)軟硬件劃分系統(tǒng)總體框架處理器選定操作系統(tǒng)選定開發(fā)環(huán)境選定陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具系統(tǒng)總體54陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具硬件設(shè)計(jì)制作硬件概要設(shè)計(jì)硬件詳細(xì)設(shè)計(jì)硬件制作硬件測(cè)試功能模塊圖設(shè)計(jì)邏輯電路圖設(shè)計(jì)PCB設(shè)計(jì)與制作PCB測(cè)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具硬件設(shè)計(jì)55陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具軟件設(shè)計(jì)實(shí)現(xiàn)軟件概要設(shè)計(jì)軟件詳細(xì)設(shè)計(jì)軟件實(shí)現(xiàn)軟件測(cè)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具軟件設(shè)計(jì)56陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具通常的嵌入式系統(tǒng)開發(fā)軟/硬件協(xié)同開發(fā)嵌入式軟件開發(fā)嵌入式硬件開發(fā)嵌入式系統(tǒng)集成、測(cè)試、驗(yàn)證嵌入式軟件開發(fā)嵌入式硬件開發(fā)嵌入式系統(tǒng)協(xié)同設(shè)計(jì)、測(cè)試、驗(yàn)證陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具通常的嵌57陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具處理器及硬件開發(fā)平臺(tái)的選定選擇依據(jù):
●應(yīng)用的類型及I/O接口
●主頻及功耗
●對(duì)不同類型存儲(chǔ)器的支持
●封裝
●產(chǎn)品生命力和廠家實(shí)力、技術(shù)支持及第三方軟件的支持
●硬件開發(fā)平臺(tái)的選擇陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具處理器及58陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)選定選擇依據(jù):
●選擇嵌入式OS的必要性
●自建、購買或使用開源軟件
●對(duì)嵌入式操作系統(tǒng)的功能、性能要求
●與硬件平臺(tái)和開發(fā)工具的關(guān)系
●行業(yè)標(biāo)準(zhǔn)
●技術(shù)支持
●版稅或服務(wù)費(fèi)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)59陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)與硬件平臺(tái)的關(guān)系●操作系統(tǒng)應(yīng)支持選定的硬件平臺(tái)●如果不支持,需考慮移植工作---不同類型嵌入式微處理器之間的移植:任務(wù)上下文切換、時(shí)鐘、中斷等;---同類型微處理器但不同類型硬件板之間的移植:硬件接口及設(shè)備驅(qū)動(dòng)程序陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)60陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)與開發(fā)工具的關(guān)系工具是否能為基于特定操作系統(tǒng)的應(yīng)用開發(fā)提供最大支持:---運(yùn)行庫與OS相結(jié)合---提供應(yīng)用工程創(chuàng)建和管理功能,構(gòu)建基于特定操作系統(tǒng)的應(yīng)用框架---對(duì)操作系統(tǒng)的剪裁與配置---提供高級(jí)調(diào)試功能---提供配套的應(yīng)用邏輯分析工具、覆蓋測(cè)試工具等陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具操作系統(tǒng)61陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具開發(fā)環(huán)境及工具選定?對(duì)硬件平臺(tái)的支持?所使用的編程語言C/C++匯編語言JAVA……?與嵌入式操作系統(tǒng)的關(guān)系陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具開發(fā)環(huán)境62陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具實(shí)時(shí)軟件分析設(shè)計(jì)方法?嵌入式實(shí)時(shí)軟件系統(tǒng)的生存周期?需求分析與說明?系統(tǒng)設(shè)計(jì)-數(shù)據(jù)流分析-劃分任務(wù)-定義任務(wù)接口?任務(wù)設(shè)計(jì)?模塊構(gòu)筑?任務(wù)與系統(tǒng)集成陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具實(shí)時(shí)軟件63陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式實(shí)時(shí)軟件系統(tǒng)的生命周期?需求分析與詳細(xì)說明?系統(tǒng)設(shè)計(jì)任務(wù)分解,定義任務(wù)間接口關(guān)系?任務(wù)設(shè)計(jì)按模塊方式設(shè)計(jì)每個(gè)任務(wù),定義模塊間接口?模塊構(gòu)筑完成每個(gè)模塊的詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試?任務(wù)與系統(tǒng)集成?系統(tǒng)測(cè)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式實(shí)64陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具?劃分任務(wù)就是識(shí)別出并行性的功能;?需要考慮的是系統(tǒng)內(nèi)功能的異步性。分析系統(tǒng)工作流程的變換,確定哪些變換可以并行,哪些變換本質(zhì)上是順序的。劃分任務(wù)原則:---I/O依賴性---功能的時(shí)間關(guān)鍵性---計(jì)算需求---功能內(nèi)聚---時(shí)間內(nèi)聚---周期執(zhí)行陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具?劃分任65陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具
I/O依賴性
DeviceI/OTaskApp.Task?如果變換依賴于I/O,速度受限I/O,可獨(dú)立成任務(wù);?在系統(tǒng)中創(chuàng)建與I/O設(shè)備數(shù)目相當(dāng)?shù)腎/O任務(wù);?I/O任務(wù)只實(shí)現(xiàn)與設(shè)備相關(guān)的代碼?I/O任務(wù)的執(zhí)行只受限于I/O設(shè)備的速度,而不是處理器?在任務(wù)中分離設(shè)備相關(guān)性陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具I/O66陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具
功能的時(shí)間關(guān)鍵性將有時(shí)間關(guān)鍵性(deadline)的功能分離出來,組成獨(dú)立運(yùn)行的任務(wù);賦予這些任務(wù)高的優(yōu)先級(jí),以滿足對(duì)時(shí)間的需要。event1event2Task1Task2Task3Task3deadline1deadline2陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能的67陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具計(jì)算量大的功能占用CPU的時(shí)間多,把計(jì)算功能捆綁成任務(wù),以消耗CPU的剩余時(shí)間;賦予計(jì)算任務(wù)較低優(yōu)先級(jí),能被高優(yōu)先級(jí)的任務(wù)搶占,保持高優(yōu)先級(jí)的任務(wù)是輕量級(jí)的;多個(gè)計(jì)算任務(wù)可安排成同優(yōu)先級(jí),按時(shí)間片循環(huán)輪轉(zhuǎn)
計(jì)算需求陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具計(jì)算量大68陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能內(nèi)聚將緊密相關(guān)的功能變換組成一個(gè)任務(wù),減少通信的開銷;把每個(gè)變換都作為同一任務(wù)中一個(gè)個(gè)獨(dú)立的模塊,不僅保證了模塊級(jí)的功能內(nèi)聚,也保證了任務(wù)級(jí)的功能內(nèi)聚。event1F1(x)+F3(x)event2F2(x)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能內(nèi)聚69陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具時(shí)間內(nèi)聚將在同一時(shí)間內(nèi)完成的各功能(即使這些功能是不相關(guān)的)形成一個(gè)任務(wù);功能組的各功能是由相同的外部事件驅(qū)動(dòng)的(如時(shí)鐘等),這樣每次任務(wù)接收到一個(gè)事件,它們都可以同時(shí)執(zhí)行;由于減少了任務(wù)調(diào)度及切換的次數(shù),減少了系統(tǒng)的開銷。ClockTickeventF1(x)+F2(y)+F3(z)F4(x)+F5(y)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具時(shí)間內(nèi)聚70陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具周期執(zhí)行一個(gè)需要周期執(zhí)行的變換可以作為一個(gè)獨(dú)立的任務(wù),按一定的時(shí)間間隔被激活;將在相同周期內(nèi)執(zhí)行的各功能組成一個(gè)任務(wù),頻率高的任務(wù)賦予高優(yōu)先級(jí)。F1F2F110HZ10HZ15HZ15HZF2陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具周期執(zhí)行71陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具
任務(wù)設(shè)計(jì)任務(wù)體系結(jié)構(gòu):詳細(xì)定義任務(wù)包含的子模塊和模塊間的關(guān)系任務(wù)執(zhí)行流程:盡可能詳細(xì)地描述任務(wù)的處理過程任務(wù)內(nèi)數(shù)據(jù)結(jié)構(gòu)任務(wù)內(nèi)模塊間接口詳細(xì)說明系統(tǒng)中各任務(wù)的設(shè)計(jì)考慮和執(zhí)行流程,以利于程序員編制程序。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具任務(wù)設(shè)72陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具模塊設(shè)計(jì)系統(tǒng)和任務(wù)設(shè)計(jì)完成后,進(jìn)行每個(gè)模塊的詳細(xì)設(shè)計(jì),直到每個(gè)具體的函數(shù);在單元測(cè)試前不必編完模塊全部程序,可以分階段編碼和測(cè)試;模塊的詳細(xì)設(shè)計(jì)應(yīng)一氣呵成,避免系統(tǒng)以非結(jié)構(gòu)化方式形成。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具模塊設(shè)計(jì)73陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具函數(shù)設(shè)計(jì)函數(shù)描述給出對(duì)該函數(shù)的簡要描述,說明設(shè)計(jì)目的、意義以及特點(diǎn)功能說明該函數(shù)應(yīng)具有的功能,可采用IPO圖(輸入一處理一輸出圖)形式性能說明對(duì)該函數(shù)的性能要求,包括精度、靈活性和時(shí)間特性等輸入定義每個(gè)輸入項(xiàng)的特性,包括名稱、標(biāo)識(shí)、數(shù)據(jù)類型和格式、取值范圍、輸入方式、數(shù)據(jù)來源、保密方式等輸出定義每個(gè)輸入項(xiàng)的特性,特征同輸入陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具函數(shù)設(shè)計(jì)74陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具算法詳細(xì)說明本函數(shù)所選用的算法,具體的計(jì)算公式和計(jì)算步驟流程用流程圖輔以必要的說明來表示本函數(shù)的邏輯流程接口說明本函數(shù)與其他函數(shù)的調(diào)用關(guān)系,包括說明參數(shù)賦值和調(diào)用方式以及相關(guān)數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)庫、文件)。存儲(chǔ)分配說明本函數(shù)的存儲(chǔ)分配限制條件說明本函數(shù)運(yùn)行所受限制測(cè)試計(jì)劃說明對(duì)本函數(shù)的測(cè)試計(jì)劃,包括技術(shù)要求、輸入數(shù)據(jù)、預(yù)期結(jié)果、人員安排等函數(shù)設(shè)計(jì)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具算法詳75陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)軟件的開發(fā)主要講授內(nèi)容
●嵌入式軟件開發(fā)工具
●嵌入式系統(tǒng)開發(fā)模式
●實(shí)時(shí)軟件分析與設(shè)計(jì)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系76陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具●嵌入式軟件開發(fā)工具的分類●嵌入式軟件的交叉開發(fā)環(huán)境●嵌入式軟件實(shí)現(xiàn)階段的開發(fā)過程●嵌入式軟件開發(fā)工具的發(fā)展趨勢(shì)“工欲善其事,必先利其器”
嵌入式軟件開發(fā)工具的集成度和可用性將直接關(guān)系到嵌入式系統(tǒng)的開發(fā)效率。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟77陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類根據(jù)不同的階段,嵌入式軟件開發(fā)工具可以分為:1)需求分析工具(RequirementAnalysisTools)2)軟件設(shè)計(jì)工具(SoftwareDesignTools)3)編碼、調(diào)試工具(CodingTools)4)測(cè)試工具(TestingTools)5)配置管理工具、維護(hù)工具等。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟78陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具主要嵌入式軟件開發(fā)工具產(chǎn)品RequirementAnalysisSoftwareDesignCodingTestReleasePhasesTAUObjectGeodeRationalRoseRealTimeRhapsodyTornadopRISM+SpectraWinCEPlatformBuilderCodeWarriorXrayDebuggerLogiscopeCodeTESTLambdaTOOL陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具主要嵌入79陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類嵌入式軟件的開發(fā)可以分為以下幾種:1)編寫簡單的板級(jí)測(cè)試軟件,主要是輔助硬件的調(diào)試;2)開發(fā)基本的驅(qū)動(dòng)程序;3)開發(fā)特定嵌入式操作系統(tǒng)的驅(qū)動(dòng)程序(板級(jí)支持包);4)開發(fā)嵌入式系統(tǒng)軟件,如:嵌入式操作系統(tǒng)等;5)開發(fā)應(yīng)用軟件陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟80陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具的分類從以上嵌入式軟件開發(fā)分類來看,嵌入式軟件開發(fā)工具可以分為:I)與嵌入式OS相關(guān)的開發(fā)工具,用于開發(fā):■基于嵌入式OS的應(yīng)用■部分驅(qū)動(dòng)程序等II)與嵌入式OS無關(guān)的開發(fā)工具,用于開發(fā):■基本的驅(qū)動(dòng)程序■輔助硬件調(diào)試程序■系統(tǒng)軟件等陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟81陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境交叉開發(fā)環(huán)境:是指用于嵌入式軟件開發(fā)的所有工具軟件的集合,一般包括:■文本編輯器■交叉編譯器■交叉調(diào)試器■仿真器■下載器等交叉開發(fā)環(huán)境由宿主機(jī)和目標(biāo)機(jī)組成,宿主機(jī)與目標(biāo)機(jī)之間在物理連接的基礎(chǔ)上建立起邏輯連接。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟82陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉開發(fā)環(huán)境目標(biāo)機(jī)硬件目標(biāo)機(jī)應(yīng)用系統(tǒng)—應(yīng)用軟件—應(yīng)用中間件—目標(biāo)機(jī)OS宿主機(jī)硬件宿主機(jī)OS調(diào)試代理運(yùn)行庫宿主機(jī)開發(fā)環(huán)境—編輯—編譯—連接—調(diào)試運(yùn)行平臺(tái)Target開發(fā)平臺(tái)HostDownLoad陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉開發(fā)83陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境宿主機(jī)(Host):是用于開發(fā)嵌入式系統(tǒng)的計(jì)算機(jī)。一般為PC機(jī)(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。目標(biāo)機(jī)(Target):即所開發(fā)的嵌入式系統(tǒng),是嵌入式軟件的運(yùn)行環(huán)境,其硬件軟件是為特定應(yīng)用定制的。在開發(fā)過程中,目標(biāo)機(jī)端需接收和執(zhí)行宿主機(jī)發(fā)出的各種命令如設(shè)置斷點(diǎn)、讀內(nèi)存、寫內(nèi)存等,將結(jié)果返回給宿主機(jī),配合宿主機(jī)各方面的工作。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟84陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的交叉開發(fā)環(huán)境物理連接和邏輯連接物理連接:是指宿主機(jī)與目標(biāo)機(jī)通過物理線路連接在一起,連接方式主要有三種:■串口、并口■以太口■OCD(OnChipDebug)方式,如JTAG、BDM等物理連接是邏輯連接的基礎(chǔ)。邏輯連接:指宿主機(jī)與目標(biāo)機(jī)間按某種通信協(xié)議建立起來的通信連接,目前逐步形成了一些通信協(xié)議的標(biāo)準(zhǔn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟85陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件實(shí)現(xiàn)階段的開發(fā)過程設(shè)計(jì)完成后,嵌入式軟件的開發(fā)進(jìn)入實(shí)現(xiàn)階段,可分為三個(gè)步驟:生成、調(diào)試和固化運(yùn)行。軟件的生成:主要是在宿主機(jī)上進(jìn)行,利用各種工具完成對(duì)應(yīng)用程序的編輯、交叉編譯和鏈接工作,生成可供調(diào)試或固化的目標(biāo)程序。調(diào)試:通過交叉調(diào)試器完成軟件的調(diào)試工作。調(diào)試完成后還需進(jìn)行必要的測(cè)試工作。固化運(yùn)行:先用一定的工具將應(yīng)用程序固化到目標(biāo)機(jī)上,然后啟動(dòng)目標(biāo)機(jī),在沒有任何工具干預(yù)的情況下應(yīng)用程序能自動(dòng)地啟動(dòng)運(yùn)行。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟86陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件生成階段三個(gè)過程:源代碼程序的編寫編譯成各個(gè)目標(biāo)模塊鏈接成可供下載調(diào)試或固化的目標(biāo)程序編輯器交叉編譯器交叉鏈接器源程序目標(biāo)模塊可供調(diào)試/固化庫文件交叉編譯:
在宿主機(jī)上編寫的高級(jí)語言程序編譯成可以運(yùn)行在目標(biāo)機(jī)上的代碼,即在宿主機(jī)上能夠編譯生成另一種CPU(嵌入式微處理器)上的二進(jìn)制程序。
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟87陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的調(diào)試交叉調(diào)試器:是指調(diào)試程序和被調(diào)試程序運(yùn)行在不同機(jī)器上的調(diào)試器。調(diào)試器通過某種方式能控制目標(biāo)機(jī)上被調(diào)試程序的運(yùn)行方式,通過調(diào)試器能查看和修改目標(biāo)機(jī)上的內(nèi)存、寄存器以及被調(diào)試程序中的變量等。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟88陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉調(diào)試非交叉調(diào)試調(diào)試器和被調(diào)試程序運(yùn)行在不同的計(jì)算機(jī)上調(diào)試器和被調(diào)試程序運(yùn)行在同一臺(tái)計(jì)算機(jī)上可獨(dú)立運(yùn)行,無需操作系統(tǒng)支持需要操作系統(tǒng)的支持被調(diào)試程序的裝載由調(diào)試器完成被調(diào)試程序的裝載由專門的Loader程序完成需要通過外部通信的方式來控制被調(diào)試程序不需要通過外部通信的方式來控制被調(diào)試程序可以直接調(diào)試不同指令集的程序只能直接調(diào)試相同指令集的程序陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具交叉調(diào)試89陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的調(diào)試交叉調(diào)試方式:CrashandBurn RomMonitorRomEmulatorInCircuitEmulator(ICE)OnChipDebugging(OCD)Simulator方式(非交叉)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟90陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具CrashandBurn最早的嵌入式應(yīng)用軟件調(diào)試方法。在宿主機(jī)上編寫代碼反復(fù)檢查代碼,直到編譯通過,生成可執(zhí)行程序?qū)⒊绦蚬袒˙urn)到目標(biāo)機(jī)的非易失性存儲(chǔ)器(E2PROM、FLASH等)中在宿主機(jī)上反復(fù)檢查碼,查找問題根源改寫代碼啟動(dòng)目標(biāo)機(jī)運(yùn)行,觀察程序是否正常工作NY結(jié)束陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Cras91陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor是被固化且運(yùn)行在目標(biāo)機(jī)上的一段程序,負(fù)責(zé)監(jiān)控目標(biāo)機(jī)上被調(diào)試程序的運(yùn)行,與宿主機(jī)端的調(diào)試器一起完成對(duì)應(yīng)用程序的調(diào)試。調(diào)試器與ROMMonitor之間的通信遵循遠(yuǎn)程調(diào)試協(xié)議。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM92陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor調(diào)試方式調(diào)試器Windows或其它桌面操作系統(tǒng)PC機(jī)等硬件嵌入式硬件監(jiān)控程序(ROMMonitor)被調(diào)試程序宿主機(jī)目標(biāo)機(jī)邏輯上的連接物理上的連接陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM93陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor工作原理:
■在目標(biāo)機(jī)上電或復(fù)位后首先執(zhí)行ROMMonitor,它對(duì)目標(biāo)機(jī)進(jìn)行一些必要的初始化:---初始化要求的外圍設(shè)備,如最基本的串口和用于內(nèi)存刷新的系統(tǒng)計(jì)時(shí)器芯片;---初始化用于下載映像的內(nèi)存系統(tǒng);---初始化中斷控制器和安裝中斷處理程序?!龀跏蓟约旱某绦蚩臻g■等待宿主機(jī)端的命令陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM94陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitorROMMonitor能配合調(diào)試器完成:---程序映像下載---對(duì)目標(biāo)機(jī)系統(tǒng)內(nèi)存的讀寫---對(duì)寄存器的讀寫---設(shè)置和清除不同類型的斷點(diǎn)---單步執(zhí)行指令---復(fù)位系統(tǒng)等調(diào)試功能陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM95陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor調(diào)試過程:(1)啟動(dòng)目標(biāo)機(jī),監(jiān)控器掌握對(duì)目標(biāo)機(jī)的控制,等待和調(diào)試器建立連接;(2)啟動(dòng)調(diào)試器,并和監(jiān)控器建立起通信連接;(3)使用調(diào)試器將應(yīng)用程序下載到目標(biāo)機(jī)上的RAM空間中;(4)使用調(diào)試器進(jìn)行調(diào)試,發(fā)出各種調(diào)試命令,監(jiān)控器解釋并執(zhí)行這些命令,通過目標(biāo)機(jī)上的各種異常來獲取對(duì)目標(biāo)機(jī)的控制,將命令執(zhí)行結(jié)果回傳給調(diào)試器;(5)如果程序有問題,在調(diào)試器的幫助下定位錯(cuò)誤;修改之后再重新編譯鏈接并下載程序,開始新的調(diào)試,如此反復(fù)直至程序正確運(yùn)行為止。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM96陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMMonitor優(yōu)點(diǎn):1)提高調(diào)試程序的效率,縮短開發(fā)周期,降低成本2)簡單、方便3)可擴(kuò)展性強(qiáng),可支持許多高級(jí)調(diào)試功能4)成本低廉,不需專門的調(diào)試硬件支持5)幾乎所有的交叉調(diào)試器都支持這種方式
缺點(diǎn):1)需要用CrashandBurn方法開發(fā)。2)當(dāng)ROMMonitor占用CPU時(shí),應(yīng)用程序不響應(yīng)外部的中斷,因此不便調(diào)試有時(shí)間特性的程序。3)某些調(diào)試功能依賴于CPU硬件的支持(如硬件斷點(diǎn)功能)4)ROMMonitor要占用目標(biāo)機(jī)一定數(shù)量的資源,如CPU、RAM、ROM和通信設(shè)備等資源。5)調(diào)試環(huán)境不同于實(shí)際目標(biāo)環(huán)境。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM97陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具仿真開發(fā)方式
嵌入式應(yīng)用的開發(fā)經(jīng)常會(huì)遭遇缺少目標(biāo)機(jī)環(huán)境、缺乏目標(biāo)機(jī)芯片等資源的問題,而開發(fā)過程又不可能停止,因此自然就提出了根據(jù)不同的應(yīng)用需要,利用仿真器件、仿真環(huán)境進(jìn)行開發(fā)的方法。硬件仿真開發(fā)ROMEmulatorICEOCD軟件仿真開發(fā)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具仿真開發(fā)98陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMEmulator
ROMEmulator是一種用于替代目標(biāo)機(jī)上的ROM芯片的設(shè)備,即ROM仿真器。利用這種設(shè)備,目標(biāo)機(jī)可以沒有ROM芯片,但目標(biāo)機(jī)的CPU可以讀取ROMEmulator設(shè)備上ROM芯片的內(nèi)容:ROMEmulator設(shè)備上的ROM芯片的地址可以實(shí)時(shí)地映射到目標(biāo)機(jī)的ROM地址空間,從而仿真(Emulation)目標(biāo)機(jī)的ROM。ROMEmulator的調(diào)試方式是一種不完全的調(diào)試方式:ROMEmulator設(shè)備只是為目標(biāo)機(jī)提供ROM芯片和在Target和Host間建立一條高速的通信通道,因此它經(jīng)常和前面兩種調(diào)試方式結(jié)合起來形成一種完備的調(diào)試方式。ROMEmulator的典型應(yīng)用就是和ROMMonitor的調(diào)試方式相結(jié)合。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM99陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROMEmulator優(yōu)點(diǎn): 目標(biāo)機(jī)可以沒有ROM芯片、可以使用ROMEmulator提供的ROM空間且不需要用別的工具來寫ROM。缺點(diǎn): 目標(biāo)機(jī)必須能支持外部ROM存儲(chǔ)空間,而且由于其通常要和ROMMonitor配合使用,因此它擁有ROMMonitor的所有缺點(diǎn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ROM100陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICEICE(In-CircuitEmulator):是一種用于替代目標(biāo)機(jī)上CPU的設(shè)備,即在線仿真器。它比一般的CPU有更多的引出線,能夠?qū)?nèi)部的信號(hào)輸出到被控制的目標(biāo)機(jī)。ICE上的Memory也可以被映射到用戶的程序空間,這樣即使目標(biāo)機(jī)不存在的情形下也可以進(jìn)行代碼的調(diào)試。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICEI101陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具宿主開發(fā)平臺(tái)目標(biāo)平臺(tái)ICEICE調(diào)試結(jié)構(gòu)連接ICE和目標(biāo)機(jī)時(shí),一般是將目標(biāo)機(jī)的CPU取下,而將ICE的CPU引出線接到目標(biāo)機(jī)的CPU插槽。用ICE進(jìn)行調(diào)試時(shí),在Host端運(yùn)行的調(diào)試器通過ICE來控制目標(biāo)機(jī)上運(yùn)行的程序。ICE陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具宿主開目102陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能特點(diǎn):
---同時(shí)支持軟斷點(diǎn)和硬件斷點(diǎn)的設(shè)置---設(shè)置各種復(fù)雜的斷點(diǎn)和觸發(fā)器---實(shí)時(shí)跟蹤目標(biāo)程序的運(yùn)行,并可實(shí)現(xiàn)選擇性的跟蹤---支持“TimeStamp”---允許用戶設(shè)置“Timer”---提供“ShadowRAM”,能在不中斷被調(diào)試程序的運(yùn)行下查看內(nèi)存和變量即非干擾調(diào)試查詢。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具功能特點(diǎn)103陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICE適用于:1)調(diào)試實(shí)時(shí)的應(yīng)用系統(tǒng)2)調(diào)試設(shè)備驅(qū)動(dòng)程序3)對(duì)硬件進(jìn)行功能和性能的測(cè)試4)實(shí)時(shí)性能分析缺點(diǎn):1)價(jià)格太昂貴,不利于團(tuán)隊(duì)開發(fā)2)所仿CPU有限陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具ICE適104陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD
OCD(OnChipDebugging):是CPU芯片提供的一種調(diào)試功能(片上調(diào)試),可以認(rèn)為是一種廉價(jià)的ICE功能:OCD的價(jià)格只有ICE的20%,但提供了ICE80%的功能。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD 105陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)試結(jié)構(gòu)調(diào)試器Windows或其它桌面操作系統(tǒng)PC機(jī)等硬件被調(diào)試程序OCD接口嵌入式硬件宿主機(jī)目標(biāo)機(jī)邏輯上的連接物理連接仿真器針形連接器并口、串口或網(wǎng)絡(luò)接口為特定處理器而建造陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)106陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)試方法:1)將CPU的模式分為一般模式和調(diào)試模式2)一般模式下,CPU從內(nèi)存讀取指令執(zhí)行3)調(diào)試模式下,CPU首先從調(diào)試端口讀取指令,通過調(diào)試端口可以控制CPU進(jìn)入和退出調(diào)試模式;Host端的調(diào)試器可以直接向目標(biāo)機(jī)發(fā)送要執(zhí)行的指令,讀寫目標(biāo)機(jī)的內(nèi)存和各種寄存器,控制目標(biāo)程序的運(yùn)行以及完成各種復(fù)雜的調(diào)試功能。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD調(diào)107陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD優(yōu)點(diǎn):1)不占用目標(biāo)機(jī)的資源2)調(diào)試環(huán)境和最終的程序運(yùn)行環(huán)境基本一致3)支持軟硬斷點(diǎn)、Trace功能4)精確計(jì)量程序的執(zhí)行時(shí)間5)提供時(shí)序分析功能缺點(diǎn):1)調(diào)試的實(shí)時(shí)性不如ICE2)不支持非干擾調(diào)試查詢3)CPU必需具有OCD功能陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD優(yōu)108陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD實(shí)現(xiàn)方式:BDM(BackgroundDebuggingMode)JTAG(JointTestAccessGroup)(主流方式)OnCE(OnChipEmulation)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具OCD實(shí)109陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具各種OCD仿真器實(shí)例陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具各種OC110陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)
JTAG——標(biāo)準(zhǔn)測(cè)試訪問接口與邊界掃描結(jié)構(gòu)(StandardTestAccessPortandBoundaryScanArchitecture),已被IEEE1149.1標(biāo)準(zhǔn)所采納,是面向用戶的測(cè)試接口。該接口一般由4個(gè)引腳組成:測(cè)試數(shù)據(jù)輸入(TDI)測(cè)試數(shù)據(jù)輸出(TDO)測(cè)試時(shí)鐘(TCK)測(cè)試模式選擇引腳(TMS)異步測(cè)試復(fù)位引腳(TRST,可選)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描111陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)優(yōu)點(diǎn):---可以通過邊界掃描操作測(cè)試整個(gè)板的電氣連接,特別為表面貼元件提供方便---各個(gè)引腳信號(hào)的采樣,并可強(qiáng)制引腳輸出用以測(cè)試外圍芯片---可以軟件下載、執(zhí)行、調(diào)試和控制,為復(fù)雜的實(shí)時(shí)跟蹤調(diào)試提供路徑---可以進(jìn)行多內(nèi)核和多處理器的板級(jí)和芯片級(jí)的調(diào)試,通過串接,為芯片制造商提供芯片生產(chǎn)、測(cè)試的途徑---不占用系統(tǒng)資源,能夠調(diào)試沒有外部總線的芯片,代價(jià)非常小陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描112陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描技術(shù)(JTAG)缺點(diǎn):---通過串口依次傳遞數(shù)據(jù),速度比較慢---只能進(jìn)行軟件斷點(diǎn)級(jí)別的調(diào)試不能完成實(shí)時(shí)跟蹤和多種事件觸發(fā)等復(fù)雜調(diào)試功能幾種增強(qiáng)版本:
---ARM芯片的實(shí)時(shí)調(diào)試方案(E-TRACE)---背景調(diào)試模式BDM---片上仿真OnCE陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具邊界掃描113陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexus標(biāo)準(zhǔn)
提出一個(gè)在JTAG之上的嵌入式處理器調(diào)試的統(tǒng)一標(biāo)準(zhǔn),將調(diào)試開發(fā)分成四級(jí):---第一級(jí)使用JTAG的簡單靜態(tài)調(diào)試;---第二級(jí)支持編程跟蹤和實(shí)時(shí)多任務(wù)的跟蹤,并允許用戶用I/O引腳作為多路復(fù)用輔助調(diào)試口;---第三級(jí)包括處理器運(yùn)行時(shí)的數(shù)據(jù)寫入跟蹤和存儲(chǔ)器的讀寫跟蹤;---第四級(jí)增加了存儲(chǔ)替換并觸發(fā)復(fù)雜的硬件斷點(diǎn)。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexu114陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexus標(biāo)準(zhǔn)通過Nexus標(biāo)準(zhǔn)可以解決以下問題:---調(diào)試內(nèi)部總線沒有引出的處理器,如含有片內(nèi)存儲(chǔ)器的芯片---傳統(tǒng)在線仿真器無法實(shí)現(xiàn)的高速調(diào)試---深度流水線和有片上Cache的芯片,能夠探測(cè)具體哪條指令被取指和最終執(zhí)行---可以穩(wěn)定地進(jìn)行多內(nèi)核處理器的調(diào)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Nexu115陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator交叉開發(fā)方式存在如下缺點(diǎn):
●硬件支持:必須有目標(biāo)機(jī)或評(píng)估板●易使用性:普通編程人員不熟悉●廉價(jià)性:成本高●可移植性、可擴(kuò)展性:不高●團(tuán)隊(duì)開發(fā):較難●開發(fā)周期:較長陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu116陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator一種軟件仿真器,在宿主機(jī)上創(chuàng)建一個(gè)虛擬的目標(biāo)機(jī)環(huán)境,再將應(yīng)用系統(tǒng)下載到這個(gè)虛擬目標(biāo)機(jī)上運(yùn)行/調(diào)試。軟件仿真的對(duì)象:---仿真處理器---仿真外設(shè)---仿真環(huán)境軟件仿真的級(jí)別:---指令級(jí)仿真開發(fā)---API級(jí)仿真開發(fā)陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu117陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具應(yīng)用仿真開發(fā)環(huán)境示意圖陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具應(yīng)用仿真118陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具結(jié)合仿真的軟件開發(fā)過程陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具結(jié)合仿真119陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simulator優(yōu)點(diǎn): 最大好處就是可以不用真正的目標(biāo)機(jī),可以在目標(biāo)機(jī)環(huán)境并不存在的條件下開發(fā)目標(biāo)機(jī)上的應(yīng)用系統(tǒng),并且在調(diào)試時(shí)可以利用Host資源提供更詳細(xì)的錯(cuò)誤診斷信息。缺點(diǎn):1)和實(shí)際的運(yùn)行環(huán)境差別很大2)設(shè)備模擬的局限性較大3)實(shí)時(shí)特性較差4)對(duì)Host的資源要求較高適用范圍
對(duì)時(shí)間特性沒有嚴(yán)格要求、沒有特殊外設(shè)、只需要驗(yàn)證邏輯正確的應(yīng)用程序。陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具Simu120陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的測(cè)試測(cè)試工具:能夠用來輔助測(cè)試的工具,主要用來支持測(cè)試人員的工作,本身不能直接用來進(jìn)行測(cè)試。測(cè)試工具一般都是通用工具,測(cè)試人員應(yīng)該根據(jù)實(shí)際情況對(duì)它們進(jìn)行適當(dāng)?shù)恼{(diào)整。嵌入式軟件測(cè)試中經(jīng)常用到的測(cè)試工具有:---內(nèi)存分析工具---性能分析工具---覆蓋分析工具---缺陷跟蹤工具等
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟121陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行當(dāng)調(diào)試完成之后,程序代碼需要被完全燒入到目標(biāo)板的非易失性存儲(chǔ)器(如ROM或閃存)中,并且在真實(shí)的硬件環(huán)境上運(yùn)行,這個(gè)過程叫做固化。調(diào)試環(huán)境與固化環(huán)境的區(qū)別:---代碼定位不同---初始化部分不同陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟122陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行階段調(diào)試環(huán)境固化環(huán)境編譯目標(biāo)文件需要調(diào)試信息目標(biāo)文件不需要調(diào)試信息鏈接應(yīng)用系統(tǒng)目標(biāo)代碼不需要Boot模塊,此模塊已由目標(biāo)板上的監(jiān)控器程序?qū)崿F(xiàn)。應(yīng)用系統(tǒng)目標(biāo)代碼必須以Boot模塊作為入口模塊。定位程序的所有代碼段、數(shù)據(jù)段都依次被定位到調(diào)試空間的RAM中。程序的各邏輯段按照其不同的屬性分別定位到非易失性存儲(chǔ)空間(ROM)或RAM中。下載宿主機(jī)上的調(diào)試器讀入被調(diào)試文件,并將其下載到目標(biāo)機(jī)上的調(diào)試空間中,目標(biāo)機(jī)掉電后所有信息全部丟失。在宿主機(jī)上利用固化工具將可固化的應(yīng)用程序?qū)懭肽繕?biāo)機(jī)的非易失性存儲(chǔ)器中,目標(biāo)機(jī)掉電后信息不丟失。運(yùn)行被調(diào)試程序在目標(biāo)監(jiān)控器的控制下運(yùn)行,并與后者共享某些資源,如CPU資源、RAM資源以及通信設(shè)備(如串口、網(wǎng)口等)資源。程序在真實(shí)的目標(biāo)硬件環(huán)境上運(yùn)行陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟123陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件的固化運(yùn)行Boot模塊:當(dāng)應(yīng)用程序在真實(shí)的目標(biāo)環(huán)境下運(yùn)行時(shí)將首先執(zhí)行該程序,它至少由系統(tǒng)加電時(shí)執(zhí)行的代碼組成。Boot模塊的主要功能:初始化CPU環(huán)境,使目標(biāo)機(jī)硬件進(jìn)入已知的狀態(tài)。---初始化芯片的引腳---初始化系統(tǒng)外部控制寄存器---初始化基本輸入輸出設(shè)備---初始化MMU,包括片選控制寄存器等---執(zhí)行數(shù)據(jù)拷貝陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟124陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟件開發(fā)工具發(fā)展趨勢(shì)■向著開放的、集成化的方向發(fā)展■具有系統(tǒng)設(shè)計(jì)、可視化建模、仿真和驗(yàn)證功能■自動(dòng)生成代碼和文檔■具有更高的靈活性陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式軟125陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)模式概述處理器及硬件開發(fā)平臺(tái)的選定操作系統(tǒng)選定開發(fā)環(huán)境選定陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系126陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)模式概述
最大特點(diǎn):軟硬件綜合開發(fā)原因:嵌入式產(chǎn)品是軟硬件的結(jié)合體
軟件針對(duì)硬件開發(fā)、固化,不能進(jìn)行任意修改
陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系127陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系統(tǒng)開發(fā)過程系統(tǒng)定義符合要求硬件設(shè)計(jì)制作軟件設(shè)計(jì)實(shí)現(xiàn)軟硬件集成功能性能測(cè)試產(chǎn)品Yes系統(tǒng)總體設(shè)計(jì)No陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具嵌入式系128陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具系統(tǒng)總體設(shè)計(jì)軟硬件劃分系統(tǒng)總體框架處理器選定操作系統(tǒng)選定開發(fā)環(huán)境選定陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具系統(tǒng)總體129陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具硬件設(shè)計(jì)制作硬件概要設(shè)計(jì)硬件詳細(xì)設(shè)計(jì)硬件制作硬件測(cè)試功能模塊圖設(shè)計(jì)邏輯電路圖設(shè)計(jì)PCB設(shè)計(jì)與制作PCB測(cè)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具硬件設(shè)計(jì)130陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具軟件設(shè)計(jì)實(shí)現(xiàn)軟件概要設(shè)計(jì)軟件詳細(xì)設(shè)計(jì)軟件實(shí)現(xiàn)軟件測(cè)試陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具軟件設(shè)計(jì)131陜西飛騰科技發(fā)展有限責(zé)任公司嵌入式開發(fā)環(huán)境與開發(fā)工具通常的嵌入式系統(tǒng)開發(fā)軟/硬件協(xié)同開發(fā)嵌入式軟件開發(fā)嵌入式硬件開發(fā)嵌入式系統(tǒng)集成、測(cè)試、驗(yàn)證嵌入式軟件開發(fā)嵌入式硬件開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)教育與審美能力提升計(jì)劃
- 太陽能工程承包合同范本
- 安徽省銅陵市(2024年-2025年小學(xué)五年級(jí)語文)人教版競(jìng)賽題(上學(xué)期)試卷及答案
- 河北省張家口市(2024年-2025年小學(xué)五年級(jí)語文)統(tǒng)編版期中考試((上下)學(xué)期)試卷及答案
- 研究技術(shù)開發(fā)項(xiàng)目合同范本
- 電力貿(mào)易合同范本
- 成功職業(yè)經(jīng)理系列教程-領(lǐng)導(dǎo)藝術(shù)實(shí)踐課件
- 路燈物聯(lián)網(wǎng)路演
- 醫(yī)療行業(yè)安全風(fēng)險(xiǎn)防范制度
- 醫(yī)療設(shè)備運(yùn)輸方案及質(zhì)量控制
- (完整版)內(nèi)部控制風(fēng)險(xiǎn)評(píng)估表
- 支氣管哮喘臨床路徑及表單
- 未帶有效居民身份證考生承諾書
- 《大海》 教學(xué)課件
- 小學(xué)數(shù)學(xué)北師大三年級(jí)上冊(cè)三加與減蔣敏懷優(yōu)秀課例
- 甜瓜優(yōu)質(zhì)高效栽培技術(shù)課件
- 木結(jié)構(gòu)防腐措施及方法
- 卡通風(fēng)小學(xué)班干部競(jìng)選自我介紹PPT模板
- 拔河比賽對(duì)陣表
- 適合兒童幼兒涂色的簡筆畫A可打印
- 模擬軟件墨泥使用說明
評(píng)論
0/150
提交評(píng)論