版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1本章知識(shí)點(diǎn)嵌入式軟件開(kāi)發(fā)的特點(diǎn)嵌入式系統(tǒng)開(kāi)發(fā)的流程需求分析設(shè)計(jì)階段編碼階段固化階段嵌入式系統(tǒng)的調(diào)試
第七章嵌入式軟件設(shè)計(jì)1本章知識(shí)點(diǎn)第七章嵌入式軟件設(shè)計(jì)實(shí)例分析基于WindowsCE的嵌入式應(yīng)用程序開(kāi)發(fā)實(shí)例基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)環(huán)境基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)流程創(chuàng)建第一個(gè)WindowsCE工程文件配置工程并編譯內(nèi)核鏡像文件2實(shí)例分析23嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的差別:人機(jī)交互界面有限的功能時(shí)間關(guān)鍵性和穩(wěn)定性7.1嵌入式軟件開(kāi)發(fā)的特點(diǎn)3嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的差別:7.1嵌入式軟件開(kāi)發(fā)的4嵌入式軟件開(kāi)發(fā)的特點(diǎn):需要交叉開(kāi)發(fā)環(huán)境:交叉開(kāi)發(fā)環(huán)境是指實(shí)現(xiàn)編譯、鏈接和調(diào)試應(yīng)用程序代碼的環(huán)境。與運(yùn)行應(yīng)用程序的環(huán)境不同,它分散在有通信連接的宿主機(jī)與目標(biāo)機(jī)環(huán)境之中。宿主機(jī)(Host)是一臺(tái)通用計(jì)算機(jī),一般是PC機(jī)。它通過(guò)串口或網(wǎng)絡(luò)連接與目標(biāo)機(jī)通信。目標(biāo)機(jī)(Target)可以是嵌入式應(yīng)用軟件的實(shí)際運(yùn)行環(huán)境,也可以是能替代實(shí)際環(huán)境的仿真系統(tǒng)。4嵌入式軟件開(kāi)發(fā)的特點(diǎn):5引入任務(wù)設(shè)計(jì)方法需要固化程序軟件開(kāi)發(fā)難度大嵌入式應(yīng)用軟件對(duì)實(shí)時(shí)性、穩(wěn)定性、可靠性、抗干擾性等性能的要求都比通用軟件的要求更為嚴(yán)格和苛刻。5引入任務(wù)設(shè)計(jì)方法6嵌入式軟件的開(kāi)發(fā)流程與通用軟件的開(kāi)發(fā)流程大同小異,但開(kāi)發(fā)所使用的設(shè)計(jì)方法具有嵌入式開(kāi)發(fā)的特點(diǎn)。整個(gè)開(kāi)發(fā)流程可分為:需求分析階段設(shè)計(jì)階段生成代碼階段固化階段7.2嵌入式系統(tǒng)開(kāi)發(fā)的流程6嵌入式軟件的開(kāi)發(fā)流程與通用軟件的開(kāi)發(fā)流程大同小異,但開(kāi)7嵌入式系統(tǒng)應(yīng)用需求中最為突出的是注重應(yīng)用的時(shí)效性,需求分析階段的主要任務(wù)是:
(1)對(duì)問(wèn)題的識(shí)別和分析對(duì)用戶提出的問(wèn)題進(jìn)行抽象識(shí)別用以產(chǎn)生以下的需求:功能需求、性能需求、環(huán)境需求、可靠性需求、安全需求、用戶界面需求、資源使用需求、軟件成本與開(kāi)發(fā)進(jìn)度需求。7.2.1需求分析7嵌入式系統(tǒng)應(yīng)用需求中最為突出的是注重應(yīng)用的時(shí)效性,需求(2)制訂規(guī)格說(shuō)明文檔經(jīng)過(guò)對(duì)問(wèn)題的識(shí)別,產(chǎn)生了系統(tǒng)各方面的需求。通過(guò)對(duì)規(guī)格的說(shuō)明,文檔得以清晰、準(zhǔn)確地描述。這些說(shuō)明文檔包括需求規(guī)格說(shuō)明書(shū)和初級(jí)的用戶手冊(cè)等。8(2)制訂規(guī)格說(shuō)明文檔89(3)需求評(píng)審需求評(píng)審作為系統(tǒng)進(jìn)入下一階段前最后的需求分析復(fù)查手段,在需求分析的最后階段對(duì)各項(xiàng)需求進(jìn)行評(píng)估,以保證軟件需求的質(zhì)量。需求評(píng)審的內(nèi)容包括正確性、無(wú)歧義性、安全性、可驗(yàn)證性、一致性、可理解性、可修改性、可追蹤性等多個(gè)方面。9(3)需求評(píng)審10系統(tǒng)的設(shè)計(jì)階段包括系統(tǒng)設(shè)計(jì)、任務(wù)設(shè)計(jì)和任務(wù)的詳細(xì)設(shè)計(jì)。由于嵌入式系統(tǒng)中任務(wù)的并發(fā)性,嵌入式軟件開(kāi)發(fā)中引入了DARTS的設(shè)計(jì)方法。
DARTS(DesignApproachforReal-TimeSystems)設(shè)計(jì)方法:是結(jié)構(gòu)化分析/結(jié)構(gòu)化設(shè)計(jì)的擴(kuò)展。它給出劃分任務(wù)的方法,并提供定義任務(wù)間接口的機(jī)制。7.2.2設(shè)計(jì)階段10系統(tǒng)的設(shè)計(jì)階段包括系統(tǒng)設(shè)計(jì)、任務(wù)設(shè)計(jì)和任務(wù)的詳細(xì)DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟如下:數(shù)據(jù)流分析--從功能需求分析數(shù)據(jù)流圖劃分任務(wù)--在數(shù)據(jù)流圖上把可并行的、相對(duì)獨(dú)立功能抽象成一個(gè)系統(tǒng)任務(wù)定義任務(wù)間的接口--確定任務(wù)之間的通信和同步11DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟如下:1112生成代碼階段需要完成的工作包括代碼編程、交叉編譯和鏈接、交叉調(diào)試和測(cè)試等。7.2.3編碼階段12生成代碼階段需要完成的工作包括代碼編程、交叉編譯和鏈13在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,一般采用的方法是先在通用PC上編程,然后通過(guò)交叉編譯鏈接,將程序做成目標(biāo)平臺(tái)上可以運(yùn)行的二進(jìn)制代碼格式。最后將程序下載到目標(biāo)平臺(tái)上的特定位置,在目標(biāo)板上啟動(dòng)運(yùn)行這段二進(jìn)制代碼。1、編碼13在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,一般采用的方法是先在通14
嵌入式軟件開(kāi)發(fā)編碼完成后,要進(jìn)行編譯和鏈接以生成可執(zhí)行代碼。但是,在開(kāi)發(fā)過(guò)程中設(shè)計(jì)人員普遍使用Intel的x86系列CPU的計(jì)算機(jī)進(jìn)行開(kāi)發(fā),而目標(biāo)環(huán)境的處理芯片卻是多種多樣的,如ARM,DSP,PowerPC,DragonBall系列等,這就要求開(kāi)發(fā)機(jī)上的編譯器能支持交叉編譯。嵌入式集成開(kāi)發(fā)環(huán)境都支持交叉編譯、鏈接,如WindRiver公司的TornadoⅡ以及GNU套件等。交叉編譯鏈接生成兩種類型的可執(zhí)行文件:調(diào)試用的可執(zhí)行文件和固化的可執(zhí)行文件。2、交叉編譯和鏈接14嵌入式軟件開(kāi)發(fā)編碼完成后,要進(jìn)行編譯和鏈接以生成15交叉調(diào)試,又叫遠(yuǎn)程調(diào)試,具有以下特點(diǎn):調(diào)試器和被調(diào)試的程序運(yùn)行在不同的機(jī)器上。調(diào)試器運(yùn)行在PC或工作站上,而被調(diào)試程序運(yùn)行在各式的專用目標(biāo)機(jī)上;調(diào)試器通過(guò)某種通信方式與目標(biāo)機(jī)建立聯(lián)系,如串口、并口、網(wǎng)絡(luò)、JTAG或者專用的通信方式;3、交叉調(diào)試15交叉調(diào)試,又叫遠(yuǎn)程調(diào)試,具有以下特點(diǎn):3、交叉調(diào)試在目標(biāo)機(jī)上一般具有某種調(diào)試代理,這種代理能與調(diào)試器一起配合完成對(duì)目標(biāo)機(jī)上運(yùn)行程序的調(diào)試。這種代理可以是某種能支持調(diào)試的硬件,也可以是某種軟件;目標(biāo)機(jī)可以是一種仿真機(jī)。通過(guò)在宿主機(jī)上運(yùn)行目標(biāo)機(jī)的仿真軟件,仿真一臺(tái)目標(biāo)機(jī),使整個(gè)調(diào)試工作只在一臺(tái)計(jì)算機(jī)上進(jìn)行。16在目標(biāo)機(jī)上一般具有某種調(diào)試代理,這種代理能與調(diào)試器一起配合完174、測(cè)試嵌入式軟件的測(cè)試過(guò)程正好與開(kāi)發(fā)過(guò)程相反:?jiǎn)卧獪y(cè)試集成測(cè)試(配置項(xiàng)測(cè)試)軟硬件集成測(cè)試系統(tǒng)測(cè)試確認(rèn)測(cè)試174、測(cè)試嵌入式軟件的測(cè)試過(guò)程正好與開(kāi)發(fā)過(guò)程相反:18(1)單元測(cè)試軟件單元測(cè)試的目的是檢測(cè)程序模塊是否符合《詳細(xì)設(shè)計(jì)說(shuō)明書(shū)》的要求。通常會(huì)采用白盒測(cè)試技術(shù),如基于路徑覆蓋原理等。所有單元級(jí)測(cè)試都可以在主機(jī)環(huán)境上進(jìn)行,除非特別指定單元測(cè)試直接在目標(biāo)環(huán)境進(jìn)行。18(1)單元測(cè)試19
集成測(cè)試的目的是檢測(cè)程序是否符合《概要設(shè)計(jì)說(shuō)明書(shū)》的要求。通常采用黑盒測(cè)試技術(shù),但有時(shí)為了確保主要控制路徑的覆蓋測(cè)試,也會(huì)采用一定的白盒測(cè)試技術(shù)。
軟件集成也可在主機(jī)環(huán)境上完成,在主機(jī)平臺(tái)上模擬目標(biāo)環(huán)境運(yùn)行,當(dāng)然在目標(biāo)環(huán)境上重復(fù)測(cè)試是有必要的,在此級(jí)別上的確認(rèn)測(cè)試將確定一些環(huán)境上的問(wèn)題,比如內(nèi)存定位和分配上的一些錯(cuò)誤。(2)集成測(cè)試19(2)集成測(cè)試(3)軟硬件集成測(cè)試目的:檢測(cè)系統(tǒng)劃分軟硬件功能后,在軟件集成測(cè)試完成的基礎(chǔ)上,測(cè)試模塊軟件在硬件平臺(tái)上的運(yùn)行情況,主要是對(duì)嵌入式軟件的實(shí)時(shí)性、嵌入性及功能性能指標(biāo)的測(cè)試。軟硬件集成測(cè)試過(guò)程主要是在需求規(guī)格說(shuō)明完成的情況下,結(jié)合通用的標(biāo)準(zhǔn)、規(guī)范以及接口控制文件,與軟件設(shè)計(jì)同步,編寫(xiě)軟硬件集成測(cè)試的《測(cè)試計(jì)劃》和《測(cè)試說(shuō)明》,經(jīng)過(guò)評(píng)審后,把被測(cè)試軟件加載到目標(biāo)機(jī)上運(yùn)行,以檢測(cè)嵌入式軟件與硬件配合完成系統(tǒng)功能、性能的質(zhì)量。20(3)軟硬件集成測(cè)試目的:檢測(cè)系統(tǒng)劃分軟硬件功能后,在軟件集21
系統(tǒng)測(cè)試關(guān)注所設(shè)計(jì)的系統(tǒng),在模塊與模塊集成之后構(gòu)成完整系統(tǒng)時(shí)所表現(xiàn)出的質(zhì)量指標(biāo),包括正確性、可擴(kuò)性等。(4)系統(tǒng)測(cè)試21(4)系統(tǒng)測(cè)試(5)確認(rèn)測(cè)試確認(rèn)測(cè)試是針對(duì)確認(rèn)標(biāo)準(zhǔn)的測(cè)試。確認(rèn)標(biāo)準(zhǔn)由需求分析產(chǎn)生,所以實(shí)際上就是指規(guī)格化的需求,通常采用黑盒測(cè)試技術(shù)。所有的系統(tǒng)測(cè)試和確認(rèn)測(cè)試必須在目標(biāo)環(huán)境下執(zhí)行。22(5)確認(rèn)測(cè)試確認(rèn)測(cè)試是針對(duì)確認(rèn)標(biāo)準(zhǔn)的測(cè)試。確認(rèn)標(biāo)準(zhǔn)由需求分23嵌入式系統(tǒng)的應(yīng)用軟件是針對(duì)特定的實(shí)際專業(yè)領(lǐng)域的,基于相應(yīng)的嵌入式硬件平臺(tái),并能完成用戶預(yù)期任務(wù)的計(jì)算機(jī)軟件嵌入式軟件的特點(diǎn)如下:(1)軟件要求固態(tài)化存儲(chǔ)。(2)軟件代碼要求高質(zhì)量、高可靠性。(3)系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。(4)多任務(wù)實(shí)時(shí)操作系統(tǒng)成為嵌入式應(yīng)用軟件的必需7.2.4固化階段23嵌入式系統(tǒng)的應(yīng)用軟件是針對(duì)特定的實(shí)際專業(yè)領(lǐng)域的,基于相應(yīng)24嵌入式應(yīng)用軟件高度依賴目標(biāo)應(yīng)用的軟硬件環(huán)境,軟件的部分任務(wù)功能函數(shù)由匯編語(yǔ)言完成,具有高度的不可移植性。為了保證實(shí)時(shí)性能,使用效率高和速度快的匯編語(yǔ)言是不可避免的盡可能提高嵌入式應(yīng)用軟件的可移植性方法:(1)盡量用高級(jí)語(yǔ)言開(kāi)發(fā),少用匯編語(yǔ)言(2)局域化不可移植部分(3)提高軟件的可重用性7.2.5小結(jié)24嵌入式應(yīng)用軟件高度依賴目標(biāo)應(yīng)用的軟硬件環(huán)境,軟件的部分任25嵌入式系統(tǒng)的調(diào)試過(guò)程:7.3嵌入式系統(tǒng)的調(diào)試25嵌入式系統(tǒng)的調(diào)試過(guò)程:7.3嵌入式系統(tǒng)的調(diào)試26嵌入式系統(tǒng)的調(diào)試方法:1.源程序模擬器方式2.監(jiān)控器方式3.仿真器方式26嵌入式系統(tǒng)的調(diào)試方法:27源程序模擬器(Simulator)是在PC機(jī)上,通過(guò)軟件手段模擬執(zhí)行為某種嵌入式處理器編寫(xiě)的源程序的測(cè)試工具。注:模擬器的功能畢竟是以一種處理器模擬另一種處理器的運(yùn)行,在指令執(zhí)行時(shí)間、中斷響應(yīng)、定時(shí)器等方面很有可能與實(shí)際處理器有相當(dāng)大的差別。另外,它無(wú)法仿真嵌入式系統(tǒng)在應(yīng)用系統(tǒng)中的實(shí)際執(zhí)行情況比如:ARM公司的ARMulator模擬器
7.3.1源程序模擬器方式27源程序模擬器(Simulator)是在PC機(jī)上,通過(guò)28監(jiān)控器(Monitor)調(diào)試方式需要目標(biāo)機(jī)與宿主機(jī)協(xié)調(diào)。首先,在宿主機(jī)和目標(biāo)機(jī)之間通過(guò)串口、以太口等建立物理連接,然后在宿主機(jī)上運(yùn)行調(diào)試器,目標(biāo)機(jī)運(yùn)行監(jiān)控程序和被調(diào)試程序,從而建立宿主機(jī)與目標(biāo)機(jī)的邏輯連接。宿主機(jī)通過(guò)調(diào)試器與目標(biāo)機(jī)的監(jiān)控器建立通信連接,它們相互間的通信遵循遠(yuǎn)程調(diào)試協(xié)議。比如ARM公司的Angel。7.3.2監(jiān)控器方式28監(jiān)控器(Monitor)調(diào)試方式需要目標(biāo)機(jī)與宿主292930仿真器調(diào)試方式是在微處理器的內(nèi)部嵌入額外的控制模塊。當(dāng)特定的觸發(fā)條件滿足時(shí),系統(tǒng)將進(jìn)入某種特殊狀態(tài),被調(diào)試的程序暫時(shí)停止運(yùn)行,宿主機(jī)的調(diào)試器通過(guò)微處理器外部特設(shè)的通信口訪問(wèn)各種寄存器、存儲(chǔ)器資源,并執(zhí)行相應(yīng)的調(diào)試指令一般高檔的微處理器都帶JTAG(JointTestActionGroup,聯(lián)合測(cè)試行動(dòng)組)接口,它是一種邊界掃描標(biāo)準(zhǔn),只需5根引腳就可以實(shí)現(xiàn)在線仿真的功能。7.3.3仿真器方式30仿真器調(diào)試方式是在微處理器的內(nèi)部嵌入額外的控制模31控制設(shè)備由內(nèi)部控制器和外部控制面板組成?控制器控制六個(gè)轉(zhuǎn)軸,并與數(shù)字I/O傳感器交互作用?轉(zhuǎn)軸和I/O由程序控制?該程序由控制面板操作啟動(dòng)執(zhí)行7.4實(shí)例分析—機(jī)器人控制器系統(tǒng)31控制設(shè)備由內(nèi)部控制器和外部控制面板組成7.4實(shí)例分析32需求分析與說(shuō)明32需求分析與說(shuō)明33控制執(zhí)行過(guò)程?按下“上電”按鈕,系統(tǒng)進(jìn)入了上電狀態(tài)。?上電成功后,系統(tǒng)進(jìn)入了手動(dòng)狀態(tài)。此時(shí),操作者可以通過(guò)程序選擇開(kāi)關(guān)選擇程序?按下“運(yùn)行”按鈕,則選定的程序開(kāi)始運(yùn)行,系統(tǒng)轉(zhuǎn)為運(yùn)行態(tài)。?程序運(yùn)行中如果按下“停止”鍵,程序被掛起。之后,操作者可以按下“運(yùn)行”鍵,使程序恢復(fù)執(zhí)行,也可按下“結(jié)束”鍵,結(jié)束程序。?按下“結(jié)束”鍵后,系統(tǒng)進(jìn)入終止態(tài)。當(dāng)程序最終終止執(zhí)行時(shí),系統(tǒng)返回手動(dòng)狀態(tài)。33控制執(zhí)行過(guò)程?按下“上電”按鈕,系統(tǒng)進(jìn)入了上電狀態(tài)。34數(shù)據(jù)流圖每個(gè)數(shù)據(jù)流圖都包含:–加工(橢圓—對(duì)數(shù)據(jù)的操作變換–數(shù)據(jù)流(箭頭)—變換間的數(shù)據(jù)流動(dòng)–數(shù)據(jù)存儲(chǔ)區(qū)(方框)—數(shù)據(jù)的存儲(chǔ)場(chǎng)所–文件(雙線)—輸入/輸出文件–數(shù)據(jù)字典,定義了數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)區(qū)所包含的數(shù)據(jù)項(xiàng)34數(shù)據(jù)流圖每個(gè)數(shù)據(jù)流圖都包含:35機(jī)器人控制器數(shù)據(jù)流圖35機(jī)器人控制器數(shù)據(jù)流圖36劃分任務(wù)識(shí)別出并行性的功能--需要考慮系統(tǒng)內(nèi)功能的異步性分析數(shù)據(jù)流圖中的變換,確定哪些變換可以并行,哪些變換本質(zhì)上是順序的一個(gè)任務(wù)可對(duì)應(yīng)一個(gè)變換,也可對(duì)應(yīng)多個(gè)變換。劃分任務(wù)的規(guī)則 –I/O依賴性 –功能的時(shí)間關(guān)鍵性 –計(jì)算需求 –功能內(nèi)聚 –時(shí)間內(nèi)聚 –周期執(zhí)行36劃分任務(wù)識(shí)別出并行性的功能--需要考慮系統(tǒng)內(nèi)功能的異步性37I/O依賴性變換依賴于I/O,性能受限I/O,可獨(dú)立成任務(wù)在系統(tǒng)中創(chuàng)建與I/O設(shè)備數(shù)目相當(dāng)?shù)腎/O任務(wù)在任務(wù)中分離設(shè)備相關(guān)性I/O任務(wù)只完成與設(shè)備相關(guān)的功能I/O任務(wù)的執(zhí)行只受限于I/O設(shè)備的性能,而不是處理器37I/O依賴性功能的時(shí)間關(guān)鍵性將有時(shí)間關(guān)鍵性(deadline)的功能分離出來(lái),組成獨(dú)立運(yùn)行的任務(wù)賦予這些任務(wù)高的優(yōu)先級(jí),以滿足對(duì)時(shí)間的需要38功能的時(shí)間關(guān)鍵性3839計(jì)算需求把計(jì)算功能捆綁成任務(wù),以消耗CPU的剩余時(shí)間計(jì)算量大的功能占用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)39計(jì)算需求功能內(nèi)聚將緊密相關(guān)的功能變換組成一個(gè)任務(wù),減少通信的開(kāi)銷把每個(gè)變換都作為同一任務(wù)中的一個(gè)獨(dú)立模塊,不僅保證了模塊級(jí)的功能內(nèi)聚,也保證了任務(wù)級(jí)的功能內(nèi)聚40功能內(nèi)聚4041時(shí)間內(nèi)聚將在同一時(shí)間內(nèi)完成的各功能形成一個(gè)任務(wù)即使這些功能是不相關(guān)的功能組的各功能是由相同的外部事件驅(qū)動(dòng)的,這樣每次任務(wù)接收到一個(gè)事件,它們都可以同時(shí)執(zhí)行減少了任務(wù)調(diào)度及切換的次數(shù),減少了系統(tǒng)的開(kāi)銷41時(shí)間內(nèi)聚周期執(zhí)行一個(gè)需要周期執(zhí)行的變換可以作為一個(gè)獨(dú)立的任務(wù),按一定的時(shí)間間隔被激活將在相同周期內(nèi)執(zhí)行的各功能組成一個(gè)任務(wù)頻率高的任務(wù)賦予高優(yōu)先級(jí)42周期執(zhí)行4243機(jī)器人控制器的任務(wù)劃分43機(jī)器人控制器的任務(wù)劃分44定義任務(wù)接口任務(wù)間通信模塊TCM(TaskCommunicationModule)
消息通信模塊:通過(guò)管理消息隊(duì)列和同步通信原語(yǔ)分別實(shí)現(xiàn)緊耦合通信和松耦合通信。緊耦合通信:發(fā)送方發(fā)送消息后立即等待回答松耦合通信:通過(guò)消息隊(duì)列緩沖消息信息隱藏模塊實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)和訪問(wèn)方法系統(tǒng)由任務(wù)(主動(dòng)對(duì)象)和信息隱藏模塊(被動(dòng)對(duì)象)構(gòu)成44定義任務(wù)接口任務(wù)同步模塊TSM(TaskSynchronizationModule)采用互斥等待和信號(hào)燈交叉激勵(lì)的方式實(shí)現(xiàn)管理“控制”(而不是“數(shù)據(jù)”)在任務(wù)間的傳遞45任務(wù)同步模塊TSM(TaskSynchronization46DFG強(qiáng)調(diào)數(shù)據(jù)流動(dòng),不強(qiáng)調(diào)控制信號(hào)流動(dòng),因此有利于描述并發(fā),但難于描述同步擴(kuò)充DFG表示任務(wù)通信與同步和狀態(tài)依賴DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟如下:數(shù)據(jù)流分析--從功能需求分析數(shù)據(jù)流圖劃分任務(wù)--在數(shù)據(jù)流圖上把可并行的、相對(duì)獨(dú)立功能抽象成一個(gè)系統(tǒng)任務(wù)定義任務(wù)間的接口--確定任務(wù)之間的通信和同步DARTS設(shè)計(jì)方法46DFG強(qiáng)調(diào)數(shù)據(jù)流動(dòng),不強(qiáng)調(diào)控制信號(hào)流動(dòng),因此有利于描述并47需求分析與SPEC分析用戶需求,定義系統(tǒng)功能需求和I/O接口數(shù)據(jù)流分析:采用DFG系統(tǒng)設(shè)計(jì):DARTS方法完成任務(wù)分解(并行進(jìn)程),定義任務(wù)間接口關(guān)系劃分任務(wù):在DFG中確定并發(fā)任務(wù)定義任務(wù)接口DARTS使用RTSA時(shí)間規(guī)范將時(shí)間預(yù)算分配到每個(gè)任務(wù)上。DARTS的軟件設(shè)計(jì)周期47需求分析與SPECDARTS的軟件設(shè)計(jì)周期48任務(wù)設(shè)計(jì)按模塊方式設(shè)計(jì)每個(gè)任務(wù),定義模塊間接口模塊構(gòu)筑完成每個(gè)模塊的詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試任務(wù)與系統(tǒng)集成對(duì)每個(gè)任務(wù)的模塊進(jìn)行集成和測(cè)試,然后依次對(duì)系統(tǒng)中的任務(wù)逐步進(jìn)行集成和測(cè)試。系統(tǒng)測(cè)試48任務(wù)設(shè)計(jì)49DARTS設(shè)計(jì)方法使用任務(wù)構(gòu)架圖來(lái)顯示系統(tǒng)分解為并發(fā)任務(wù)的過(guò)程。DARTS圖例49DARTS設(shè)計(jì)方法使用任務(wù)構(gòu)架圖來(lái)顯示系統(tǒng)分解為并發(fā)任務(wù)50任務(wù)接口50任務(wù)接口51機(jī)器人控制器任務(wù)結(jié)構(gòu)圖51機(jī)器人控制器任務(wù)結(jié)構(gòu)圖52詳細(xì)說(shuō)明系統(tǒng)中各任務(wù)的設(shè)計(jì)考慮和執(zhí)行流程,以利于程序員編制程序。–任務(wù)體系結(jié)構(gòu):詳細(xì)定義任務(wù)包含的子模塊和模塊間的關(guān)系–任務(wù)執(zhí)行流程:盡可能詳細(xì)地描述任務(wù)的處理過(guò)程–任務(wù)內(nèi)數(shù)據(jù)結(jié)構(gòu)–任務(wù)內(nèi)模塊間接口任務(wù)設(shè)計(jì)52詳細(xì)說(shuō)明系統(tǒng)中各任務(wù)的設(shè)計(jì)考慮和執(zhí)行流程,以利于程5353545455進(jìn)行每個(gè)模塊的詳細(xì)設(shè)計(jì),直到每個(gè)具體的函數(shù)?函數(shù)設(shè)計(jì):函數(shù)描述給出對(duì)該函數(shù)的簡(jiǎn)要描述,說(shuō)明設(shè)計(jì)目的、意義以及特點(diǎn)功能說(shuō)明該函數(shù)應(yīng)具有的功能,可采用IPO圖(輸入一處理一輸出圖)形式性能說(shuō)明對(duì)該函數(shù)的性能要求,包括精度、靈活性和時(shí)間特性等
輸入定義每個(gè)輸入項(xiàng)的特性,包括名稱、標(biāo)識(shí)、數(shù)據(jù)類型和格式、取值范圍、輸入方式、數(shù)據(jù)來(lái)源、保密方式等
輸出定義每個(gè)輸入項(xiàng)的特性,特征同輸入模塊構(gòu)筑55進(jìn)行每個(gè)模塊的詳細(xì)設(shè)計(jì),直到每個(gè)具體的函數(shù)模塊構(gòu)筑56
算法詳細(xì)說(shuō)明本函數(shù)所選用的算法,具體的計(jì)算公式和計(jì)算步驟流程用流程圖輔以必要的說(shuō)明來(lái)表示本函數(shù)的邏輯流程接口說(shuō)明本函數(shù)與其他函數(shù)的調(diào)用關(guān)系,包括說(shuō)明參數(shù)賦值和調(diào)用方式以及相關(guān)數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)庫(kù)、文件)。存儲(chǔ)分配說(shuō)明本函數(shù)的存儲(chǔ)分配限制條件說(shuō)明本函數(shù)運(yùn)行所受限制測(cè)試計(jì)劃說(shuō)明對(duì)本函數(shù)的測(cè)試計(jì)劃,包括技術(shù)要求、輸入數(shù)據(jù)、預(yù)期結(jié)果、人員安排等56
算法詳細(xì)說(shuō)明本函數(shù)所選用的算法,具體的計(jì)算公式和計(jì)算57模塊逐個(gè)連接、測(cè)試以構(gòu)成任務(wù)?任務(wù)被逐個(gè)連接和測(cè)試形成最終系統(tǒng)?可分兩步集成–在宿主機(jī)上模擬集成(軟集成)–在目標(biāo)機(jī)上集成任務(wù)與系統(tǒng)集成57模塊逐個(gè)連接、測(cè)試以構(gòu)成任務(wù)任務(wù)與系統(tǒng)集成7.5基于WindowsCE的嵌入式應(yīng)用程序開(kāi)發(fā)實(shí)例基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)環(huán)境基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)流程創(chuàng)建第一個(gè)WindowsCE工程文件配置工程并編譯內(nèi)核鏡像文件587.5基于WindowsCE的嵌入式應(yīng)用程序開(kāi)發(fā)實(shí)例基于59WindowsCE是專門為信息設(shè)備、移動(dòng)應(yīng)用、嵌入式應(yīng)用等設(shè)計(jì)的、具有強(qiáng)大通訊功能的、基于Win32API并與處理器無(wú)關(guān)的嵌入式操作系統(tǒng)?;竟ぞ叻N類:(1)EmbeddedVisualC++
(2)VisualStudio.NET
(3)PlatformBuilder7.5.1基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)環(huán)境59WindowsCE是專門為信息設(shè)備、移動(dòng)應(yīng)用、由于WindowsCE操作系統(tǒng)是以Win32API為基礎(chǔ),所以它的應(yīng)用程序開(kāi)發(fā)環(huán)境與Windows98、WindowsNT和Windows2000類似。WindowseMbeddedVisualC++提供了WindowsCE應(yīng)用程序的整合開(kāi)發(fā)環(huán)境與工具,使軟件開(kāi)發(fā)人員在建立、編譯與偵錯(cuò)應(yīng)用程序時(shí)更加方便。(1)EmbeddedVisualC++60由于WindowsCE操作系統(tǒng)是以Win32APWindowseMbeddedVisualC++具有以下組件:○項(xiàng)目工作區(qū)(ProjectWorkspace):用來(lái)管理項(xiàng)目與項(xiàng)目的組件?!鸪绦蚓庉嬈?TextEditor):用于撰寫(xiě)程序代碼。○資源編輯器(ResourceEditor):用于設(shè)計(jì)和修改資源,如對(duì)話框與菜單。○編譯器(Compiler)?!餡indowsCE設(shè)備仿真器(WindowsCESimulator):用于在桌上型計(jì)算機(jī)測(cè)試應(yīng)用程序。61WindowseMbeddedVisualC++具有以○平臺(tái)管理器(PlatformManager):用于在WindowCE設(shè)備上測(cè)試程序。○除錯(cuò)器(Debugger):用于控制程序的單步執(zhí)行和斷點(diǎn)執(zhí)行。○應(yīng)用程序精靈(AppWizard):協(xié)助程序設(shè)計(jì)師針對(duì)不同平臺(tái)的各種應(yīng)用程序建立工作框架。○程序代碼瀏覽器:用于檢查和編輯程序中的函數(shù)與類別,并快速顯示它們之間的關(guān)系?!痤愊?qū)?ClassWizard):用于自動(dòng)產(chǎn)生類別程序代碼。○Windows診斷工具(Windowsdiagnostictools):如WindowsCERemoteSpy(Cespy.exe)提供了額外的程序編輯和偵錯(cuò)的功能。○在線文件和輔助說(shuō)明(Onlinedocumentationandhelp)。62○平臺(tái)管理器(PlatformManager):用于在W(2)VisualStudio2005/VisualStudio2008VisualStudio是微軟公司推出的開(kāi)發(fā)環(huán)境。是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。2005年,微軟發(fā)布了VisualStudio2005。.NET字眼從各種語(yǔ)言的名字中被抹去,但是這個(gè)版本的VisualStudio仍然還是面向.NET框架的(版本2.0)。它同時(shí)也能開(kāi)發(fā)跨平臺(tái)的應(yīng)用程序,如開(kāi)發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等??傮w來(lái)說(shuō)是一個(gè)非常龐大的軟件,甚至包含代碼測(cè)試功能。它包含有眾多版本,分別面向不同的開(kāi)發(fā)角色。同時(shí)還永久提供免費(fèi)的VisualStudioExpress版本。63(2)VisualStudio2005/Visua(2)VisualStudio2005/VisualStudio2008該工具的特征是:開(kāi)發(fā)WindowsCEApp/Assemblyusing.NETcompactframework;可使用C#,VB.NET等語(yǔ)言;VS.NET具有完整的開(kāi)發(fā)環(huán)境;目標(biāo)平臺(tái)上需要安裝.NETcompactframework;
易于調(diào)試和測(cè)試;64(2)VisualStudio2005/Visua(3)PlatformBuilder
PlatformBuilder是微軟公司提供給WindowsCE開(kāi)發(fā)人員進(jìn)行基于WindowsCE平臺(tái)下嵌入式操作系統(tǒng)定制的集成開(kāi)發(fā)環(huán)境。
它提供了所有進(jìn)行設(shè)計(jì)、創(chuàng)建、編譯、測(cè)試和調(diào)試WindowsCE操作系統(tǒng)平臺(tái)的工具。
它運(yùn)行在桌面Windows下,開(kāi)發(fā)人員可以通過(guò)交互式的環(huán)境來(lái)設(shè)計(jì)和定制內(nèi)核、選擇系統(tǒng)特性,然后進(jìn)行編譯和調(diào)試。
同時(shí),開(kāi)發(fā)人員還可以利用PlatformBuilder來(lái)進(jìn)行驅(qū)動(dòng)程序開(kāi)發(fā)和應(yīng)用程序項(xiàng)目的開(kāi)發(fā)等等。65(3)PlatformBuilder65(3)PlatformBuilder
PlatformBuilder的強(qiáng)大功能,已使其成為WindowsCE平臺(tái)下嵌入式操作系統(tǒng)開(kāi)發(fā)和定制的必備工具。
其SDK輸出模板可以將特定系統(tǒng)的SDK導(dǎo)出,這可以是應(yīng)用程序開(kāi)發(fā)人員使用EVC就可以為特定的系統(tǒng)開(kāi)發(fā)軟件。
EVC調(diào)試的是應(yīng)用程序軟件,而PlatformBuilder往往要編譯整個(gè)內(nèi)核再調(diào)試,兩者的開(kāi)發(fā)效率是不同的。66(3)PlatformBuilder66具體特性如下:①平臺(tái)開(kāi)發(fā)向?qū)В≒latformWizard)、BSP(主板支持軟件包)和開(kāi)發(fā)向?qū)В˙SPWizard)。開(kāi)發(fā)向?qū)в脕?lái)引導(dǎo)開(kāi)發(fā)人員去創(chuàng)建一個(gè)簡(jiǎn)單的系統(tǒng)平臺(tái)或BSP,然后再根據(jù)要求作進(jìn)一步的修改。提高了平臺(tái)和BSP創(chuàng)建的效率。②基礎(chǔ)配置。為各種流行的設(shè)備類別預(yù)置的可操作系統(tǒng)基礎(chǔ)平臺(tái),為自定義操作系統(tǒng)的創(chuàng)建提供了一個(gè)起點(diǎn)。開(kāi)發(fā)人員可以很容易地定制并編譯出一個(gè)具備最基本功能的操作系統(tǒng)。然后再在其上做后續(xù)的修改。67具體特性如下:67③特性目錄(Catalog)。操作系統(tǒng)可選特性均在特性目錄(Catalog)中列出,開(kāi)發(fā)人員可以選擇相應(yīng)的特性來(lái)定制操作系統(tǒng)。④自動(dòng)化的依靠性檢查。特性(Feature)之間的依賴關(guān)系是系統(tǒng)自動(dòng)維護(hù)的。開(kāi)發(fā)人員在選擇一個(gè)特性時(shí),系統(tǒng)會(huì)自動(dòng)將這一特性所依賴的特性加上;反之,當(dāng)刪除一個(gè)特性時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)是否已經(jīng)選擇了依賴于它之上的其他特性,如果有,系統(tǒng)會(huì)給出提示,通知開(kāi)發(fā)人員這一特性現(xiàn)在不能刪除。68③特性目錄(Catalog)。操作系統(tǒng)可選特性均在特性目錄⑤系統(tǒng)為驅(qū)動(dòng)程序開(kāi)發(fā)提供了基本的測(cè)試工具集。WindowsCETestKit(測(cè)試工具包)⑥內(nèi)核調(diào)試器。可以對(duì)自定義的操作系統(tǒng)映像進(jìn)行調(diào)試,并且向用戶提供有關(guān)映像性能的信息。69⑤系統(tǒng)為驅(qū)動(dòng)程序開(kāi)發(fā)提供了基本的測(cè)試工具集。Windows⑦導(dǎo)出向?qū)В‥xportWizard)??梢韵蚱渌鸓latformBuilder用戶導(dǎo)出自定義的目錄(Catalog)特性。⑧導(dǎo)出SDK向?qū)В‥xportSDKWizard)。使用戶可以導(dǎo)出一個(gè)自定義的軟件開(kāi)發(fā)工具包(SDK)。即可以將客戶定制的SDK導(dǎo)出到特定的開(kāi)發(fā)環(huán)境中(如EVC)去。這樣開(kāi)發(fā)人員就可以使用特定的SDK寫(xiě)出符合特定的操作系統(tǒng)平臺(tái)要求的應(yīng)用程序。70⑦導(dǎo)出向?qū)В‥xportWizard)??梢韵蚱渌鸓la⑨遠(yuǎn)程工具??梢詧?zhí)行同基于WindowsCE的目標(biāo)設(shè)備有關(guān)的各種調(diào)試任務(wù)和信息收集任務(wù)。⑩仿真器(Emulator)。通過(guò)硬件仿真加速和簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā),使用戶可以在開(kāi)發(fā)工作站上對(duì)平臺(tái)和應(yīng)用程序進(jìn)行測(cè)試,大大簡(jiǎn)化了系統(tǒng)開(kāi)發(fā)流程,縮短了開(kāi)發(fā)時(shí)間71⑨遠(yuǎn)程工具??梢詧?zhí)行同基于WindowsCE的目標(biāo)設(shè)備深刻理解WindowsCE的重要組件及系統(tǒng)提供的可選特性,并靈活運(yùn)用PlatformBuilder的配置文件.REG、.BIB、.DAT、.DB是定制適合目標(biāo)平臺(tái)的WindowsCE操作系統(tǒng)的關(guān)鍵。PlatformBuilder是商用軟件,因此要通過(guò)正規(guī)途徑獲得。安裝PlatformBuilder至少需要4GB的磁盤(pán)空間,建議使用512MB以上的內(nèi)存,1.8GHz以上主頻的處理器。72深刻理解WindowsCE的重要組件及系統(tǒng)提供的嵌入式系統(tǒng)的設(shè)計(jì)是使用一組物理硬件和軟件來(lái)完成所需功能的過(guò)程,所以在一個(gè)嵌入式系統(tǒng)的設(shè)計(jì)過(guò)程中,軟件設(shè)計(jì)和硬件設(shè)計(jì)是緊密結(jié)合、相互協(xié)調(diào)的。在設(shè)計(jì)時(shí),從系統(tǒng)功能的實(shí)現(xiàn)出發(fā),要把軟硬件同時(shí)考慮進(jìn)去。一個(gè)基于WindowsCE的嵌入式系統(tǒng)開(kāi)發(fā)的主要內(nèi)容有:(1)設(shè)計(jì)系統(tǒng)硬件。(2)將WindowsCE操作系統(tǒng)移植到目標(biāo)硬件平臺(tái)上。(3)建立交叉調(diào)試通道,編寫(xiě)和調(diào)試應(yīng)用程序代碼。737.5.2基于WindowsCE嵌入式應(yīng)用程序開(kāi)發(fā)流程嵌入式系統(tǒng)的設(shè)計(jì)是使用一組物理硬件和軟件來(lái)完成所需功具體的開(kāi)發(fā)流程74具體的開(kāi)發(fā)流程74基于WindowsCE的軟件開(kāi)發(fā)模式比較統(tǒng)一,通常使用PlatformBuilder定制出針對(duì)特定硬件平臺(tái)的操作系統(tǒng)映像文件NK.bin,使用EmbeddedVC++或VisualS開(kāi)發(fā)上層的應(yīng)用軟件。嵌入式系統(tǒng)層軟件開(kāi)發(fā)過(guò)程對(duì)應(yīng)于WindowsCE操作系統(tǒng)在目標(biāo)硬件平臺(tái)上的移植和定制過(guò)程,嵌入式應(yīng)用層軟件的實(shí)現(xiàn)即WindowsCE應(yīng)用程序的開(kāi)發(fā)過(guò)程。75基于WindowsCE的軟件開(kāi)發(fā)模式比較統(tǒng)一,通常(1)運(yùn)行開(kāi)始>程序>MicrosoftWindowsCE5.0>PlatformBuilder5.0767.5.3WindowsCE創(chuàng)建第一個(gè)工程文件(1)運(yùn)行開(kāi)始>程序>MicrosoftWindowsC程序打開(kāi)后進(jìn)入初始畫(huà)面,注意右側(cè)Catalog窗口中的如下選項(xiàng)正常顯示:77程序打開(kāi)后進(jìn)入初始畫(huà)面,注意右側(cè)Catalog窗口中的如下(2)選擇File->NewPlatform:78(2)選擇File->NewPlatform:78(3)開(kāi)始一個(gè)“NewPlatformWizard”:79(3)開(kāi)始一個(gè)“NewPlatformWizard”:(4)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中填入工程名稱:80(4)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中填入工程名稱:(5)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇BSP包:EMDOORSYSTEMXSBase270:ARMV4I:81(5)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇BSP包:(6)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇設(shè)計(jì)模板:InternetAppliance:82(6)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇設(shè)計(jì)模板:(7)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇所需組件:83(7)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下界面中選擇所需組件:(8)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下Networking&Communications界面中點(diǎn)擊“Next”:84(8)點(diǎn)擊“Next”繼續(xù)創(chuàng)建,在如下Networking(9)完成工程向?qū)В?5(9)完成工程向?qū)В?5(1)在窗口右側(cè)的Catalog中添加UsbActivesync(FileSync)(Catalog->CoreOS->WindowsCEdevices->Applications-EndUser->ActiveSync->FileSync)到工程:867.5.4配置工程并編譯內(nèi)核鏡像文件(1)在窗口右側(cè)的Catalog中添加UsbActives8787(2)在窗口右側(cè)的Catalog中添加USBMassStorage(Catalog->CoreOS->WindowsCEdevices->CoreOSServices->USBHostSupport->USBStorageClassDriver)到工程中:88(2)在窗口右側(cè)的Catalog中添加USBMassSt8989(3)在窗口右側(cè)的Catalog中添加中文字體(Catalog->CoreOS->WindowsCEdevices->International->LocaleSpecificSupport->Chinese[Simplified]->GB18030DataConverter到工程中:90(3)在窗口右側(cè)的Catalog中添加中文字體909191(4)在窗口右側(cè)的Catalog中添加FatFileSystem(Catalog->CoreOS->WindowsCEdevices->FileSystemsandDataStore->StorageManager->FATFileSystem)到工程中:92(4)在窗口右側(cè)的Catalog中添加FatFileSy9393(5)在窗口右側(cè)的Catalog中添加DiskPartition(Catalog->CoreOS->WindowsCEdevices->FileSystemsandDataStore->StorageManager->PartitionDriver)到工程中:94(5)在窗口右側(cè)的Catalog中添加DiskPartit9595(6)在窗口右側(cè)的Catalog中添加StorageManagerinthecontrolpanel.(Catalog->CoreOS->WindowsCEdevices->FileSystemsandDataStore->StorageManager->StorageManagerControlPanelApplet)到工程中:96(6)在窗口右側(cè)的Catalog中添加StorageMan9797(7)在窗口右側(cè)的Catalog中添加軟鍵盤(pán)(Catalog->CoreOS->WindowsCEdevices->ShellandUserInterface->UserInterface->SoftwareInputPanel->Software-basedInpu
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44845-2024承壓設(shè)備低頻電磁檢測(cè)方法
- 2024年度年福建省高校教師資格證之高等教育學(xué)通關(guān)提分題庫(kù)(考點(diǎn)梳理)
- 2024年度山西省高校教師資格證之高等教育心理學(xué)題庫(kù)附答案(基礎(chǔ)題)
- 江蘇開(kāi)放大學(xué)形考任務(wù)2024年秋包裝設(shè)計(jì)060712形成性考核作業(yè)答案
- 2024年商品信用銷售協(xié)議
- 合同法總作業(yè)及參考答案
- 大理石原料買賣化協(xié)議文檔
- 2024年規(guī)范轉(zhuǎn)供電服務(wù)協(xié)議模板
- 2024年施工協(xié)議監(jiān)管要點(diǎn)明細(xì)
- 2024年木模板工程承包協(xié)議樣本
- 蘇軾生平及創(chuàng)作整理
- 柴油發(fā)電機(jī)組應(yīng)急預(yù)案
- 語(yǔ)文《猜猜他是誰(shuí)》教案
- 繪本:讓誰(shuí)先吃好呢
- 寬容待人正確交往中小學(xué)生教育主題班會(huì)
- 移動(dòng)通信網(wǎng)絡(luò)運(yùn)行維護(hù)管理規(guī)程
- 龍頭股戰(zhàn)法優(yōu)質(zhì)獲獎(jiǎng)?wù)n件
- 小班幼兒語(yǔ)言活動(dòng)教案100篇
- 中國(guó)青瓷藝術(shù)鑒賞智慧樹(shù)知到答案章節(jié)測(cè)試2023年麗水學(xué)院
- 中廣國(guó)際總公司-CR2010衛(wèi)星接收解碼器
- 2023年小學(xué)數(shù)學(xué)手抄報(bào)比賽活動(dòng)總結(jié)(3篇)
評(píng)論
0/150
提交評(píng)論