




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)系統(tǒng)硬件架構(gòu)說(shuō)明程序升級(jí)需一臺(tái)PC計(jì)算機(jī),一塊CAN卡,和一個(gè)待升級(jí)設(shè)備。PC計(jì)算機(jī)下發(fā)升級(jí)數(shù)據(jù),控制并監(jiān)視整個(gè)燒錄過(guò)程。PC機(jī)通過(guò)USB口和線(xiàn)纜與CAN卡線(xiàn)連接,CAN卡將USB數(shù)據(jù)線(xiàn)數(shù)據(jù)轉(zhuǎn)換為CAN報(bào)文,通過(guò)CAN總線(xiàn)與待升級(jí)的設(shè)備連接。CAN卡實(shí)現(xiàn)PC機(jī)與待升級(jí)設(shè)備間的連接,控制,數(shù)據(jù)通信。一次程序升級(jí)過(guò)程可對(duì)一個(gè)設(shè)備進(jìn)行程序更新。PC機(jī)需安裝windowsXP,window7,8,10操作系統(tǒng),且安裝好監(jiān)控升級(jí)軟件,以及CAN卡驅(qū)動(dòng)程序。CAN卡采用USB線(xiàn)纜供
2、電并采用專(zhuān)用USB轉(zhuǎn)UART(異步串口)芯片HC340,為PC機(jī)拓展出一個(gè)虛擬串口,PC機(jī)憑此串口與CAN卡進(jìn)行通信,CAN卡主控芯片采用28035,主要功能是實(shí)現(xiàn)串口數(shù)據(jù)到CAN數(shù)據(jù)報(bào)文的格式轉(zhuǎn)換。上位機(jī)監(jiān)控軟件使用介紹1、首先安裝CAN卡驅(qū)動(dòng)程序(HL-340),安裝完成后在PC電腦任一USB口插入CAN卡,即可在”我的電腦”-”設(shè)備管理器”-“串口”一欄中找到對(duì)應(yīng)拓展出來(lái)的串口,表明驅(qū)動(dòng)安裝正確,CAN卡連接正確。HL-340驅(qū)動(dòng)程序圖標(biāo)2、點(diǎn)擊打開(kāi)監(jiān)控軟件監(jiān)控軟件圖標(biāo)監(jiān)控界面如下1).在監(jiān)控軟件中“串口號(hào)”一欄填入對(duì)應(yīng)串口,在點(diǎn)擊”打開(kāi)串口”控件,連接好CAN與設(shè)備CAN線(xiàn),給設(shè)備接入
3、12V電源,即可監(jiān)控通訊2.點(diǎn)擊“HEX文件讀取按鈕”,彈出hex文件查找對(duì)話(huà)框,找到需要燒錄的hex文件,點(diǎn)擊打開(kāi)即可。Hex文件查找對(duì)話(huà)框此時(shí)“文件路徑”控件顯示待燒錄的hex文件在硬盤(pán)中的實(shí)際位置,用于核對(duì)檢查。一般程序升級(jí)僅升級(jí)應(yīng)用程序,因此編程選項(xiàng)欄中默認(rèn)選擇“擦除編程應(yīng)用扇區(qū)”,若需對(duì)基本CAN升級(jí)扇區(qū)(B扇區(qū))升級(jí)程序,則點(diǎn)擊選擇“擦除編程基礎(chǔ)程序”,若需對(duì)28035芯片整個(gè)FLASH進(jìn)行擦除和程序升級(jí),則點(diǎn)擊選擇“擦除編程所有flash扇區(qū)”,但此功能慎用,此功能一次性擦除和編程所有扇區(qū),升級(jí)過(guò)程中掉電,目標(biāo)設(shè)備將無(wú)法使用CAN再次升級(jí)。若基本程序和應(yīng)用程序都需要升級(jí),且無(wú)法確
4、保升級(jí)過(guò)程中供電和通信穩(wěn)定,則需要分兩次升級(jí),在編程選項(xiàng)中分別點(diǎn)擊選擇不同選項(xiàng)。速度選擇一欄選擇不同燒寫(xiě)速度,由于不同電腦配置差異較大,低配置電腦,或者已有多個(gè)進(jìn)程運(yùn)行,CPU占用率較高,還使用最快速的燒寫(xiě)檔位,容易數(shù)據(jù)校驗(yàn)出錯(cuò)現(xiàn)象,導(dǎo)致程序燒錄不成功。此時(shí)采用低檔燒錄,減小一次向串口緩沖區(qū)寫(xiě)入的數(shù)據(jù)量,從而減小進(jìn)程處理任務(wù),提高通信穩(wěn)定性,可大大增加燒錄成功率。(實(shí)際使用發(fā)現(xiàn):低配置臺(tái)式電腦在最快燒錄速度下,錯(cuò)誤率較高,需降低燒寫(xiě)速度3到4檔,筆記本電腦可用最快速度燒錄)。3.點(diǎn)擊“擦除flash并自動(dòng)編程”控件,上位機(jī)自動(dòng)發(fā)起連接,控制目標(biāo)設(shè)備進(jìn)行程序升級(jí)。燒錄過(guò)程中勿操作界面,直到燒錄完
5、成后才能進(jìn)行其他操作。進(jìn)度條控件顯示燒錄進(jìn)度,一般升級(jí)過(guò)程在40秒鐘作用。4.當(dāng)程序升級(jí)成功,界面上將顯示所有數(shù)據(jù)校驗(yàn)正確,狀態(tài)指示一欄顯示“SuccessStatus”,若燒寫(xiě)結(jié)束而數(shù)據(jù)校驗(yàn)不正確,“狀態(tài)指示”一欄顯示“VerifyStatus”,若目標(biāo)升級(jí)設(shè)備沒(méi)有和上位機(jī)建立通信則“狀態(tài)指示”一欄顯示“l(fā)aunchStatus”。若目標(biāo)設(shè)備處于FLASH扇區(qū)擦除過(guò)程則顯示“EraseStatus”,若處于程序燒錄過(guò)程中則顯示“ProgramStatus”。5.燒寫(xiě)成功完成后,目標(biāo)設(shè)備自動(dòng)復(fù)位,重新執(zhí)行最新程序??蓪⒈O(jiān)控界面由程序升級(jí)頁(yè)面切換到產(chǎn)品監(jiān)控頁(yè)面,觀察最新燒錄好的軟件的版本號(hào),規(guī)格
6、型號(hào)等有用信息。28035flash介紹A28035FALSH存儲(chǔ)空間共64K(64K字),他們被組織在8個(gè)扇區(qū),每扇區(qū)8K,每個(gè)扇區(qū)可被單獨(dú)擦除和編程,不影響其他扇區(qū)。扇區(qū)中每一個(gè)基本存儲(chǔ)單元稱(chēng)為一個(gè)字,而一個(gè)字有16個(gè)位。對(duì)每個(gè)扇區(qū)編程之前,必須先擦除該扇區(qū),擦除即將扇區(qū)每一位寫(xiě)1,編程即將特定位寫(xiě)0。以上表格是各扇區(qū)的絕對(duì)地址,CPU可根據(jù)以特定的絕對(duì)地址訪(fǎng)問(wèn)對(duì)應(yīng)FLASH的特定地址單元燒寫(xiě)文件(.hex)介紹CCS6編譯器經(jīng)過(guò)適當(dāng)配置,軟件編譯結(jié)束以后會(huì)自動(dòng)產(chǎn)生intel格式的hex文件,該文件以特定格式保存了最終燒錄到flash中的機(jī)器碼,此類(lèi)型文件用于CAN程序升級(jí)。(軟件編碼編譯
7、完成后產(chǎn)生的.out文件,需用JTAG調(diào)試燒錄工具將機(jī)器代碼燒錄到芯片中)。以實(shí)際應(yīng)用的hex文件(intel格式hex文件)為例說(shuō)明,紅色 起始域 每行以冒號(hào)開(kāi)始,它表示每行的開(kāi)始黃色 長(zhǎng)度域 例如02表明本行有兩個(gè)字節(jié)數(shù)據(jù),0 x20表示本行有32個(gè)字節(jié)數(shù)據(jù)。綠色 地址域 它表示每行數(shù)據(jù)的起始地址(低位)藍(lán)色 類(lèi)型域這個(gè)域表示這條HEX記錄的類(lèi)型,他有可能是下面這幾種類(lèi)型00 -數(shù)據(jù)記錄,表明此行記錄表示數(shù)據(jù) 01 -文件結(jié)束記錄,表明此行文件最后一行。02 -擴(kuò)展段地址記錄,表明此行記錄的是高段地址,DSP尋址空間為0 x3FFFF,64K,即而地址域僅能表示低16位地址,因此需使用高段
8、地址配合使用。04 -擴(kuò)展線(xiàn)性地址記錄紫色 數(shù)據(jù)域 若本行為數(shù)據(jù)記錄則依次表示將要燒錄到flash對(duì)應(yīng)地址單元中的數(shù)據(jù),若本行為拓展地址記錄,則表示高段地址。一行總數(shù)據(jù)字節(jié)數(shù)量,可從長(zhǎng)度域得到灰色 每行最后兩個(gè)字符為本行數(shù)據(jù)校驗(yàn)和。:EBC:FE02761F01BF1A0EFEC05761F01BF1A0EF002C92048A:FD767E908E761FB922F542B56CFEE0C16:AFB56CFFFBF761FC542B56C3CA:4922B962C761F002CFA767E908E761FB920C540B12:CF02654F12EE0C1AF099E39540B56C
9、FA:E77003E8E7D003E8E83003E8E89003E8E8F003E8E95003EEE8D:5003E8E9B003EEE8EA1003E8EA7003E8EAD003E8EB3003ED7:EB9003EEEEE8EBF003E8ED6003E8EED003E48:5003E8F04003EE8F0A003EEE8F10003E8F16003E3B:2061A0008F2D003E8F44003E8F5B003E8F72003E8F89003E8FA0003E8FB7003E8FCE003E8B:0C61BEE8FE5003E8B:047FFEAB9FBF:FF以第一行為例
10、,此行有兩個(gè)字節(jié)數(shù)據(jù),即0 x003E,且本行是拓展段地址記錄,即它表示起始高位地址為0 x003E,以第二行為例,此行有0 x20即32個(gè)字節(jié)數(shù)據(jù)記錄,且本行是數(shù)據(jù)記錄,低位地址為0 x8000,即從0 x3E800地址開(kāi)始,每個(gè)flash地址單元當(dāng)中的數(shù)據(jù)依次是0 xFE02,761F.9204根據(jù)以上數(shù)據(jù)記錄可解析出flash中每一個(gè)地址單元中的數(shù)據(jù),例如:根據(jù)第一第二行的信息可解析出,地址0 x3E8000中存放數(shù)據(jù)為0 xFE02。將該地址與數(shù)據(jù)傳入DSP中,CPU調(diào)用燒寫(xiě)函數(shù)將數(shù)據(jù)燒錄到對(duì)應(yīng)的flash特定地址當(dāng)中。上位機(jī)解析出所有的機(jī)器碼,并將它們下發(fā)到DSP中,DSP運(yùn)行的程序
11、解析出一幀報(bào)文中的絕對(duì)地址,分析是哪一個(gè)扇區(qū),從而決定是否將機(jī)器碼燒錄到該絕對(duì)地址中。CAN報(bào)文與通信協(xié)議介紹CAN報(bào)文最高位為主從機(jī)標(biāo)志位,當(dāng)幀類(lèi)型為數(shù)據(jù)幀時(shí),16-1位存放機(jī)器碼,32-17位存放該機(jī)器碼的高位地址,48-33位存放機(jī)器碼的低位地址。按以上幀格式,上位機(jī)與目標(biāo)升級(jí)設(shè)備進(jìn)行主從通信,一個(gè)幀中包含一個(gè)FLASH中的絕對(duì)地址以及地址當(dāng)中的數(shù)據(jù),目標(biāo)設(shè)備CPU接收到報(bào)文后進(jìn)行分析處理,并向上位機(jī)發(fā)送應(yīng)答幀,應(yīng)答幀格式相同,僅主/從機(jī)標(biāo)志位不一樣,上位機(jī)將接收到的應(yīng)答幀,并且應(yīng)答幀完全正確,表明所有數(shù)據(jù)已下發(fā),并無(wú)通訊錯(cuò)誤。掉電升級(jí)原理:C-H扇區(qū)用來(lái)存放應(yīng)用程序,B扇區(qū)存放CAN升
12、級(jí)基本程序。A扇區(qū)用于選擇跳轉(zhuǎn)到應(yīng)用程序還是CAN升級(jí)程序。B扇區(qū)編程標(biāo)志域:0 x3F5FFE-0 x3F5FFF,長(zhǎng)度為2個(gè)字,編程成功該域?qū)?,否則該域各位寫(xiě)1B扇區(qū)跳轉(zhuǎn)域:0 x3F5FFC-0 x3F5FFD,長(zhǎng)度為2個(gè)字,跳轉(zhuǎn)到cint00函數(shù),實(shí)現(xiàn)C運(yùn)行編程環(huán)境初始化。C扇區(qū)編程標(biāo)志域:0 x3F3FFE-0 x3F3FFF,長(zhǎng)度為2個(gè)字,編程成功該域?qū)?,否則該域各位將寫(xiě)1C扇區(qū)跳轉(zhuǎn)域:0 x3F3FFC-0 x3F3FFD,長(zhǎng)度為2個(gè)字,跳轉(zhuǎn)到cint00函數(shù),實(shí)現(xiàn)C運(yùn)行環(huán)境初始化。A扇區(qū)入口地址域:0 x3F7FF6-0 x3F7FF7,長(zhǎng)度為2個(gè)字,該域放置一條跳轉(zhuǎn)指令用
13、于,跳轉(zhuǎn)到A扇區(qū)跳轉(zhuǎn)域。A扇區(qū)跳轉(zhuǎn)域:0 x3F7E00-0 x3F7F7F,長(zhǎng)度為384個(gè)字,根據(jù)B,C扇區(qū)編程標(biāo)志域情況,決定跳轉(zhuǎn)到B或者C扇區(qū)執(zhí)行程序。DSP復(fù)位完成后,CPU將跳轉(zhuǎn)到A扇區(qū)絕對(duì)地址0 x3F7FF6-0 x3F7FF7執(zhí)行程序,該區(qū)域稱(chēng)FLASH入口域,此區(qū)域?qū)⒎胖靡粋€(gè)跳轉(zhuǎn)指令,跳轉(zhuǎn)到A扇區(qū)的跳轉(zhuǎn)域A扇區(qū)跳轉(zhuǎn)域根據(jù)B扇區(qū)與C扇區(qū)的標(biāo)志域中的情況選擇跳轉(zhuǎn)。若C扇區(qū)標(biāo)志域?yàn)? x0000,表明應(yīng)用程序有效,則跳轉(zhuǎn)到C扇區(qū)執(zhí)行應(yīng)用程序。若C扇區(qū)標(biāo)志域?yàn)? xFFFF則表明應(yīng)用程序未升級(jí)成功,則跳轉(zhuǎn)到B扇區(qū)執(zhí)行基板CAN升級(jí)程序。應(yīng)用程序升級(jí)過(guò)程:應(yīng)用程序升級(jí)時(shí),DSP會(huì)保留A
14、,B兩扇區(qū),并先擦除C扇區(qū),隨后D,E,F(xiàn),G,H扇區(qū)相繼被擦除,C區(qū)編程標(biāo)志域被擦除置1。DSP接收上位機(jī)下發(fā)數(shù)據(jù)對(duì)C,D,E,F(xiàn),G,H扇區(qū)編程。當(dāng)編程完畢,上位機(jī)下發(fā)燒寫(xiě)成功命令,DSP對(duì)C扇區(qū)標(biāo)志域?qū)?,表示應(yīng)用程序升級(jí)成功。B扇區(qū)程序升級(jí)過(guò)程:B扇區(qū)存放僅包含CAN升級(jí)的程序,對(duì)該扇區(qū)升級(jí)程序時(shí),DSP會(huì)保留其他扇區(qū),先擦除B扇區(qū),B扇區(qū)編程標(biāo)志域被擦除置1.DSP接收上位機(jī)下發(fā)數(shù)據(jù)對(duì)B區(qū)編程,編程完畢后,上位機(jī)下發(fā)燒寫(xiě)成功命令,DSP對(duì)B扇區(qū)標(biāo)志位寫(xiě)0,表示B扇區(qū)程序升級(jí)成功。工程文件組織:B扇區(qū)程序以常量表格形式被嵌入到應(yīng)用程序工程中。該表格被應(yīng)用程序工程鏈接到B扇區(qū)?;綜AN
15、升級(jí)工程,最終程序被分配到A扇區(qū)和B扇區(qū)。其中在A扇區(qū)生成的程序與應(yīng)用工程完全一樣。該工程文件輸出的燒寫(xiě)文件(.hex)被轉(zhuǎn)換為常量表格存放于.c文件中,用應(yīng)用程序調(diào)用。從而實(shí)現(xiàn)兩工程文件獨(dú)立編輯,升級(jí)和修改。B扇區(qū)與應(yīng)用扇區(qū)獨(dú)立執(zhí)行,任何時(shí)候都會(huì)有一個(gè),且都包含有CAN升級(jí)功能,若程序升級(jí)過(guò)程中出現(xiàn)掉電,通信中斷等異常情況,DSP中始終包含一個(gè)獨(dú)立運(yùn)行的程序,并可對(duì)未升級(jí)成功的扇區(qū)再次升級(jí)。常量表格的實(shí)現(xiàn)原理:編寫(xiě)一個(gè)包含CAN升級(jí)基本功能的工程文件,此工程中A扇區(qū)與應(yīng)用工程中的A扇區(qū)完全一樣,其他功能程序被鏈接到B扇區(qū)中,解析此工程文件的HEX文件,可分析得出B扇區(qū)所有機(jī)器碼,將其轉(zhuǎn)換為8
16、K的常量表格存放于C文件中,再將此C文件添加到應(yīng)用工程中進(jìn)行編譯(應(yīng)用工程將此C文件中的常量表格鏈接到B扇區(qū)flash地址范圍中)。應(yīng)用工程最后生成的.out文件,使用JTAG燒錄工具燒錄到DSP裸片中,此時(shí)DSP的FLASH可認(rèn)為有兩個(gè)獨(dú)立的工程,它們可認(rèn)為分別存放在A-B扇區(qū)和A-C-D.H扇區(qū)中。DSP上電后自動(dòng)執(zhí)行應(yīng)用程序FLASH 編程API介紹IT提供一系列完善可靠的接口函數(shù)供用戶(hù)調(diào)用,以實(shí)現(xiàn)對(duì)FLASH的擦除、升級(jí)、以及校驗(yàn),函數(shù)已經(jīng)封裝在2803x_FlashAPI_BootROMSymbols.lib庫(kù)文件中,相關(guān)函數(shù)變量接口聲明放在Flash2803x_API_Librar
17、y.h,F(xiàn)lash2803x_API_Config.h文件當(dāng)中,需將這些文件添加到工程中。1.擦除函數(shù)Flash_Erase(SECTORD,&EraseStatus);第一個(gè)參數(shù)確定擦除的扇區(qū),擦除完成后,所有位擦除后為1,即為0 xFFFF狀態(tài)2.編程函數(shù) Flash_Program(Flash_ptr,Buffer,Length,&ProgStatus);第一個(gè)參數(shù)確定flash中的編程起始地址,第二個(gè)參數(shù)確定RAM中的數(shù)據(jù)起始地址,第三個(gè)參數(shù)確定編程數(shù)據(jù)塊大小 3.校驗(yàn)函數(shù)Flash_Verify(Flash_ptr,Buffer,Length,&VerifyStatus);第一個(gè)參數(shù)
18、確定flash中的校驗(yàn)起始地址,第二個(gè)參數(shù)確定RAM中的數(shù)據(jù)校驗(yàn)起始地址,第三個(gè)參數(shù)確定校驗(yàn)數(shù)據(jù)塊大小程序升級(jí)過(guò)程中,DSP接受到can總線(xiàn)發(fā)送來(lái)的一幀報(bào)文,即可獲得一個(gè)有效的機(jī)器碼與對(duì)應(yīng)的FLASH扇區(qū)中的絕對(duì)地址,此時(shí)設(shè)定Length為1,F(xiàn)lash_ptr指向FLASH中的絕對(duì)地址,buffer參數(shù)包含該機(jī)器碼,調(diào)用 Flash_Program()函數(shù)就可以實(shí)現(xiàn)對(duì)該特定地址的編程。目標(biāo)程序升級(jí)流程控制復(fù)位當(dāng)DSP復(fù)位結(jié)束后,CPU首先從flash程序入口執(zhí)行程序,該域放置了一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到A扇區(qū)跳轉(zhuǎn)域執(zhí)行跳轉(zhuǎn)函數(shù),隨后跳轉(zhuǎn)到C扇區(qū)的跳轉(zhuǎn)域,C扇區(qū)跳轉(zhuǎn)域在次跳轉(zhuǎn)到Cint00函數(shù)以實(shí)現(xiàn)C運(yùn)行環(huán)境初始化,完成后進(jìn)入主函數(shù)執(zhí)行。在對(duì)FLASH進(jìn)行編程之前,F(xiàn)LASH中的CAN升級(jí)程序已經(jīng)被復(fù)制到RAM中。當(dāng)執(zhí)行到程序升級(jí)函數(shù)后,CPU是在RAM中執(zhí)行程序,對(duì)flash進(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加裝電梯加盟合同范本
- canying勞動(dòng)合同范本
- 剝離工程合同范本
- 保理 保證合同范本
- 養(yǎng)鵝訂單合同范本
- 中介居間服務(wù)合同范本
- 催收咨詢(xún)服務(wù)合同范例
- 加工制作維修合同范例
- 保安服務(wù)合同補(bǔ)充合同范本
- 加盟店餐飲合同范例
- 《民事訴訟法》課件
- 錦繡金華完整版本
- 環(huán)保合規(guī)與企業(yè)風(fēng)險(xiǎn)管理
- 子宮內(nèi)膜癌教學(xué)查房
- 預(yù)防深靜脈血栓VTE持續(xù)改進(jìn)QCC品管圈PDCA案例3例
- 水環(huán)境綜合治理服務(wù)方案(技術(shù)標(biāo))
- 【原創(chuàng)】頭腦特工隊(duì)開(kāi)的那些心理學(xué)腦洞
- 美甲藝術(shù)全套教學(xué)課件
- 中國(guó)古代餐具
- 電動(dòng)執(zhí)行機(jī)構(gòu)安裝施工工藝標(biāo)準(zhǔn)
- 施工日志模板
評(píng)論
0/150
提交評(píng)論