版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、51單片機上移植ucos-II51單片機上移植ucos-II21/2151單片機上移植ucos-II適用標準文檔嵌入式及時操作系統(tǒng)實驗報告單片機上移植C/OS-II系別計算機與電子系專業(yè)班級電子0901班學生姓名驕橫指導教師黃向宇提交日期2012年4月17日文案大全適用標準文檔一、實驗?zāi)康睦斫庖浦睠/OS-II的一般原理及基本方法。掌握在51單片機上移植C/OS-II的方法及步驟,掌握在51單片機上鑒于C/OS-II系統(tǒng)建立應(yīng)用程序的基本源理及方法。二、實驗內(nèi)容1.建立并熟習編譯及仿真調(diào)試環(huán)境(keil+proteus)。2.下載已移植好的軟件包,在開發(fā)環(huán)境下建立工程編譯并運轉(zhuǎn)察看運轉(zhuǎn)結(jié)果,使
2、用Keil自帶的仿真調(diào)試工具察看程序運轉(zhuǎn)狀況(內(nèi)存的分派、變量及CPU存放器的動向變化、任務(wù)的切換運轉(zhuǎn)狀態(tài)等);比較移植前和移植后的有關(guān)文件,分析移植過程中做了哪些變動工作。3.聯(lián)合前兩次實驗內(nèi)容,在移植軟件包的基礎(chǔ)上試一試增添用戶任務(wù),并利用信號量、信息郵箱等建立任務(wù)之間的通訊聯(lián)系;同時試一試采納動向內(nèi)存分派的方法為任務(wù)分派內(nèi)存,使用Keil仿真工具察看程序運轉(zhuǎn)狀況并記錄運轉(zhuǎn)結(jié)果。4.輸入課本P220的例子程序,編譯運轉(zhuǎn)并察看運轉(zhuǎn)結(jié)果。文案大全適用標準文檔將以上浮試好的軟件移植到proteus開發(fā)環(huán)境中去,利用proteus的硬件仿真環(huán)境創(chuàng)立幾個實質(zhì)任務(wù)(如鍵盤、顯示器、LED點陣、數(shù)碼管、
3、時鐘或溫度傳感器等)給每個賦以適合的優(yōu)先級,配置適合的貨倉容量,編譯運轉(zhuǎn)并察看運轉(zhuǎn)狀況,顯示信息能夠用液晶顯示器或虛假終端來顯示。三實驗原理移植的見解所謂移植,就是使一個及時內(nèi)核能在某個微辦理器或微控制器上運轉(zhuǎn)。為了方便移植,大部分的C/OS-代碼是用C語言寫的;但仍需要用C和匯編語言寫一些與辦理器有關(guān)的代碼,這是因為-在讀C/OS寫辦理器存放器時只好經(jīng)過匯編語言來實現(xiàn)。因為-C/OS在設(shè)計時就已經(jīng)充分考慮了可移植性,因此C/OS-的移植相對來說是比較簡單的。要使C/OS-正常運轉(zhuǎn),辦理器必然知足以下要求:辦理器的C編譯器能產(chǎn)生可重入代碼。用C語言就能夠翻開和封閉中止。3.辦理器支持中止,而且
4、能產(chǎn)生準時中止(平常在10至100Hz之間)。辦理器支持能夠容納必然量數(shù)據(jù)(可能是幾千字節(jié))的硬件貨倉。辦理器有將貨倉指針和其余CPU存放器讀出和儲蓄到貨倉或內(nèi)存中的指令。假如用戶理解了辦理器和C編譯器的技術(shù)細節(jié),移植-C/OS的工作實質(zhì)上是特別簡單的。前提是您的辦理器和編譯器知足了-的要求,C/OS而且已經(jīng)有了必需工具。移植工作包含以下幾個內(nèi)容:用#define設(shè)置一個常量的值(OS_CPU.H)文案大全適用標準文檔申明10個數(shù)據(jù)種類(OS_CPU.H)用#define申明三個宏(OS_CPU.H)用C語言編寫六個簡單的函數(shù)(OS_CPU_C.C)編寫四個匯編語言函數(shù)(OS_CPU_A.AS
5、M)依據(jù)辦理器的不一樣樣,一個移植實例可能需要編寫或改寫50至300行的代碼,需要的時間從幾個小時到一禮拜不等。一旦代碼移植結(jié)束,下一步工作就是測試。測試一個象-相同的多C/OS任務(wù)及時內(nèi)核其實不復雜。甚至能夠在沒有應(yīng)用程序的狀況下測試。換句話說,就是讓內(nèi)核自己測試自己。這樣做有兩個利處:第一,防范使原來就復雜的事情更加復雜;第二,假如出現(xiàn)問題,能夠知道問題出在內(nèi)核代碼上而不是應(yīng)用程序。剛開始的時候能夠運轉(zhuǎn)一些簡單的任務(wù)和時鐘節(jié)拍中止服務(wù)例程。一旦多任務(wù)調(diào)度成功地運轉(zhuǎn)了,再增添應(yīng)用程序的任務(wù)就是特別簡單的工作了。2.開發(fā)工具移植C/OS-需要一個C編譯器,而且是針對用戶用的CPU的。因為C/O
6、S-是一個可剝奪型內(nèi)核,用戶只有經(jīng)過C編譯器來產(chǎn)生可重入代碼;C編譯器還要支持匯編語言程序。絕大部分的C編譯器都是為嵌入式系統(tǒng)設(shè)計的,它包含匯編器、連結(jié)器和定位器。連結(jié)器用來將不一樣樣的模塊(編譯過和匯編過的文件)連結(jié)成目標文件。定位器則贊成用戶將代碼和數(shù)據(jù)擱置在目標辦理器的指定內(nèi)存照耀空間中。所用的C編譯器還必然供給一個系統(tǒng)來從C中翻開和封閉中止。一些編譯器贊成用戶在C源代碼中插入?yún)R編語言。這就使得插入適合的辦理器指令來贊成和嚴禁中止變得特別簡單了。還有一些編譯器實質(zhì)上包含了語言擴展功能,能夠直接從C中贊成和嚴禁中止。文案大全適用標準文檔目錄和文件本書所付的磁盤中供給了-C/OS的安裝程序,
7、可在硬盤上安裝-C/OS和移植實例代碼(Intel80 x86實模式,大模式編譯)。我設(shè)計了一個連續(xù)的目錄構(gòu)造,使得用戶更簡單找到目標辦理器的文件。假如想增添一個其余辦理器的移植實例,您能夠考慮采納相同的方法(包含目錄的建立和文件的命名等等)。全部的移植實例都應(yīng)放在用戶硬盤的COS-目錄下。各個微辦理器或微控制器的移植源代碼必然在以下兩個或三個文件中找到:OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。匯編語言文件OS_CPU_A.ASM是可選擇的,因為某些C編譯器贊成用戶在C語言中插入?yún)R編語言,因此用戶可以將所需的匯編語言代碼直接放到OS_CPU_C.C中。擱置移植實例的目
8、錄決定于用戶所用的辦理器,比方在下邊的表中所示的擱置不一樣樣移植實例的目錄構(gòu)造。注意,各個目錄固然針對完滿不一樣樣的目標辦理器,但都包含了相同的文件名。Intel/AMDSOFTWAREuCOS-IIIx86S80186OS_CPU.HOS_CPU_A.ASMOS_CPU_C.CSOFTWAREuCOS-IIIx86LOS_CPU.HOS_CPU_A.ASM文案大全適用標準文檔OS_CPU_C.CMotorolaSOFTWAREuCOS-II68HC1168HC11OS_CPU.HOS_CPU_A.ASMOS_CPU_C.CINCLUDES.H在第一章中曾提到過,INCLUDES.H是一個頭文
9、件,它在全部.C文件的第一行被包含。#includeincludes.hINCLUDES.H使得用戶項目中的每個.C文件不用分別去考慮它實質(zhì)上需要哪些頭文件。使用INCLUDES.H的獨一弊端是它可能會包含一些實質(zhì)不有關(guān)的頭文件。這意味著每個文件的編譯時間可能會增添。但因為它加強了代碼的可移植性,因此我們還是決定使用這一方法。用戶能夠經(jīng)過編寫INCLUDES.H來增添自己的頭文件,但是用戶的頭文件必然增添在頭文件列表的最后。OS_CPU.HOS_CPU.H包含了用#defines定義的與辦理器有關(guān)的常量,宏和種類定義。OS_CPU.H的大概構(gòu)造如程序清單L8.1所示。程序清單L8.1OS_CP
10、U.H.文案大全適用標準文檔#ifdefOS_CPU_GLOBALS#defineOS_CPU_EXT#else#defineOS_CPU_EXTextern#endif/*數(shù)據(jù)種類*(與編譯器有關(guān))*/typedefunsignedcharBOOLEAN;typedefunsignedcharINT8U;/*無符號8位整數(shù)*/(1)typedefsignedcharINT8S;/*有符號8位整數(shù)*/typedefunsignedintINT16U;/*無符號16位整數(shù)*/typedefsignedintINT16S;/*有符號16位整數(shù)*/typedefunsignedlongINT32U;
11、/*無符號32位整數(shù)*/typedefsignedlongINT32S;/*有符號32位整數(shù)*/文案大全適用標準文檔typedeffloatFP32;/*單精度浮點數(shù)*/(2)typedefdoubleFP64;/*雙精度浮點數(shù)*/typedefunsignedintOS_STK;/*貨倉進口寬度為16位*/*與辦理器有關(guān)的代碼*/#defineOS_ENTER_CRITICAL()?/*嚴禁中止*/(3)#defineOS_EXIT_CRITICAL()?/*贊成中止*/#defineOS_STK_GROWTH1/*定義貨倉的增添方向:1=向下,0=向上*/(4)#defineOS_TASK
12、_SW()?(5)文案大全適用標準文檔與編譯器有關(guān)的數(shù)據(jù)種類因為不一樣樣的微辦理器有不一樣樣的字長,因此C/OS-的移植包含了一系列的種類定義以保證其可移植性。特別是,OS-代碼C/從不使用C的short,int和long等數(shù)據(jù)種類,因為它們是與編譯器有關(guān)的,不能夠移植。相反的,我定義的整型數(shù)據(jù)構(gòu)造既是可移植的又是直觀的L8.1(2)。為了方便,固然-C/OS不使用浮點數(shù)據(jù),但我還是定義了浮點數(shù)據(jù)種類L8.1(2)。比方,INT16U數(shù)據(jù)種類老是代表16位的無符號整數(shù)。此刻,-C/OS和用戶的應(yīng)用程序就能夠預計出申明為該數(shù)據(jù)種類的變量的數(shù)值范圍是065535。將C/OS-移植到32位的辦理器上
13、也就意味著INT16U實質(zhì)被申明為無符號短整型數(shù)據(jù)構(gòu)造而不是無符號整型數(shù)據(jù)構(gòu)造。但是,-所辦理的C/OS仍舊是INT16U。用戶必然將任務(wù)貨倉的數(shù)據(jù)種類告訴給-。這C/OS個過程是經(jīng)過為OS_STK申明正確的C數(shù)據(jù)種類來完成的。假如用戶的辦理器上的貨倉成員是32位的,而且用戶的編譯文件指定整型為32位數(shù),那么就應(yīng)當將OS_STK申明位無符號整型數(shù)據(jù)種類。全部的任務(wù)貨倉都必然用OS_STK來申明數(shù)據(jù)種類。用戶所必然要做的就是查察編譯器手冊,并找到對應(yīng)于C/OS-的標準C數(shù)據(jù)種類。OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()與全部的及時內(nèi)核相同,-C/OS需要先嚴禁
14、中止再接見代碼的臨界段,而且在接見完成后從頭贊成中止。這就使得-能夠保C/OS護臨界段代碼免受多任務(wù)或中止服務(wù)例程(ISRs)的損壞。中止嚴禁時間是商業(yè)及時內(nèi)核企業(yè)提供的重要指標之一,因為它將影響到用戶的系統(tǒng)對及時勢件的響應(yīng)能力。固然文案大全適用標準文檔C/OS-盡量使中止嚴禁時間達到最短,但是C/OS-的中止嚴禁時間還主要依靠于辦理器構(gòu)造和編譯器產(chǎn)生的代碼的質(zhì)量。平常每個辦理器都會供給必然的指令來嚴禁/贊成中止,因此用戶的C編譯器必然要有必然的系統(tǒng)來直接從C中履行這些操作。有些編譯器能夠贊成用戶在C源代碼中插入?yún)R編語言申明。這樣就使得插入辦理器指令來贊成和嚴禁中止變得很簡單了。其余一些編譯器
15、實質(zhì)上包含了語言擴展功能,能夠直接從C中贊成和嚴禁中止。為了隱蔽編譯器廠商供給的詳細實現(xiàn)方法,C/OS-定義了兩個宏來嚴禁和同意中止:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()L8.1(3)。OS_ENTER_CRITICAL();/*?C/OS-II臨界代碼段*/OS_EXIT_CRITICAL();方法1履行這兩個宏的第一個也是最簡單的方法是在OS_ENTER_CRITICAL()中調(diào)用辦理器指令來嚴禁中止,以及在OS_EXIT_CRITICAL()中調(diào)用贊成中止指令。但是,在這個過程中還存在著小小的問題。假如用戶在嚴禁中止的狀況下調(diào)用C/OS-函數(shù),在從
16、C/OS-返回的時候,中止可能會變?yōu)槭琴澇傻牧耍∪绻脩魢澜兄咕捅硎居脩粝朐趶?函C/OS數(shù)返回的時候中止還是嚴禁的。在這類狀況下,光靠這類履行方法可能是不夠的。文案大全適用標準文檔方法2履行OS_ENTER_CRITICAL()的第二個方法是先將中止嚴禁狀態(tài)保留到貨倉中,此后嚴禁中止。而履行OS_EXIT_CRITICAL()的時候但是從貨倉中恢復中止狀態(tài)。假如用這個方法的話,不論用戶是在中止嚴禁還是贊成的狀況下調(diào)用C/OS-服務(wù),在整個調(diào)用過程中都不會改變中止狀態(tài)。假如用戶在中止嚴禁的時候調(diào)用C/OS-服務(wù),其適用戶是在延伸應(yīng)用程序的中止響應(yīng)時間。用戶的應(yīng)用程序還能夠用OS_ENTER_
17、CRITICAL()和OS_EXIT_CRITICAL()來保護代碼的臨界段。但是,用戶在使用這類方法的時候還得十分當心,因為假如用戶在調(diào)用象OSTimeDly()之類的服務(wù)以前就嚴禁中止,很有可能用戶的應(yīng)用程序會崩潰。發(fā)生這類狀況的原由是任務(wù)被掛起直到時間期滿,而中止是嚴禁的,因此用戶不能夠能獲取節(jié)拍中止!很顯然,全部的PEND調(diào)用都會波及到這個問題,用戶得十分當心。一個通用的方法是用戶應(yīng)當在中止贊成的狀況下調(diào)用-的C/OS系統(tǒng)服務(wù)!問題是:哪一種方法更好一點?這就得看用戶想犧牲些什么。假如用戶并不關(guān)懷在調(diào)用C/OS-服務(wù)后用戶的應(yīng)用程序中中止是不是贊成的,那么用戶應(yīng)當選擇第一種方法履行。假
18、如用戶想在調(diào)用OS-服務(wù)過C/程中保持中止禁止狀態(tài),那么很顯然用戶應(yīng)當選擇第二種方法。給用戶舉個例子吧,經(jīng)過履行STI命令在Intel80186上嚴禁中止,并用CLI命令來贊成中止。用戶能夠用下邊的方法來履行這兩個宏:#defineOS_ENTER_CRITICAL()asmCLI#defineOS_EXIT_CRITICAL()asmSTI文案大全適用標準文檔CLI和SCI指令都會在兩個時鐘周期內(nèi)被立刻履行(總合為四個周期)。為了保持中止狀態(tài),用戶需要用下邊的方法來履行宏:#defineOS_ENTER_CRITICAL()asmPUSHF;CLI#defineOS_EXIT_CRITICA
19、L()asmPOPF在這類狀況下,OS_ENTER_CRITICAL()需要12個時鐘周期,而OS_EXIT_CRITICAL()需要其余的8個時鐘周期(總合有20個周期)。這樣,保持中斷嚴禁狀態(tài)要比簡單的嚴禁/贊成中止多花16個時鐘周期的時間(最少在80186上是這樣的)。自然,假如用戶有一個速度比較快的辦理器(如IntelPentium),那么這兩種方法的時間差異會很小。OS_STK_GROWTH絕大部分的微辦理器和微控制器的貨倉是從上往下長的。但是某些辦理器是用其余一種方式工作的。-被C/OS設(shè)計成兩種狀況都能夠辦理,只需在構(gòu)造常量OS_STK_GROWTHL8.1(4)中指定貨倉的生長
20、方式(以下所示)就能夠了。置OS_STK_GROWTH為0表示貨倉從下往上長。置OS_STK_GROWTH為1表示貨倉從上往下長。OS_TASK_SW()OS_TASK_SW()L8.1(5)是一個宏,它是在C/OS-從低優(yōu)先級任務(wù)切換到最高優(yōu)先級任務(wù)時被調(diào)用的。OS_TASK_SW()老是在任務(wù)級代碼中被調(diào)用文案大全適用標準文檔的。另一個函數(shù)OSIntExit()被用來在ISR使得更高優(yōu)先級任務(wù)處于就緒狀態(tài)時,履行任務(wù)切換功能。任務(wù)切換但是簡單的將辦理器存放器保留到將被掛起的任務(wù)的貨倉中,而且將更高優(yōu)先級的任務(wù)從貨倉中恢復出來。在C/OS-中,處于就緒狀態(tài)的任務(wù)的貨倉構(gòu)造看起來就像剛發(fā)生過中
21、斷并將全部的存放器保留到貨倉中的狀況相同。換句話說,-要運轉(zhuǎn)處C/OS于就緒狀態(tài)的任務(wù)必然要做的事就是將全部辦理器存放器從任務(wù)貨倉中恢復出來,而且履行中止的返回。為了切換任務(wù)能夠經(jīng)過履行OS_TASK_SW()來產(chǎn)生中斷。大部分的辦理器會供給軟中止或是騙局(TRAP)指令來完成這個功能。ISR或是騙局辦理函數(shù)(也叫做異樣辦理函數(shù))的向量地點必然指向匯編語言函數(shù)OSCtxSw()(參看8.04.02)。比方,在Intel或許AMD80 x86辦理器上能夠使用INT指令。但是中止處理向量需要指向OSCtxSw()。Motorola68HC11辦理器使用的是SWI指令,同樣,SWI的向量地點還是OS
22、CtxSw()。還有,Motorola680 x0/CPU32可能會使用16個騙局指令中的一個。自然,選中的騙局向量地點還是OSCtxSw()。一些辦理器如ZilogZ80其實不供給軟中止系統(tǒng)。在這類狀況下,用戶需要盡自己的所能將貨倉構(gòu)造設(shè)置成與中止貨倉構(gòu)造相同。OS_TASK_SW()只會簡單的調(diào)用OSCtxSw()而不是將某個向量指向OSCtxSw()。C/OS已經(jīng)被移植到了Z80辦理器上,C/OS-也相同能夠。OS_CPU_A.ASMC/OS-的移植實例要求用戶編寫四個簡單的匯編語言函數(shù):OSStartHighRdy()OSCtxSw()文案大全適用標準文檔OSIntCtxSw()OST
23、ickISR()假如用戶的編譯器支持插入?yún)R編語言代碼的話,用戶就能夠?qū)⑷颗c處理器有關(guān)的代碼放到OS_CPU_C.C文件中,而不用再擁有一些分其余匯編語言文件。四實驗步驟1.安裝實驗環(huán)境keiluV4安裝KeilC51V9.00版本,即uV4翻開uVision4,點擊FileLicenseManagement.,翻開LicenseManagement窗口,復制右上角的CID翻開注冊機,在CID窗口里填上剛剛復制的CID,其余設(shè)置不變點擊Generate生成贊成號,復制贊成號將贊成號復制到LicenseManagement窗口下部的NewLicenseIDCode,點擊右邊的AddLIC若上方的
24、Product顯示的是PK51Prof.DevelopersKit即注冊成功,SupportPeriod為有效期,一般能夠到30年左右,如有效期較短,可多次生成贊成號從頭注冊。翻開實驗例程1)翻開51ucosii軟件包,查察所含文件信息,在keiluV4下新建工程并將51ucosii下所包含的文件都增添到工程里,選擇好有關(guān)工程配置項,編譯生成調(diào)試文件及hex文件,利用keiluV4仿真器察看運轉(zhuǎn)結(jié)果(使用串口1);文案大全適用標準文檔2)分析整個實驗文件目錄構(gòu)造及實驗參照程序。3)依據(jù)實驗內(nèi)容要求編寫程序并編譯運轉(zhuǎn)3.利用proteus進行仿真五實驗現(xiàn)象與結(jié)果分析1.建立并熟習編譯及仿真調(diào)試環(huán)
25、境(keil+proteus)下載已移植好的軟件包,在開發(fā)環(huán)境下建立工程編譯并運轉(zhuǎn)察看運轉(zhuǎn)結(jié)果,使用Keil自帶的仿真調(diào)試工具察看程序運轉(zhuǎn)狀況(內(nèi)存的分派、變量及CPU存放器的動向變化、任務(wù)的切換運轉(zhuǎn)狀態(tài)等);比較移植前和移植后的有關(guān)文件,文案大全適用標準文檔析移植過程中做了哪些變動工作。3.聯(lián)合前兩次實驗內(nèi)容,在移植軟件包的基礎(chǔ)上試一試增添用戶任務(wù),并利用信號量、信息郵箱等建立任務(wù)之間的通訊聯(lián)系;同時試一試采納動向內(nèi)存分派的方法為任務(wù)分派內(nèi)存,使用Keil仿真工具察看程序運轉(zhuǎn)狀況并記錄運轉(zhuǎn)結(jié)果。將以上浮試好的軟件移植到proteus開發(fā)環(huán)境中去,利用proteus的硬件仿真環(huán)境創(chuàng)立幾個實質(zhì)任
26、務(wù)(如鍵盤、顯示器、LED點陣、數(shù)碼管、時鐘或溫度傳感器等)給每個賦以適合的優(yōu)先級,配置適合的貨倉容量,編譯運轉(zhuǎn)并察看運轉(zhuǎn)情文案大全適用標準文檔況,顯示信息能夠用液晶顯示器或虛假終端來顯示。1).Keil調(diào)試窗口和結(jié)果:2).移植到proteus開發(fā)環(huán)境中,利用proteus的硬件仿真。文案大全適用標準文檔參照源代碼:#includesbitled=P17;unsignedcharcodetable=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;unsignedinti=0;voidTaskStar
溫馨提示
- 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年全球及中國飼料中間體化學品行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球高速標簽打印機行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國汽車座椅加熱通風線束行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球條形碼庫存管理系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球生物基電池行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國農(nóng)場畜牧管理軟件行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球印刷級熱敏紙行業(yè)調(diào)研及趨勢分析報告
- 擔保函保證合同
- 2025監(jiān)控售后維修合同
- 房屋買賣合同范文
- 勞務(wù)經(jīng)紀人培訓
- 如何提高售后服務(wù)的快速響應(yīng)能力
- 危化品運輸安全緊急救援與處理
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊
- 高數(shù)(大一上)期末試題及答案
- 北方春節(jié)的十大風俗
- 婚介公司紅娘管理制度
- 煤礦電氣試驗規(guī)程
- JCT796-2013 回彈儀評定燒結(jié)普通磚強度等級的方法
- 物業(yè)客服培訓課件PPT模板
- 火力發(fā)電廠節(jié)能管理制度實施細則
評論
0/150
提交評論