![《DSP控制器原理及應(yīng)用技術(shù)》第3章 軟件開發(fā)基礎(chǔ)_第1頁](http://file4.renrendoc.com/view4/M02/2A/34/wKhkGGaZu4qAKygwAALNDyKNiCg489.jpg)
![《DSP控制器原理及應(yīng)用技術(shù)》第3章 軟件開發(fā)基礎(chǔ)_第2頁](http://file4.renrendoc.com/view4/M02/2A/34/wKhkGGaZu4qAKygwAALNDyKNiCg4892.jpg)
![《DSP控制器原理及應(yīng)用技術(shù)》第3章 軟件開發(fā)基礎(chǔ)_第3頁](http://file4.renrendoc.com/view4/M02/2A/34/wKhkGGaZu4qAKygwAALNDyKNiCg4893.jpg)
![《DSP控制器原理及應(yīng)用技術(shù)》第3章 軟件開發(fā)基礎(chǔ)_第4頁](http://file4.renrendoc.com/view4/M02/2A/34/wKhkGGaZu4qAKygwAALNDyKNiCg4894.jpg)
![《DSP控制器原理及應(yīng)用技術(shù)》第3章 軟件開發(fā)基礎(chǔ)_第5頁](http://file4.renrendoc.com/view4/M02/2A/34/wKhkGGaZu4qAKygwAALNDyKNiCg4895.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章軟件開發(fā)基礎(chǔ)工信部十二五規(guī)劃教材《DSP控制器原理與應(yīng)用技術(shù)》編寫組第3章軟件開發(fā)基礎(chǔ)3.1軟件開發(fā)流程3.2匯編程序開發(fā)基礎(chǔ)3.3C/C++程序開發(fā)基礎(chǔ)3.4C/C++和匯編混合編程3.5集成開發(fā)環(huán)境及其應(yīng)用3.6基于示例模版的驅(qū)動程序開發(fā)
一、軟件開發(fā)流程圖3.1軟件開發(fā)流程二、軟件開發(fā)步驟3.1軟件開發(fā)流程1.編制源程序
(1)匯編語言:速度快,效率高,直接控制硬件底層資源。
(2)C語言:通用性、可移植性好
(3)混合編程2.產(chǎn)生可執(zhí)行代碼
C工具:C編譯器(C→
匯編)
匯編工具:
匯編器(Assembler):匯編文件→COFF目標文件
連接器(Linker):COFF文件→可執(zhí)行模塊;3.調(diào)試代碼
4.固化代碼3.2.1尋址方式與指令系統(tǒng)一、尋址方式(1)直接尋址——訪問數(shù)據(jù)空間的低4M字C28x模式:16位DP+6位偏移量=22位有效物理地址C2xLP模式:9位DP+7位偏移量=16位有效物理地址。(a)AMODE=0(C28x尋址模式)MOVWDP,#VarA ;VarA所在頁面裝載DPADDAL,@VarA ;將VarA的值加至AL3.2匯編程序開發(fā)基礎(chǔ)(2)堆棧尋址——可訪問數(shù)據(jù)空間的低64K
低64K字作為軟件堆棧,由堆棧指針SP給出。三種方式:*-SP[6bit]、*SP++和*SP--ADDAL,*-SP[5] ;將(SP-5)堆棧單元的16位內(nèi)容加到AL中MOV*SP++,AL ;將16位AL的內(nèi)容壓入堆棧,且SP=SP+1ADDAL,*SP-- ;將16位內(nèi)容彈出并加至AL中,且SP=SP-1一、尋址方式(3)間接尋址——可訪問4G字的數(shù)據(jù)空間操作數(shù)地址指定:
32位輔助寄存器XAR0~XAR7工作寄存器指定:
C28x:直接在指令中給出;
C2xLP:由輔助寄存器指針ARP指定。五種方式:*XARn++、*--XARn、*+XARn[AR0]、*+XARn[AR1]和*+XARn[3bit]。一、尋址方式(3)間接尋址——可以訪問整個4G字的數(shù)據(jù)空間MOVLACC,*XAR2++ ;將XAR2所指向存儲單元的內(nèi)容裝入ACC,之后XAR2+2MOVLACC,*--XAR2 ;將XAR2-2,然后將XAR2所指向存儲單元的內(nèi)容裝入ACCMOVLACC,*+XAR2[AR0] ;將(XAR2+AR0)所指向存儲單元的內(nèi)容裝入ACCMOVLACC,*+XAR2[AR1] ;將(XAR2+AR1)所指向存儲單元的內(nèi)容裝入ACCMOVLACC,*+XAR2[5] ;將(XAR2+5)所指向存儲單元的內(nèi)容裝入ACC一、尋址方式(4)寄存器尋址:直接訪問寄存器的內(nèi)容32位尋址:ACC、P、XT、XARn等16位尋址:AL、AH、PL、PH、TH、T和ARn等
MOVL@ACC,XT ;32位寄存器尋址,將XT寄存器的內(nèi)容裝入ACCADD@AH,AL ;16位寄存器尋址,AH=AH+AL(5)數(shù)據(jù)/地址/IO空間立即尋址方式(6)程序空間間接尋址方式。一、尋址方式3.2.1尋址方式與指令系統(tǒng)語法:操作碼目的操作數(shù),源操作數(shù)操作碼:指示處理器所要執(zhí)行的操作;操作數(shù):指示指令執(zhí)行過程中所需數(shù)據(jù)(或其地址)。例如:ADDACC,#16位常數(shù){<<0-16} ;將16位常數(shù)移位后加至ACCADDBACC,#8位常數(shù);將8位常數(shù)加至ACCADDLACC,loc32;將“l(fā)oc32”指定單元的32位數(shù)加至ACC二、指令系統(tǒng)三、混合編程時常用匯編指令總結(jié)一、段(Section)
三個默認段:.text,.data,.bss
段分為兩大類:初始化段,未初始化段。1.初始化段(包含程序代碼和數(shù)據(jù))
.text段:包含可執(zhí)行代碼
.data段 :包含已初始化的數(shù)據(jù)
.sect段:.sect偽指令創(chuàng)建的自定義段2.未初始化段
.bss段:為未初始化的變量保留空間
.usect段:.usect偽指令創(chuàng)建的自定義段3.2.2公共目標文件格式CommonObjectFileFormat簡稱COFF3.2.2公共目標文件格式二、匯編器對段的處理匯編器根據(jù)偽指令識別程序各部分。將匯編程序內(nèi)容分門別類歸入各個段。三、連接器對段的處理
(1)建立可執(zhí)行的COFF輸出模塊
(2)為輸出模塊選擇存儲器地址(定位)。MEMORY偽指令:定義目標存儲器映像(分塊,塊起始地址及長度);SECTIONS偽指令:組合輸入段以及定位輸出段。1.MEMORY偽指令語法MEMORY{PAGEn:name[attr]:origin=const,length=const}
PAGE——存儲空間。0:程序存儲器,1:數(shù)據(jù)存儲器。
name——存儲區(qū)名稱。origin——起始地址。
length——長度,。2.SECTIONS偽指令語法SECTIONS{name:[property,property,…]}運行的位置。語法:run=allocation或run>allocation加載的位置。語法:
load=allocation或load>allocation或
allocation3.連接器命令文件
連接時可編寫一個通用的連接器命令文件模板:
MEMORY:定義存儲器及其地址;SECTIONS:將各輸出段定位到相應(yīng)存儲區(qū)。
MEMEORY{PAGE0:/*程序空間*/ZONE0:origin=0x004000,length=0x001000/*XINTFzone0*/RAML0:origin=0x008000,length=0x001000/*on-chipRAMblockL0*/……}SECTIONS{/*分配程序區(qū)域:*/.cinit:>FLASHAPAGE=0.pinit:>FLASHA,PAGE=0.text:>FLASHAPAGE=0……}3.2.4匯編程序設(shè)計一、匯編偽指令
1.定義段的偽指令偽指令語法功能描述.text.text將其后的源語句匯編至.text(代碼)段.data.data將其后的源語句匯編至.data(數(shù)據(jù))段.sect.sect“段名”將其后源語句匯編至“段名”規(guī)定的段內(nèi).bss.bss符號,字長在.bss段內(nèi)保留字長(字數(shù)).usect符號.usect“段名”,字長在未初始化自定義段“段名”中保留字長2.初始化常數(shù)的偽指令.space位長(在當前段內(nèi)保留位長,并填0)
.word 數(shù)值列表(將一個或者多個16位初始化數(shù)值存放在當前段內(nèi)連續(xù)個存儲單元中。)(1)語法:.include “文件名”功能:通知匯編器從指定文件讀取源語句。(2)語法:.def/.ref/.global符號名列表.def(定義):在當前模塊定義而在其它模塊中引用.ref(引用):在當前模塊引用而在其它模塊中定義.global(全局):可以是以上2種情況3.引用其它文件的偽指令
二、示例文件例3.2(10+2)的匯編語言程序代碼*.global_main.text_main:MOVACC,#10MOVT,#2ADDACC,T3.3.1TMS320x28xxC/C++優(yōu)化編譯器1、C/C++編譯器支持ANSIC和ISO/IET14882-1998C++:能將標準ANSIC/C++程序轉(zhuǎn)換成相應(yīng)的匯編程序。3.3C/C++程序開發(fā)基礎(chǔ)C編譯器中包含了運行支持庫(.lib)。
2、代碼的優(yōu)化優(yōu)化目的:提高程序執(zhí)行速度,縮減程序代碼。優(yōu)化操作:簡化循環(huán)、軟件流水線操作、重組語句或簡化表達式,變量重定位等優(yōu)化等級:0、1、2、3、4
數(shù)字越大,優(yōu)化等級越高。一、C語言數(shù)據(jù)類型1.變量和標識符:3.3.2C/C++編程基礎(chǔ)2.數(shù)據(jù)類型二、C語言關(guān)鍵詞1.interrupt關(guān)鍵字作用:定義中斷服務(wù)程序(中斷函數(shù))。voidinterrupt函數(shù)名(){}2.ioport關(guān)鍵字作用:定義C中訪問IO端口空間的端口變量。ioport類型標示符端口編號端口編號為16進制表示的I/O端口的絕對地址。C28xI/O空間與存儲空間統(tǒng)一,故不使用該關(guān)鍵字。3.volatile關(guān)鍵字作用:避免變量被優(yōu)化。通知編譯器每次訪問被聲明變量時均需從其地址讀取。4.register關(guān)鍵字作用:定義寄存器變量,以加快訪問速度。二、C語言關(guān)鍵詞5.cregister關(guān)鍵字作用:在C中直接訪問IER和IFR。例如:externcregistervolatileunsignedintIER;IER|=0x0100;volume=4.0/3.0*PI*radius*radius*radius6.inline關(guān)鍵字作用:定義可直接插入被調(diào)用處的短小函數(shù)。inlineintvolume_sphere(floatr){retrurn4.0/3.0*PI*r*r*r;}volume=volume_sphere(radius);7.const關(guān)鍵字作用:保護變量或數(shù)組的值不被改變。8.far關(guān)鍵字作用:指定22位長度的指針。intfarsym;/*聲明sym位于遠內(nèi)存,為far類型的變量*/#pragma告訴預(yù)處理器怎樣對待函數(shù)三、#pragma預(yù)編譯器指令1.
CODE_ALIGN作用:為某一段程序指定特定的代碼存儲邊界,以保證某函數(shù)代碼存于特定位置。#pragmaCODE_ALIGN(func,constant)#pragmaCODE_ALIGN(constant)constant必須是2的冪次,以保證內(nèi)存邊界2.CODE_SECTION:作用:為某一段程序指定特定的代碼存儲段,以便單獨分配存儲空間作用:為某一段數(shù)據(jù)指定特定的數(shù)據(jù)存儲段,以便單獨分配存儲空間。#pragmaDATA_SECTION(symbol,“section_name”)
為變量symbol在“section_name”段內(nèi)分配空間,可將其定位至.bss以外的空間例:#pragmaDATA_SECTION(bufferB,“BufferB_sect”) charbufferB[512];3.DATA_SECTIONSECTIONS{BufferB_sect:{}>RAML4PAGE1}4.INTERRUPT作用:指明函數(shù)為中斷處理函數(shù)5.FAST_FUNC_CALL作用:允許在C/C++中直接調(diào)用匯編編寫的函數(shù)。調(diào)用時采用快速函數(shù)調(diào)用(FFC)機制。調(diào)用更快速。
函數(shù)返回時的asm代碼是: LB*XAR76.FUNC_EXT_CALLED作用:保證程序執(zhí)行期間未調(diào)用的函數(shù)不被優(yōu)化掉?;旌暇幊讨?,可用于防止匯編調(diào)用的函數(shù)被優(yōu)化掉。7.MUST_ITERATE作用:指明循環(huán)必須執(zhí)行的次數(shù),以防止循環(huán)被優(yōu)化掉。語法:四、中斷處理方法
中斷處理方法:使用中斷服務(wù)函數(shù)。
中斷函數(shù)定義方法:以c_intd(d為數(shù)字)為名稱定義(c_int00保留)利用關(guān)鍵字interrupt定義利用#pragma指令I(lǐng)NTERRUPT定義中斷服務(wù)程序使用規(guī)則:①中斷服務(wù)程序無參數(shù)。②調(diào)用效率極低。③某中斷提供中斷服務(wù)程序時,必須將其地址賦給相應(yīng)中斷向量。3.4.1C/C++編譯器運行環(huán)境一、C系統(tǒng)堆棧
作用:存放局部變量,傳遞函數(shù)參數(shù),保存處理器狀態(tài)、函數(shù)返回地址、中間結(jié)果和寄存器值。管理:硬件堆棧指針SP、輔助寄存器XAR2。
SP:堆棧指針,指向當前棧頂XAR2:幀指針,指向當前幀的起始地址。局部幀:每調(diào)用一次函數(shù),在當前棧頂產(chǎn)生一個新的幀,用來存放局部變量和中間值。二、
寄存器使用規(guī)則兩種寄存器變量:保護調(diào)用環(huán)境,保護入口環(huán)境。
3.4C/C++和匯編混合編程
三、
函數(shù)調(diào)用規(guī)則(1)傳遞參數(shù);①優(yōu)先通過寄存器傳遞;②剩余參數(shù)進棧(2)返回地址(原RPC)進棧(3)分配局部幀:為被調(diào)用函數(shù)分配存儲空間1.父函數(shù)執(zhí)行操作①通過寄存器傳遞參數(shù)規(guī)則。(a)頭4個浮點參數(shù)存放于寄存器R0H~R3H;(b)64位參數(shù)第一個放ACC和P;(c)32位參數(shù)第一個放ACC;(d)指針型參數(shù)存放于XAR4和XAR5;(e)16位參數(shù)的存放順序為:AL、AH、XAR4、XAR5。②其它參數(shù)以逆序壓入堆棧。32位參數(shù)在堆棧中從偶地址開始存放。結(jié)構(gòu)體變量僅傳遞地址。③父函數(shù)使用LCR指令調(diào)用子函數(shù)。2.子函數(shù)的響應(yīng)①返回值的處理:16位整型數(shù)存放于AL,32位整型數(shù)存放于ACC,②子函數(shù)使用LRETR指令返回。3.訪問參數(shù)和局部變量
局部幀空間小于63個字時,采用SP訪問
“*-SP[6位偏移量]”最大偏移量為63,
局部幀空間大于63個,使用FP(XAR2)訪問。
“*+FP[偏移量]”
“*+FP[AR0/AR1]”3.4.2C和匯編接口特別注意:(1)匯編模塊中被C訪問的標識符前要加下劃線。如,若變量x要被C程序訪問,必須用_x表示。(2)匯編模塊中需要被C模塊引用的變量或者函數(shù)要用偽指令.def或.global聲明;C模塊中需要被匯編模塊引用的變量或者函數(shù)在匯編模塊中也必須用偽指令.global聲明。例:匯編接收C傳遞的參數(shù)并加至C全局變量gvar返回。C主程序externintasmfunc();/*聲明全局匯編函數(shù)*/intgvar; /*定義全局變量gvar*/voidmain(){inti=5;i=asmfunc(i);/*正常調(diào)用匯編函數(shù)*/}南航自動化學(xué)院DSP技術(shù)應(yīng)用實驗室一、
獨立編寫C和匯編模塊匯編子程序
.global_gvar
.global_asmfunc_asmfunc:MOVWDP,#_gvarADDAL,@_gvarMOV@_gvar,ALLRETR3.4.3混合編程方法二、使用FAST_FUNC_CALL預(yù)編譯器指令示例:實現(xiàn)兩個32位數(shù)的加法運算(a)匯編程序_add_long:addlacc,*-SP[2]LB*XAR7(b)C程序#pragmaFAST_FUNC_CALL(add_long);longadd_long(long,long);voidf(){longx=0,y=0;x=67000;y=76000;y=add_long(x,y);while(1)k=0;}
asm(“匯編語句”)
三、直接在C程序中嵌入?yún)R編語句優(yōu)點:(1).程序編寫方便。(2).程序保留C結(jié)構(gòu),結(jié)構(gòu)清晰,可讀性好。(3).程序調(diào)試方便。南航自動化學(xué)院DSP技術(shù)應(yīng)用實驗室注意:(1)小括號中雙引號后第一列是標號位置,用空格代替。(2).編譯器在編譯過程中只是把內(nèi)嵌指令照搬到編譯生成的匯編代碼的相應(yīng)位置。(3).不要把跳轉(zhuǎn)指令或者帶標號的匯編語句嵌入C程序。a).C程序
externintvar;/*聲明var為全局變量*/var=1;/*引用var*/b).匯編程序
.bss_var,1 ;定義變量_var.global_var ;聲明_var為全局變量
1.訪問.bss段中變量
四、在C中訪問匯編變量
(a)C程序
externfloatsine[];/*說明sine為外部變量*/f=sine[2];/*把sine看作正常數(shù)組使用*/(b)匯編程序
.global_sine;說明sine為外部變量
.sect”sine_tab”;定義一個獨立的段
_sine:;查找表的初始地址
.float0.0.float0.015987.float0.022145
2.訪問不在.bss段中的變量五、使用內(nèi)部算子訪問匯編作用:內(nèi)部算子(intrinsics)可將C/C++中無法描述或描述比較復(fù)雜的任務(wù)用特定匯編語句描述。使用方法:以函數(shù)形式調(diào)用,名稱前加下劃線。南航自動化學(xué)院DSP技術(shù)應(yīng)用實驗室
(1)新建一個C源文件,為匯編函數(shù)聲明一個函數(shù)原型、創(chuàng)建C函數(shù)實體;并在main()函數(shù)中調(diào)用。(2)編譯C文件。使用編譯器選項“-k(保留匯編)-ss(交叉列表)-al(創(chuàng)建匯編列表)”。(3)觀察編譯之后生成的同名匯編文件。(4)利用生成的匯編函數(shù)代碼創(chuàng)建匯編文件。(5)在C中將匯編函數(shù)原型聲明為外部的,并刪除為匯編函數(shù)原型創(chuàng)建的函數(shù)。
六、快速產(chǎn)生被C調(diào)用的匯編函數(shù)3.5.1集成開發(fā)環(huán)境簡介一、CCS簡介目前使用最廣泛的DSP集成開發(fā)環(huán)境??梢暬拇a編輯界面強大的程序調(diào)試、跟蹤與分析工具完成代碼編輯、編譯、連接、調(diào)試和數(shù)據(jù)分析。兩種工作模式:
軟件仿真(Simulator):無需DSP硬件,可直接在計算機上對DSP的指令集和CPU進行模擬;硬件仿真(Emulator):支持在DSP芯片上在線實時運行和調(diào)試程序。3.5CCS集成開發(fā)環(huán)境3.5.1集成開發(fā)環(huán)境簡介CCS的安裝安裝完畢,在桌面創(chuàng)建快捷圖標2.Simulator模式配置單擊“SetupCCStudioV3.3”
的圖標,進入系統(tǒng)的配置環(huán)境二、CCS的安裝與配置3.CCS的Emulator模式配置3.5.2DSP應(yīng)用程序開發(fā)調(diào)試示例1目標代碼的生成(1)新建工程1目標代碼的生成(2)添加文件1目標代碼的生成(3)生成可執(zhí)行代碼2目標代碼的調(diào)試(1)裝載文件2目標代碼的調(diào)試(2)調(diào)試文件——①運行菜單2目標代碼的調(diào)試(2)調(diào)試文件——③觀察菜單2目標代碼的調(diào)試(2)調(diào)試文件——④寄存器、存儲器和觀察窗口2目標代碼的調(diào)試(2)調(diào)試文件——⑤設(shè)置斷點⑥動畫運行2目標代碼的調(diào)試(2)調(diào)試文件——⑦設(shè)置探測點2目標代碼的調(diào)試(2)調(diào)試文件——⑧關(guān)聯(lián)文件2目標代碼的調(diào)試(2)調(diào)試文件——⑧打開圖形觀察窗口
程序調(diào)試無誤后,即可燒寫到DSP的FLASH中,使DSP可以脫離仿真器獨立運行
3.5.3程序燒寫3.5.4通用擴展語言(GEL)簡介GEL:通用擴展語言,高級腳本語言。.gel文件可擴展CCS的功能或者自動運行CCS中一系列常用命令。3.5.5DSP/BIOS工具簡介BIOS:Built-InOperationSystem,嵌入式操作系統(tǒng)。DSP/BIOS是TI公司為其TMS320C6000、C5000TM和C28x系列DSP平臺設(shè)計開發(fā)的一個尺寸可裁剪的實時多任務(wù)操作系統(tǒng)內(nèi)核。3.6.1驅(qū)動程序開發(fā)包簡介
為使DSP的CPU控制片內(nèi)各功能模塊正常工作,必須對其進行編程驅(qū)動,使系統(tǒng)時鐘、片內(nèi)外設(shè)等硬件資源按照各自功能和系統(tǒng)需求運行——應(yīng)用(驅(qū)動)程序開發(fā)。3.6基于示例模版的驅(qū)動程序開發(fā)SPRC530:F2833x和F2823x頭文件及片內(nèi)外設(shè)應(yīng)用示例代碼質(zhì)量高、內(nèi)容全面;結(jié)構(gòu)規(guī)范;開發(fā)周期短基本思路:(1)采用寄存器結(jié)構(gòu)體和位定義形式定義各片內(nèi)外設(shè)的寄存器(2)在編譯時將其映射到DSP數(shù)據(jù)空間對應(yīng)地址。3.6.2外設(shè)寄存器訪問的硬件抽象層方法名稱地址描述PLLSTS0x7011PLL狀態(tài)寄存器Reserved0x7012~0x7019保留HISPCP0x701A高速外設(shè)時鐘定標器LOSPCP0x701B低速外設(shè)時鐘定標器PCLKCR00x701C外設(shè)時鐘控制器寄存器0PCLKCR10x701D外設(shè)時鐘控制器寄存器1LPMCR00x701E低功耗模式控制寄存器0Reserved0x701F保留PCLKCR30x7020外設(shè)時鐘控制器寄存器3PLLCR0x7021PLL控制寄存器SCSR0x7022系統(tǒng)控制和狀態(tài)寄存器WDCNTR0x7023看門狗計數(shù)器寄存器Reserved0x7024保留WDKEY0x7025看門狗復(fù)位密鑰寄存器Reserved0x7026~0x7028保留WDCR0x0000-7029看門狗控制寄存器1寄存器結(jié)構(gòu)體及其位定義第一步,為各寄存器定義一個位定義結(jié)構(gòu)體變量structPLLCR_BITS{//位定義
Uint16DIV:4;//3:0為PLL模塊設(shè)置時鐘速率
Uint16rsvd1:12;//15:4保留};structPCLKCR0_BITS{//位描述
Uint16rsvd1:2;//1:0保留
Uint16TBCLKSYNC:1;//2EPWM模塊TBCLK同步允許……Uint16ECANBENCLK:1;//15允許到eCAN-B的系統(tǒng)時鐘}第二步,為每個寄存器定義一個共同體unionPLLCR_REG{Uint16all;structPLLCR_BITSbit;};unionPCLKCR0_REG{Uint16all;structPCLKCR0_BITSbit;};第三步,將某外設(shè)同類寄存器定義為一個結(jié)構(gòu)體變量structSYS_CTRL_REGS{Uint16rsvd1;//0為從偶地址開始,保留一個單元
unionPLLSTS_REGPLLSTS;//1Uint16rsvd2[8];//2-9保留
unionHISPCP_REGHISPCP;//10:高速外設(shè)時鐘定標器
union
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代產(chǎn)品設(shè)計中的民族圖案與色彩研究
- 現(xiàn)代紋樣設(shè)計在商業(yè)品牌推廣中的應(yīng)用實踐
- 現(xiàn)代辦公環(huán)境下的AI餐廳服務(wù)應(yīng)用研究
- 現(xiàn)代物流行業(yè)的服務(wù)創(chuàng)新與升級
- 現(xiàn)代辦公環(huán)境下的報告制作技巧
- 2024年五年級語文上冊 第六單元 口語交際:父母之愛說課稿 新人教版
- Module7 Unit2 This little girl can't walk(Period 1) (說課稿) -2024-2025學(xué)年外研版(三起)英語五年級上冊
- 7《什么比獵豹的速度更快》說課稿-2024-2025學(xué)年五年級上冊語文統(tǒng)編版001
- 13美麗的冬天 說課稿-2024-2025學(xué)年道德與法治一年級上冊統(tǒng)編版
- 2024-2025學(xué)年高中化學(xué) 第1章 第4節(jié) 第2課時 有機物分子式與分子結(jié)構(gòu)的確定說課稿 新人教版選修5
- 2025屆河北衡水數(shù)學(xué)高三第一學(xué)期期末統(tǒng)考試題含解析
- 2024年山東省青島市普通高中自主招生物理試卷(含解析)
- 2024信息技術(shù)數(shù)字孿生能力成熟度模型
- 交通銀行股份有限公司操作風(fēng)險管理政策
- 提高數(shù)學(xué)教師命題能力培訓(xùn)
- 數(shù)字證書使用承諾函
- 獵聘網(wǎng)在線人才測評題庫
- 《社區(qū)康復(fù)》課件-第八章 視力障礙患者的社區(qū)康復(fù)實踐
- 透析患者的血糖管理
- 瀝青拌合站講義課件
- 《逆向建模與產(chǎn)品創(chuàng)新設(shè)計》課程標準
評論
0/150
提交評論