RISC-V單線調(diào)試接口技術(shù)要求(征求意見稿)_第1頁
RISC-V單線調(diào)試接口技術(shù)要求(征求意見稿)_第2頁
RISC-V單線調(diào)試接口技術(shù)要求(征求意見稿)_第3頁
RISC-V單線調(diào)試接口技術(shù)要求(征求意見稿)_第4頁
RISC-V單線調(diào)試接口技術(shù)要求(征求意見稿)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1T/BDT004—2024RISC-V單線調(diào)試接口技術(shù)要求本文件規(guī)定了RISC-V單線調(diào)試接口的調(diào)試傳輸協(xié)議,調(diào)試模塊及其操作方法。本文件適用于RISC-V單線調(diào)試的規(guī)范和對微處理器的在線調(diào)試。2規(guī)范性引用文件本文件沒有規(guī)范性引用文件。3術(shù)語和定義下列術(shù)語和定義適用于本文件。3.1調(diào)試模塊debugmodule可實現(xiàn)抽象的調(diào)試操作和特定實現(xiàn)轉(zhuǎn)換的模塊,能夠?qū)崿F(xiàn)微處理器的暫停和運行,可通過抽象命令、programbuffer部署指令等方式訪問微處理器的GPRs、CSRs、儲存器、外部設(shè)備等。3.2調(diào)試模塊控制寄存器dmcontrol用于控制調(diào)試模塊及當前選定內(nèi)核的一種寄存器。3.3調(diào)試模塊狀態(tài)寄存器dmstatus用于指示調(diào)試模塊及當前選定內(nèi)核狀態(tài)的一種寄存器3.4微處理器狀態(tài)寄存器hartinfo用于向調(diào)試主機提供微處理器的信息的一種只讀寄存器。3.5抽象命令控制與狀態(tài)寄存器abstractcs用于指示抽象命令執(zhí)行的情況的一種寄存器,調(diào)試主機可通過讀取該寄存器,了解上一個抽象命令是否執(zhí)行完畢,并且可檢查抽象命令執(zhí)行過程中是否產(chǎn)生錯誤以及錯誤的類型。3.6抽象命令寄存器command調(diào)試主機可通過抽象命令寄存器中寫入不同的配置值,生成對應(yīng)的抽象命令,實現(xiàn)對寄存器及存儲器的訪問。3.7抽象命令自動執(zhí)行寄存器abstractauto用于配置抽象命令自動執(zhí)行的一種寄存器,當對調(diào)試模塊的progbufx和datax進行讀寫時,抽象命令可再次被執(zhí)行。3.8指令緩存寄存器progbufx用于存放任意指令,部署相應(yīng)操作的一種寄存器,最后一條執(zhí)行需要是“ebreak”或者“c.ebreak”。3.9暫停狀態(tài)寄存器haltsum0用于指示微處理器是否暫停,每一位指示一個微處理器的暫停狀態(tài)的一種寄存器,當只有一個核時,僅用該寄存器最低位表示。2T/BDT004—20243.10調(diào)試控制和狀態(tài)寄存器dcsr用于控制和指示調(diào)試模式下的動作和狀態(tài)的一種寄存器。3.11調(diào)試模式程序指針dpc用于保存微處理器進入調(diào)試模式之后將要執(zhí)行的下一條指令的地址的一種寄存器。3.12讀/寫通用寄存器GPR抽象命令支持對微處理器進行讀寫的一種通用寄存器。3.13讀/寫控制和狀態(tài)寄存器CSR抽象命令支持對微處理器進行讀寫的控制和狀態(tài)寄存器。4縮略語下列縮略語適用于本文件。abstractauto:抽象命令自動執(zhí)行(abstractcommandautoexec)abstractcs:抽象命令狀態(tài)寄存器(abstractcontrolandstatusregister)CFGR:配置寄存器(configurationregister)CPBR:能力寄存器(capabilityregister)command:抽象命令寄存器(abstractcommandregister)DM:調(diào)試模塊(DebugModule)DMI:調(diào)試模塊接口(DebugModuleInterface)DTM:調(diào)試傳輸模塊(DebugTransportModule)data0:數(shù)據(jù)寄存器0(dataregister0)data1:數(shù)據(jù)寄存器1(dataregister1)dcsr:調(diào)試控制和狀態(tài)寄存器(debugcontrolandstatusregister)dmcontrol:調(diào)試模塊控制寄存器(debugmodulecontrolregister)dmstatus:調(diào)試模塊狀態(tài)寄存器(debugmodulestatusregister)dpc:調(diào)試模式程序指針(debugPC)haltsum0:暫停狀態(tài)寄存器(haltsummary0)hartinfo:微處理器狀態(tài)寄存器(hartinforegister)progbufx:指令緩存寄存器(programbufferx)RISC:精簡指令集(ReducedInstructionSetComputer)RISC-V:第五代精簡指令集(FifthgenerationReducedInstructionSetComputing)SHDWCFGR:影子配置寄存器(shadowconfigurationregister)5基本結(jié)構(gòu)5.1調(diào)試模塊(DM)5.1.1調(diào)試模塊應(yīng)用于實現(xiàn)抽象的調(diào)試操作和特定實現(xiàn)之間的轉(zhuǎn)換。調(diào)試模塊是稱為調(diào)試模塊接口(DMI)的總線的從設(shè)備,總線主設(shè)備是調(diào)試傳輸模塊(DTM)。5.1.2調(diào)試模塊可實現(xiàn)微處理器的暫停、復(fù)位、恢復(fù)等功能。5.1.3調(diào)試模塊應(yīng)通過單線調(diào)試接口和調(diào)試傳輸設(shè)備通訊。5.1.4應(yīng)通過DMI訪問DM寄存器,通過寄存器的訪問完成整個調(diào)試過程。5.2調(diào)試模塊接口(DMI)3T/BDT004—2024調(diào)試模塊接口可以是包含一個主總線和一個從總線的普通總線,也可以使用功能更齊全的總線,DMI應(yīng)使用7到32個地址位,它支持讀寫操作。5.3調(diào)試傳輸模塊(DTM)5.3.1調(diào)試傳輸模塊通過一種或多種傳輸方式(例如:JTAG或者USB)對調(diào)試模塊提供訪問。5.3.2調(diào)試傳輸設(shè)備和調(diào)試主機應(yīng)使用接口通訊,并通過單線接口和調(diào)試模塊通訊,以控制和查詢微處理器狀態(tài),實現(xiàn)調(diào)試功能。示例框圖見5.4。5.3.3可通過抽象命令或者ProgramBuffer的方式訪問處理器內(nèi)部,處理器內(nèi)部包括:a)通用寄存器(GPRs);b)控制狀態(tài)寄存器(CSRs);c)存儲器或映射為特定功能的外設(shè)等。5.4調(diào)試系統(tǒng)簡易框圖以支持RISC-V單線調(diào)試的微處理器為例。見圖1所示。圖1調(diào)試系統(tǒng)框圖6調(diào)試傳輸協(xié)議規(guī)范6.1概述6.1.1調(diào)試傳輸設(shè)備和調(diào)試模塊之間應(yīng)采用單線傳輸?shù)姆绞竭M行通訊。6.1.2傳輸協(xié)議定義了訪問調(diào)試模塊相關(guān)寄存器的數(shù)據(jù)包格式,其結(jié)構(gòu)應(yīng)符合6.2的格式要求。6.2數(shù)據(jù)包格式6.2.1NewPacketNewPacket結(jié)構(gòu)組成應(yīng)符合以下要求:d)1bit起始位,固定為數(shù)據(jù)1;e)7bit地址位,設(shè)置訪問寄存器地址,MSB優(yōu)先;f)1bit讀寫控制位,1主機寫,0主機讀;g)32bit數(shù)據(jù),MSB優(yōu)先;4T/BDT004—2024h)1bit偶校驗位,該位為可選數(shù)據(jù)位,若數(shù)據(jù)位最后一位后直接發(fā)送停止符,則不進行校驗位傳輸。6.2.2BypPacketBypPacket結(jié)構(gòu)組成應(yīng)符合以下要求:a)1bit起始位,固定為數(shù)據(jù)0;b)32bit數(shù)據(jù)位,MSB優(yōu)先,讀寫位和寄存器地址與最近一次的NewPacket傳輸相同;c)1bit偶校驗位,該位為可選數(shù)據(jù)位,若數(shù)據(jù)位最后一位后直接發(fā)送停止符,則不進行校驗位傳輸。6.2.3數(shù)據(jù)包訪問格式對調(diào)試模塊寄存器操作應(yīng)按照圖2所示格式進行訪問。NewPacket和BypPacket組合實現(xiàn)對某個寄存器的讀寫,連續(xù)讀或?qū)懙炔僮?。圖2數(shù)據(jù)包格式6.3位定義6.3.1位定義的判斷依據(jù)單線接口應(yīng)使用電平的高低和持續(xù)時間來表示數(shù)據(jù)位、停止位??偩€空閑時為高電平,當總線低電平持續(xù)一定時間,應(yīng)表示復(fù)位信號。6.3.2速度模式6.3.2.1快速模式1X設(shè)從機調(diào)試接口時鐘周期為T,時序應(yīng)如圖3所示:a)停止位:持續(xù)高電平10T,將產(chǎn)生停止位;b)數(shù)據(jù)1:低電平時間(T,2T),高電平時間(T,8T);c)數(shù)據(jù)0:低電平時間(4T,32T),高電平時間(T,8T)。圖3快速模式信號時序6.3.2.2普通模式2X設(shè)從機調(diào)試接口時鐘周期為T,時序應(yīng)如圖4所示,該模式為復(fù)位后默認模式:a)停止位:持續(xù)高電平18T,將產(chǎn)生停止位;b)數(shù)據(jù)1:低電平時間(T,4T),高電平時間(T,16T);c)數(shù)據(jù)0:低電平時間(6T,64T),高電平時間(T,16T)。5T/BDT004—2024圖4中速模式信號時序6.4調(diào)試接口寄存器6.4.1調(diào)試接口寄存器類型6.3.2中規(guī)定的調(diào)試接口速度模式及使能應(yīng)由相關(guān)寄存器進行配置。寄存器應(yīng)使用7位地址進行編碼,分類見表1。表1調(diào)試接口寄存器6.4.2能力寄存器(CPBR)能力寄存器定義應(yīng)符合表2規(guī)定。表2能力寄存器(CPBR)位0009080:調(diào)試從機不具有CRC8校驗功能,僅偶校006T/BDT004—2024位06.4.3配置寄存器(CFGR)配置寄存器定義應(yīng)符合表3規(guī)定。表3配置寄存器(CFGR)位00009080:調(diào)試從機不具有CRC8校驗功能,僅偶校00006.4.4影子配置寄存器(SHDWCFGR)影子配置寄存器定義應(yīng)符合表4規(guī)定。表4影子配置寄存器(SHDWCFGR)位0007T/BDT004—2024位09080:調(diào)試從機不具有CRC8校驗功能,僅偶校00006.5配置實例6.5.1主機可通過6.4.3中規(guī)定的配置寄存器CFGR和6.4.4中規(guī)定的影子配置寄存器SHDWCFGR,配合設(shè)置調(diào)試接口的能力,并通過6.4.2中定義的能力寄存器CPBR查詢是否生效。6.5.2設(shè)置時應(yīng)先設(shè)置SHDWCFGR對應(yīng)位,再將CFGR對應(yīng)位域置位,即可設(shè)置影子配置寄存器的對應(yīng)配置位生效,其他配置位不變。6.5.3相關(guān)實例詳見附錄A。7調(diào)試模塊7.1調(diào)試操作流程調(diào)試模塊能執(zhí)行調(diào)試主機下發(fā)的調(diào)試操作,包括:a)通過調(diào)試接口訪問寄存器;b)通過調(diào)試接口可使微處理器復(fù)位、暫停、恢復(fù);c)通過調(diào)試接口讀寫存儲器、指令寄存器以及外部設(shè)備;d)通過調(diào)試接口可部署多條任意指令;7.2調(diào)試模塊寄存器類型7.2.1概述7.2.1.1調(diào)試模塊內(nèi)部寄存器應(yīng)使用7位地址編碼。7.2.1.2微處理器內(nèi)部實現(xiàn)了以下寄存器,調(diào)試模塊寄存器種類應(yīng)符合表5的規(guī)定。表5調(diào)試模塊寄存器列表8T/BDT004—20247.2.1.3調(diào)試主機可通過配置dmcontrol寄存器控制微處理器的暫停、恢復(fù)、復(fù)位等,也可通過command寄存器觸發(fā)調(diào)試模塊生成抽象命令。7.2.1.4RISC-V標準定義三種抽象命令類型:訪問寄存器、快速訪問、訪問存儲器。7.2.1.5調(diào)試模塊內(nèi)部實現(xiàn)了八個指令緩存寄存器progbuf0-7,調(diào)試主機可向緩沖區(qū)緩存多條指令(可以是壓縮指令),可選擇執(zhí)行完抽象命令后繼續(xù)執(zhí)行指令緩存寄存器中的指令,也可直接執(zhí)行緩存的指令。7.2.1.6progbufs中指令小于32字節(jié),則需要最后一條指令是一條“ebreak”或“c.ebreak”指令,若指令填滿32字節(jié),調(diào)試模塊自動添加一條“ebreak”指令。調(diào)試主機也可通過抽象命令和progbufs中緩存的指令,實現(xiàn)儲存器、外設(shè)等的訪問。7.2.2數(shù)據(jù)寄存器0(data0)數(shù)據(jù)寄存器0的定義應(yīng)符合表6規(guī)定。表6data0寄存器定義位07.2.3數(shù)據(jù)寄存器1(data1)數(shù)據(jù)寄存器1的定義應(yīng)符合表7規(guī)定。表7data1寄存器定義位07.2.4調(diào)試模塊控制寄存器(dmcontrol)調(diào)試主機向?qū)?yīng)的字段寫數(shù)據(jù),即可實現(xiàn)5.2.4中調(diào)試模塊對寄存器的暫停(haltreq)、復(fù)位(ndmreset)、恢復(fù)(resumereq)的功能。各位描述應(yīng)符合表8規(guī)定。表8dmcontrol寄存器定義位00000109T/BDT004—2024位007.2.5調(diào)試模塊狀態(tài)寄存器(dmstatus)描述應(yīng)符合表9規(guī)定。表9dmstatus寄存器定義位00000000009080707.2.6微處理器狀態(tài)寄存器(hartinfo)各個位描述應(yīng)符合表10規(guī)定。表10hartinfo寄存器定義位00數(shù)據(jù)寄存器data0偏移地址,其基地址為7.2.7抽象命令控制與狀態(tài)寄存器(abstractcs)詳細描述應(yīng)符合表11的規(guī)定。T/BDT004—2024表11abstractcs寄存器定義位0表示programbuffer程000abstractcs、abstractauto寄存器進行寫或者100:微處理器未暫?;虿豢捎茫荒軋?zhí)行抽007.2.8抽象命令寄存器(command)調(diào)試操作應(yīng)符合7.1中的b)說明。當對寄存器訪問時command寄存器各位定義應(yīng)符合表12規(guī)定。表12訪問寄存器時command寄存器定義位000000write007.2.9抽象命令自動執(zhí)行寄存器(abstractauto)該寄存器的描述應(yīng)符合表13規(guī)定。T/BDT004—2024表13abstractauto寄存器定義位若某位置1,相應(yīng)對progbufx的讀寫將導(dǎo)致command寄存器中抽象命令再次被執(zhí)行00將導(dǎo)致command寄存器中的抽象命令再次07.2.10指令緩存寄存器(progbufx)當progbufx共8個,能夠存儲共32B字節(jié)指令,當不滿32B時,需要最后一條指令是“break”指令,當存滿32B時,模塊自動在最后添加“ebreak”指令。寄存器定義應(yīng)符合表14規(guī)定。表14progbuf寄存器定義位07.2.11暫停狀態(tài)寄存器(haltsum0)寄存器定義應(yīng)符合表15規(guī)定。表15haltsum0寄存器定義位0007.2.12調(diào)試控制和狀態(tài)寄存器(dcsr)詳細描述應(yīng)符合表16規(guī)定。表16dcsr寄存器定義位0:機器模式下的ebreak指令的行為如特權(quán)1:機器模式下的ebreak指令能夠進入調(diào)試000:用戶模式下的ebreak指令的行為如特權(quán)1:用戶模式下的ebreak指令能夠進入調(diào)試00090進入調(diào)試的原因001:以ebreak指令方式進0T/BDT004—2024位010:以triggermodule形式進入調(diào)試(優(yōu)011:以暫停請求形式進入調(diào)試(優(yōu)先級為100:以單步調(diào)試形式進入調(diào)試(優(yōu)先級為101:微處理器復(fù)位之后直接停止進入調(diào)試模02007.2.13調(diào)試模式程序指針(dpc)7.2.13.1dpc寄存器定義dpc寄存器定義描述應(yīng)符合表17規(guī)定。表17dpc寄存器定義位07.2.13.2dpc更新規(guī)則更新規(guī)則應(yīng)符合表18規(guī)定。表18dpc更新規(guī)則7.3操作實例調(diào)試主機發(fā)起暫停、恢復(fù)、復(fù)位等讀寫寄存器,推薦的操作流程,相關(guān)實例見附錄B。T/BDT004—2024(資料性)配置實例A.1配置實例描述A.1.1使能從機輸出a)設(shè)置SHDWCFGR為0x5AA50400,將影子配置寄存器輸出使能位置1;b)設(shè)置CFGR為0x5AA50400,將影子配置寄存器輸出使能位更新至配置寄存器,配置寄存器其他位不變。A.1.2配置時基分頻系數(shù)為1分頻a)設(shè)置SHDWCFGR為0x5AA50000,設(shè)置影子配置寄存器TDIVCFG為0b00;b)設(shè)置CFGR為0x5AA50003,將影子配置寄存器TDIVCFG位域更新至配置寄存器,配置寄存器中其他位不變。A.1.3復(fù)位調(diào)試接口IO_FREE模式下,復(fù)位時序為總線拉低超過32倍的時基,且不管何種模式下,總線拉低超過256倍時基時,固定可將調(diào)試接口復(fù)位。復(fù)位后速度改為兩分頻模式,即普通模式2x。不同的硬件平臺調(diào)試接口時鐘可能不同,例如CH32V003默認為內(nèi)部高速時鐘24MHz的3分頻為其時鐘,即8MHz。T/BDT004—2024(資料性)操作實例B.1暫停微處理器該流程應(yīng)用于將微處理器暫停,步驟如表B.1所示。表B.1微處理器暫停流程值獲取調(diào)試模塊狀態(tài)信息,檢查rdata[9:8],如值為0b11,則表示處理器正常進入暫停狀態(tài),否則表示未進入暫停狀B.2恢復(fù)微處理器該流程應(yīng)用于將處于暫停的微處理器恢復(fù),步驟如表B.2所示。表B.2微處理器恢復(fù)流程值獲取調(diào)試模塊狀態(tài)信息,檢查rdata[17:16],如值為B.3復(fù)位微處理器B.3.1復(fù)位后微處理器重新運行如表B.3所示。表B.3微處理器復(fù)位并運行流程值獲取調(diào)試模塊狀態(tài)信息,檢查rdata[19:18],如值為獲取調(diào)試模塊狀態(tài)信息,檢查rdata[19:18],如值為B.3.2復(fù)位后微處理器立即暫停如表B.4所示。表B.4微處理器復(fù)位后繼續(xù)暫停流程值T/BDT004—2024值獲取調(diào)試模塊狀態(tài)信息,檢查rdata[19:18],如值為獲取調(diào)試模塊狀態(tài)信息,檢查rdata[19:18],如值為B.4復(fù)位調(diào)試模塊該流程應(yīng)用于復(fù)位調(diào)試模塊,詳細如表B.5所示。表B.5調(diào)試模塊復(fù)位流程值檢查rdata[1]是否為0b0,如果是則復(fù)位成功,否則復(fù)B.5讀/寫通用寄存器(GPR)B.5.1讀GPR,以x16為例如表B.6所示。表B.6讀GPR流程值檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令執(zhí)行;檢查rdata[10:8],即cmderr值是否為0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令執(zhí)行錯誤,根B.5.2寫GPR,以x16為例如表B.7所示。表B.7寫GPR流程值T/BDT004—2024值wdata檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令執(zhí)行;檢查rdata[10:8],即cmderr值是否為0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令執(zhí)行錯誤,根據(jù)B.6讀/寫控制和狀態(tài)寄存器(CSR)B.6.1讀CSR,以mepc為例,其CSR地址為0x341如表B.8所示。表B.8讀CSR流程值檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令執(zhí)行;檢查rdata[10:8],即cmderr值是否為0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令執(zhí)行錯誤,根據(jù)錯誤B.6.2寫CSR,以mepc為例,其CSR地址為0x341如表B.9所示。表B.9寫CSR流程值wdata設(shè)置抽象命令,將Data0數(shù)據(jù)拷貝至CSR0x341寄存檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令執(zhí)行;檢查rdata[10:8],即cmderr值是否為0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令執(zhí)行錯B.7讀/寫存儲器B.7.1描述微處理器的調(diào)試模塊可通過抽象命令訪問寄存器和存儲器,可利用抽象命令和預(yù)置progbufx指令的方式,對某存儲器地址進行讀寫。B.7.2存儲器讀T/BDT004—2024針對FLASH、RAM、MCU外設(shè)寄存器等,均可采用存儲器讀方式讀取數(shù)據(jù)。以地址0x20000000為例。如表B.10所示。表B.10讀存儲器流程值wcode將待執(zhí)行的指令機器碼wcode寫入progbuf0,例如設(shè)置抽象命令,將Data0數(shù)據(jù)拷貝至x5寄存器,并檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令讀出Data0數(shù)據(jù)rdata,即為0x20000000地址值。需要注意該方法操作了寄存器值,操作前應(yīng)保存相應(yīng)寄B.7.3存儲器寫B(tài).7.3.1針對RAM、MCU外設(shè)寄存器等可直接按照如下流程進行寫。B.7.3.2針對FLASH寫,需要按照不同芯片的FLASH控制器要求對其寄存器按步驟進行操作編程。如表B.11所示。表B.11寫存儲器流程值wcode將待執(zhí)行的指令機器碼wcode寫入progbuf0,例如wdata檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令執(zhí)行;檢查rdata[10:8],即cmderr值是否為0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令執(zhí)行錯wdata將待寫入數(shù)據(jù)wdata,寫入Data設(shè)置抽象命令,將Data0數(shù)據(jù)寫入x7寄存器,并設(shè)置抽象命令執(zhí)行完畢后自動執(zhí)行progbuT/BDT004—2024值檢查rdata[12],即查詢busy位是否為0b1,如果是,則表示抽象命令正在執(zhí)行,否則表示無抽象命令0b000,如果是,則抽象命令執(zhí)行正常,否則抽象命令B.8單步執(zhí)行通過設(shè)置調(diào)試下狀態(tài)和控制寄存器,可實現(xiàn)調(diào)試

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論