版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、28335使用串口燒寫程序串口燒寫是一種相對較方便的燒寫方式,相對于仿真器或是CAN燒寫,相對于仿真器或是USB轉CAN的設備,串口是一種非常廉價的燒寫方式,而且也不需要安裝 專業(yè)的集成開發(fā)環(huán)境 CCS等,但是不能實現(xiàn)在線調試,因此也只適用于程序基本不用 再調整或大批量的場合。F28335的存儲器映射圖如下:二 OkIMScMM 構MM WMMQ 0D«OkM OEM gM MgScM副時< OxM MDOS時 70DCOkHCxM MOO。工期Mg2。BODO仁皿04M% M9 RJMQkD1 OOHM34 CM 40(啟3 FFF8CHMM施MM » »
2、 WM»k 34 G4MQti » WOO. EFaflg9*3FW»MJF MM< 加3F Bfl8QhJF 6te3F EOQax«>3F FFC0O- SpM«Pwq 3i|MCVOmiU flhpsuProa 9pK4MG VfrflcM R信3. If餐MI (33 n 32) ifMAP =打MO SARAN fIK .1.Ml SARAN «1K i 附Frririi ,PIE Victor - HW 住眸川胤 4En«&ifld rf VWXP» 1, EHPtE-11FIplx
3、ii Frwiw 0篁一嫌A:.f FdKiNTF Zn-ia 6x 中口已£4.|9PrMochkid. DMA to-cnuMi)INbrlptwral Frlftw 3PrEH忤曰 iWAAcc»Ri6l«)Fr«nw 1 g kMIKF*rlphar«l Frwrw 2(Pirgbetlrd)除己Rj«SE<Y-BdLA 8 ARAM (4K s 1&. Stciift Zma DunJ叫L1 SAflAJM |4Kx It Sacuhi Z>nv Duai> MLappadkl_2 S ARAJrf
4、 (4Kxlfi, Sacuro-Tcina, DuaJ htappndjUS ARAM (4Ka1fi. SftturtZm, Dual MAp*d>L* 馳禽岫i 網(wǎng)"1。MAAc«witiia|LS SAftAM (4MM1I. D«IAAwibl*JL百 SARAH («S16, D«flAA&C494.ibleL7 ,向*MH (4M4I1B. gMAAEmiblBIR-flwr wdXIWTF 層010 6 ” Ml 1 E. XZCSeHDNrA AceMBiM)XIWTFZOfle 7 - M - 1n. xzrs
5、?. PM1 J,兒科門先小幣351H q;2541M 工 16, S«uf Ze*Uft bll PmifwwAHOiTYSaRM-HFVBdADC Gabtwation DataR-r*dLf&ar OTP | IK si IE ekmit« ZarDiRes*fW*dL& QRAM (4K n 1«. SKur* Zon* Du«l M4ppvLU SARAM (4Kx 11. S«:ura Zotih Dual M9appad)L2 g圖RA4 H帳,15 Xue石的&0小HMppe由L3 8典RAH (
6、1;K 11. Skmfb Zon» 口nA £apg#BcM 丸白H WK 址 1®-RROM VHriw - ROM (3? 1 13) I Eiwiblit HVMAP * 1, EUPH: 0Onhlp 叫nayExi耐力制 Memory XIMTFtaO9 4KHU.gil!釉gMQiffiOCttDa 3D OKHQGhtk wi« of vtcHor 口 vtctor PIE vkIw. BROM vkIw- slwi*d X oftaMd bm*BOOTROM是一塊8K X 16的只讀存儲器,位于地址空間 0x3FE0000x3FFFFF
7、 , 片內BOOTROM在出廠時固化了引導加載程序以及定點和浮點數(shù)據(jù)表,片上 BOOTROM的存儲映射如下圖所示:figure 1-1. Memory Map of On-Chip ROM3FE0003FEBDC3FF27C3F F34c3FF9EE3F FFB93FFFC03F FFFFDataspace I Program spaceIQ math tablesFPU math tablasReservedBool loader functionsReservedROM versionROM checksumReset vectorCPU vector tAble1 .內BOOT ROM數(shù)
8、學表:在BOOT ROM中保留了 4K X 16位空間,用以存放浮點和IQ數(shù)據(jù)公式表,這些數(shù)據(jù)公式表有助于改善性能和節(jié)省 SARAM空間。2 .CPU向量表:CPU向量表位于ROM存儲器0X3FE0000X3FFFFF段內,如下圖所示。復位后,當VMAP=1ENPIE=0 (PIE向量表禁止)時,該向量表激活。Table 1*1. Vector LocationsVectorI ocatiori inBoot ROUContents(1曰1 points Io)VectorLocation inBoot ROMContents(i.E.a pcNints Io!RESET0x3F FFCOIF
9、BodIRTOSINT(h(3F FFEO燈溝口 0060INTI0X3FFFC2OmOO第總Rq 叼 2QdS3F FFE21M|Q 0062INT2OiiFFFd0x00 洶4NM由* FF日OxCO Q®INT3(h(3F FFC6(M30 OMGILLEGAL0s3F FFE6ITRAPIarIN14OxJFFFCB0x00 IXMH115t 樣 1的非FFEBUxW 0D6HNTS0*3F FFCA0x00 0MAUS£R2加3F FFEAQM 0MAINTfi0i3F FFCC0x00 004CUSER3FFEC0x00 0D6CINT70X3FFFCE000
10、0MEUSER4伽 3F FFFE000 0D8Eisia0x3F FFDO0x00 0050USER5Ox3F FFFOmq oo roINT9FFD20m00 0052use骸的 3P FFF2。幽口 mINT1D0X3FFFD4moo DO 54USER7FFF40x00 0074iiNTin0m3F FFOb0x00 0056USERSFFI 60»00 00767T120a3FFFDS0x00 00 5AU5ER&thSF FFF8OxCO 00TSIMT13ChWF ffdaChcOO 005ALJSFR1O(ln3F FFFAnriin qlaINT140x3F
11、 FFDC0*00' oosc>LJSfR11伽 3F FFFC-0m00 0D7CDLOGINTOiSFFFDE0x00 00 bEVS£R120x3F FFFEq 口 oore在內部BOOT ROM引導區(qū)中能夠調用的唯一向量就是位于0X3FFFC0的復位向量。復位向量在出廠時被燒錄為直接指向存儲在BOOT ROM空間中的InitBoot函數(shù),該函數(shù)用于開啟引導過程。然后通過通用I/O引腳上的檢驗判斷,決定具體引導模式。引導模式與控制引腳之間的關系如下圖所示:Table 3-6. Boat Mode SelectionMODEGPIOE7XA15GPIDSfi/XAM
12、GPIO85/XA13GPI084/XA12MODE,訃F1111Jump mE1110SCbA boolD11Q1寫典叫toolC11Q0IZCAtwl口1011cCAM A i3»lA1aV91oD1jLmp is XIN'F rib&1a00Jump to XINTF i327Qi11JimptaOTP60110PairaitelGPIO I/O teat501c1ParallelXIKTF Ind4Q1Q0Jbhlp 帕 SA RA IM30011Bancn to clwk boot medo2Qg10日厘必gFW&h即舊ADC十1七詞kn10001日
13、他向 k> SATIAM 皿 p AjDC 上幽hralm0QQQ0H 41 Ui lu 30. Mir ADC ulbivlAjii1 All tour GPfO pint Fiavt an lirtarrul pulltp.Bootloader 特性:Bootloader是位于片上引導 ROM中的在復位后執(zhí)行的程序,用于在上電復位 后,將程序代碼從外部源轉移到內部存儲器。這允許代碼暫時存儲在掉電不丟失數(shù)據(jù) 的外部存儲器內,然后被轉移到高速存儲器中執(zhí)行。引導ROM中的復位向量將程序執(zhí)行重定向至InitBoot函數(shù)。執(zhí)行器件初始化之后,bootloader將檢查GPIO引腳的狀態(tài)以確定您
14、需要執(zhí)行哪種引導模式。這些選項包括:跳轉至閃存、跳轉至 SARAM、跳轉至OTP或調用其中一個片上引導加載例程完成選擇進程后,如果已完成所需的引導加載,處理器將在所選引導模式確定 的應用起點繼續(xù)執(zhí)行。如果調用了bootloader ,則由外設加載的輸入流確定此應用起點地址。然而,如果選擇直接引導至閃存、OTP或SARAM,這些存儲器塊中每一個存儲器塊的應用起點均已預定義。Figure 2-1. Bootloader Flow Diagram 心 /Reset、(power-on reset or warm reset)Silicon sets the following;PIE disable
15、d (ENPIE-0)VMAP=1OBJMODE=0AMODE=0MOM1MAP=1Boot ROMReset vector fetched from boot ROMaddress 0x3F FFCOJump to InitBoot function to startboot processSel&ctBootMode lunctionPLLSTSfDIVSEL = 2Boot determined by the state of I/O pinsCall ADC_cal routine inTl reserved memoryBegin execution at Entry Poi
16、nt as determined by selected boot mode上圖顯示了引導進程的概述。以下引導模式不掉用bootloader ,他們會跳轉至存儲器中的預定義位置:1 .跳轉至閃存中的分支指令:在此模式下,引導 ROM軟件將針對28x操作配置器件,然后直接分支至閃存的 0X33FFF6位置。此位置剛好是 128位代碼安全模塊(CSM)密碼位置之前。您需要預 先在0X33FFF6位置處編寫分支指令,以將代碼執(zhí)行重定向至定制的boot-loader或應用代碼。在僅有RAM的器件上,“引導至閃存”將跳轉到保留存儲器,因此不應當使用此選項Figure N4 Jump4o-Flash Fl
17、ow DiagramSe ett Deol Mode Call ADC_cal Solod lump to' flash2 .跳轉至M0 SARAM在此模式下,BOOT ROM將針對28x操作配置器件,然后直接分支至 0x000000,即 M0 SARAM存儲器塊中的第一個地址。Figure 2-5. Flow Diagram of Jump to MO SARAM3 .跳轉至OTP存儲器在此模式下直接分支至0x380400,即OTP存儲器塊中的第一個地址RoegtFigure 2-6. Flow Diagram ol Jump-to-OTP MemoryTable 3-1. Addr
18、esaea of Flash S«etftrs in F29335/F2B235ADDRESS RANGEPROGRAM AND DATA SPACE0x30 0000 - 0x30 7FFFSector H (32Kx EOQQ - Qk3Q FFFFG Q?叫 K 1 切0m31 0000 - 0x31 TFFFSector F(32K x 16)0i3l 8000 0j31 FFFFSector E (32K x 16)0x32 0000 - 0132 7FFFSecior D 口州 k農32部。-0x32 FFFFSector C (32K i0x33 0000 0i33 7
19、FFFSectorB (3* x IS)0k33 BOOO 033 FF7F圖33 FFB0 - 0x33 FFF5(h羽 FFF6 - 0x33 FFF7。兇 FFFB Dj(33 FFTFA(32K x 1S)Pregfam io 0«0000 *hen u&ng th Cade Seajriiy ModuleL3 odl-td-F liih Ed try Rd 向 program branch insiruclion h臼白)Security Passwand (128-Bit (Dq Not Program to all xg以下引導模式將調用一個用于將數(shù)據(jù)流從外設加
20、載至存儲器的引導加載例程:SCI-A (注意此處的 SCI-A對應的是 GPIO28和GPIO29)SPI-AI2C-AeCAN-AGPIO0-GPIO15并行引導如果使用 SCI 或者其他引導的話,首先需要將啟動模式選擇相關的引腳配置成對應的模式,然后器件退出復位狀態(tài)之后,首先從復位向量處開始運行,即從0x3FFFC0 處,該地址存放著BOOT ROM 中的第一個匯編初始引導程序InitBoot 程序的入口地址,程序跳轉至0x3FFC00 執(zhí)行 InitBoot 程序。該程序主要初始化 F28335 器件工作的目標模式。然后讀取安全保護模塊的密碼,如果CSM 密碼被擦除(全部等于OxFFFF
21、)則自動解鎖,否則 CSM仍被鎖定。對 CSM 密碼讀取完成后,初始化例程調用模式選擇功能函數(shù)( SelectBoot ), 該函數(shù)根據(jù)GPIO 的狀態(tài)確定處理器引導的方式。一旦完成SelectMode 將會把入口地址返回給初始化引導。然后初始化引導函數(shù)調用回復CPU 寄存器的退出例程( ExitBoot )并退出到由引導模式確定的程序入口地址。因此我們在使用 SCI 升級程序時可以分兩個步驟,第一個步驟是我們需要一個Bootloader 程序,第二個就是我們要升級的程序, BootLoader 程序就是我們在選擇引導 SCI 模式之后, SelectBoot 之后通過串口加載的第一個程序,待
22、ExitBoot 之后會跳轉到我們這個bootloader 指定的地址開始執(zhí)行(即將控制權交給我們的這個BootLoader 程序),因此我們的 BootLoader 程序就肩負著串口接收我們的應用程序并將應用程序燒寫到 FLASH 的任務。第二個就是我們的應用程序,這個跟平常的應用程 序一樣,沒有任何區(qū)別。1. BootLoader 程序由上面的介紹明顯知道我們的Bootloader程序是運行在 RAM里面的,所以使用CCS在編寫該程序的日t候使用的是RAM_Link的CMD,而且該程序除了串口的處理還有包括 FLASH 操作的 API 函數(shù),而這些函數(shù)必須要運行在RAM 里面,而且在進行F
23、LASH 操作的時候要將中斷全部都關掉, FLASH 的 API 有相關的例程是燒進FLASH 的還要拷貝到RAM,我們這里正好還免去了拷貝的過程,因為我們整個程序都是運行在 RAM 中的。Bootloader 數(shù)據(jù)流的結構:Word23456789101112131415 nn*1Table 2-3, General Structure Of Source Program Data Stream In 16-Bit ModeContents10AA (KeyValue for memory uidth = 16bli力Register initilizaticxi value orfor f
24、ulurv useRegister in山Nation value of rvurvvd for fulurw useRegister initialization value or reserved for future useRegister mrtialization value or reserved for fulur® useRegister mitialization value oc rese<vod for future useRegister inrtialiration value or reserved for hjlure useRegister in
25、itialiMtion value or reson/od for future useRegister rrtiallzotion value or roson/od for Muro useEntry point PC|22:16)Entry point PC( 15:01Block sze (nurrber of words)。,the first block of data to toad. If the block size is 0. this indicates the end of th© source program Otherwise another secton
26、 folows.Destination addre« of first Node Add13116Destination address of first block Add(15:0First viord of tho first block in tho aourco be ng ondod L/ist word of the first block of the source be,ng o«dodBlock size & the 2nd block to loadDesiinatlon address of second block Addr3l:l6Des
27、tination address ot second block Addr(15:0First word of the second block in the source be ng loadedLast word of tho second block of tho source bong loadedBlock &ze of tho last blocfc to loadDestination address of last block Addrf3i: 161Destination address of last block Addr15 0First of tho last
28、Mock in the source be ng loadod X.Last word of tho tost Woc< of the source be ng loododBlock &ze of OOOOh indicates ond of the source programTablo 2-4. LSB/MSB Loading Soquanco in SBit Data StraamByteCorrEentsLSB fFirst Byte nf Z>MSB fSecond Byle of 2)12L5B: M KeyValue for menwry width - B
29、 b博MSB: Cfln tKFryVfiUie kr EEEnry winm - B 舊3qLSB: RocKiorimtiaiizaboc value or ruarvadMSB: Rogistor kiitaliQibn valuo or roEnnwl56LSB. R型愴理i出面心御叫/dlUE v lExiVEdMSB: RzgMw IrilliMz1dgnm rerwd7BLSB. Regisler inlializarlicin walu-e ar reservedMSB: Register inrliaiizalion salute or reserired1718LSB- R
30、egisler inatisiirzat rwi vslu-e or reservedMSB: Regssfter jnrti 用izbiIo門 alue or reserved1920LSB: Upper rigr1 of EE port PC|23:16;MSB: Uppor half nf ortry po nt PC|3i4 (AJmys 0x00;2122LSB. Loww hUf of EiiU> paint PCR.OMSB; Lowar half of Entry poi 府 PC(15 A2324LSB Block s 工2 in werdft al the firat
31、 Mm4c to bad H I he black fii£v it 0)Uiic indicatM 1h» and af the voum program. Qtrwrwi 即 的西片r block, toi tows. Far axrple. m block size d1 OjcDDOA would ind cate 10 制ords or 20 bytes 柏(he bkK.kMSG: blt>ck3iz»2526LSB: MSVJ designation address, first blocw Add”23二"6|MSB: VSvY d
32、eal ra: on accress. 1i聞 Dbck Addr31:242728LSB. LSW gunagr amirijse. fif$( uJock Aider7 0“SB; LSW dCSlinaitJOrt 緘由電漪 first OKKh Addr11& 5|20割LSB AfeI grd of Itio lirBt Uoc< bwng loadedMSB; FkEl vwrc) of th® 市E bkKk gi叫匕4d*dLSB: Last won* of ma firsl bkx* to loadMSB: Lwr word of the- lirst
33、 oloo m 3d41.ilsb: E3Idck aze Df tfie sacnind blockMSB: block size or the ace8d 口加水LSB. M£VJ dbEdnatlon addr 哥 M.wconc block Addr|23.16|MSB: MSWdestinatior adg曲 second block 凡時仰;MLSB. LS!A' desLnaor- aiddn secwid block Addr7.0MSB: LSW 殿tn說on addrfigG. second blodc Aditfl 5u8LSB1 Arsl grd nf
34、 the s2二口nd blnrk being oaclRdMSB: Firal word nF ths? spcdfkI Hnck being loaded1 SET Hsr word nf rh« Mnond 門力d<MSR: 1; it或1 worrl of ihp Rpcnnri blockilLSB Block tzo 卅 ttic met atycnMSB: Block azo of cho laci block1.LSB. MSW M g疝母山n Md隹酩 41asi blodi AddH±3J6MSB: NSW JeLnalun &dw居.bl
35、ock Ad Jr|31.241LSB: LSW destna:don acJdrBss, last Hxk Aridr7 0MSB: LSW d-estnaben address last 口1口dk Addr|15 BLSB- First word of the I fist Ncc* being loadedMSB: Frral word oftk 悟式 bloc being tosdediLSB: Lasi wend ofthg last BockMSB: Last wrj of thg las:,口。knn+1LSB OOhMSB; 0C*i -上di口thtf vn-d of th
36、s source上圖就是BootLoader數(shù)據(jù)流的結構,數(shù)據(jù)流的第一個16位字稱為鍵值,該鍵值用來指向Bootloader指示流入的數(shù)據(jù)流的寬度:8位或16位(在這里SCI就是8 位),對于8位數(shù)據(jù)流,鍵值為0X08AA,如果bootloader收到一個無效的鍵值,加 載則中止。則直接跳轉到 FLASH開始執(zhí)行。接下來的8個字(2-9)用于初始化寄存器直,如果 bootloader不使用這些值, 則將這些值留作將來使用。第10個和第11個字組成了 22位應用起點地址,此地址用于在完成引導加載 后初始化PC,也就是我們程序的起點。第12個字表示傳輸?shù)牡谝粋€數(shù)據(jù)塊的大小。對于 8位和16位數(shù)據(jù)流
37、格式,該 數(shù)據(jù)塊的大小均定義為塊中的16位字個數(shù),例如,要從 8位數(shù)據(jù)流中傳輸一個包含20個8位數(shù)據(jù)值的數(shù)據(jù)塊,該塊大小將為0X000A,表示有10個16位字。第13和14個字表示程序的目的地址,后面跟的就是程序的字,直到遇到數(shù)據(jù)塊長度為0的則傳輸結束。AR上圖為BOOTLoader傳輸流程,如果不相等會自動退出引導程序,系統(tǒng)會從內 部FLASH存儲器執(zhí)行程序。這里需要講一下,我們的 Bootloader數(shù)據(jù)流如何得到,我們正常的使用 CCS編 譯鏈接得到了 xx.out 文件,然后使用 hex2000.exe-boot-sci8 -map=xx.map-o xx.hex -ixx.out(詳
38、細解釋可參考 TMS320C28x-Assembly-Language-Tools-User's-Guide-v6.1.pdf),當然你可以將這些命令參數(shù)寫成腳本xx.cmd ,然后直接執(zhí)行hex2000.exe xx.cmd即可。這就會生成Intel格式的hex文件,我們需 要自己又抬個hex文件解析,對于生成的Hex文件都是以冒號開始,后面一個字節(jié)是數(shù)據(jù)長度,2-3字節(jié)是地址,第4字節(jié)是數(shù)據(jù)類型(00表示數(shù)據(jù)記錄,01表示文件結 束記錄,02表示擴展段地址記錄,04表示擴展線性地址記錄)首先需要一個將兩個字符轉換為一個字節(jié)量函數(shù):Void CharToByte(char *pCha
39、r,BYTE *pByte)char h,l;h=pChar0;l=pChar1;if(l>= ?0?&& l<= ?9?)l=l- ,0?;else if(l>= ?a?&& l<= ?f?)l=l- ,a?+0xa;else if(l>= ?A?&& l<= ?F?)l=l- ,A?+0xa;if(h>= ?0?&& h<= ?9?)h=h- ,0?;else if(h>= ?a?&& h<= ?f?)h=h- ,a?+0xa;else if(h>
40、;= ?A?&& h<= ?F?)h=h- ,A?+0xa;*pByte=(BYTE)h*16 + 1;解析的關鍵代碼:If(fopen_s(&myFile,filename,”r”) != 0)Printf( “打開文件 %s 失敗! ” , filename);while(!feof(myFile)+len;fgetc(myFile);/ 將文件長度計算出來用于申請存儲數(shù)據(jù)的緩沖區(qū)rewind(myFile);outBuf = (BYTE *)malloc(len/2);memset(outBuf,0xff,len/2);while(!feof(myFile)
41、if(fgetc(myFile) =,:?)/: 號表示一行的開始/ 一行的頭兩個字符為該行包含的數(shù)據(jù)長度data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte ( data,&datalen ) ;/一行的第 3、 4 個字符為數(shù)據(jù)存儲起始地址的高位data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte ( data,&addresshigh ) ;/一行的 5、 6個字符為數(shù)據(jù)存儲起始地址的低位data0 = fgetc(myFile);data1 = fgetc(m
42、yFile);CharToByte ( data,&addresslow ) ;/一行的 7、 8個字符為數(shù)據(jù)類型data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte ( data,&dataType );if(dataType = 0x00)/ 表示普通數(shù)據(jù)for(i=0;i<datalen;i+)data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte ( data,&byteData );outBufadressHigh*256+adresslow+i
43、 = byteData;if(dataType = 0x01)printf( “文件結束記錄!”);if(dataType = 0x02)printf( “不支持擴展段地址記錄! ”);return;if(dataType = 0x04)/ 本行包含擴展線性地址記錄/ 表示的是 extended 地址高位和低位data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte ( data,&addresslinearhigh ) ;data0 = fgetc(myFile);data1 = fgetc(myFile);CharToByte (
44、 data,&addresslinearlow );fclose(myFile);這個只是對 hex 文件進行了解析,然后還需要通過串口將數(shù)據(jù)發(fā)送出去,在發(fā)送數(shù)據(jù)之前需要先發(fā)送" A字符給DSP,等待DSP回復“A”之后,表明DSP波特率 已經鎖定,這時候可以將轉換的數(shù)據(jù)發(fā)送給DSP, DSP在接收的時候會將接收到的數(shù)據(jù)保持原樣返回給上位機,反觀我們的核心板,我們的核心板上的 SCI 引出的不是GPIO28 和 GPIO29 ,再者就是控制發(fā)送的引腳在上電時的電平不對導致燒寫不成功。等這個程序傳輸完了之后,會跳轉到我們這個程序指定的入口地址開始執(zhí)行,此時可以進行下一步的操作,我們需要將我們的應用程序(即 xx.out 文件也轉換成xx.hex ),轉換的 cmd 命令如:hex2000.exe-romwidth16-memwidth 16 -i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公環(huán)境中的創(chuàng)新設計與舒適度
- 二零二五年度房地產經紀實務培訓第二十六講經紀人員職業(yè)發(fā)展規(guī)劃合同3篇
- 二零二五年度智慧交通信號系統(tǒng)PPP合作框架協(xié)議2篇
- 2024版商業(yè)樓宇物業(yè)管理三方面合作合同一
- 2024版酒店承包簡單合同范本
- 2025年度生物企業(yè)內部股權轉讓及生物材料研發(fā)合同3篇
- 2025年度幼兒園兒童意外傷害預防與處理協(xié)議3篇
- 二零二五年度圖書音像銷售合作協(xié)議2篇
- 2024版標準:消防器材供應及安裝合同3篇
- 一輪鞏固卷4-高考化學模擬卷(浙江專用)(原卷版)
- 新人教版一年級數(shù)學下冊全冊導學案
- 2025年中考語文復習之現(xiàn)代文閱讀:非連續(xù)性文本閱讀(10題)
- GB/T 9755-2024合成樹脂乳液墻面涂料
- 商業(yè)咨詢報告范文模板
- 2024年度軟件定制開發(fā)合同(ERP系統(tǒng))3篇
- 家族族譜模板
- 家譜修編倡議書范文
- 高中體育與健康人教版全一冊 形意強身功 課件
- 高中語文《勸學》課件三套
- 人教版一年級數(shù)學上冊-教材分析
- 【企業(yè)盈利能力探析的國內外文獻綜述2400字】
評論
0/150
提交評論