C54x的存储空间与CMD文件编写课件.ppt

上传人(卖家):三亚风情 文档编号:3376731 上传时间:2022-08-25 格式:PPT 页数:64 大小:1.19MB
下载 相关 举报
C54x的存储空间与CMD文件编写课件.ppt_第1页
第1页 / 共64页
C54x的存储空间与CMD文件编写课件.ppt_第2页
第2页 / 共64页
C54x的存储空间与CMD文件编写课件.ppt_第3页
第3页 / 共64页
C54x的存储空间与CMD文件编写课件.ppt_第4页
第4页 / 共64页
C54x的存储空间与CMD文件编写课件.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、 程序寻址空间占程序寻址空间占64KW (可扩展到(可扩展到1MW)数据存储空间占数据存储空间占64KW I/O访问空间占访问空间占64KW第第6讲讲 C54x的存储器的存储器与与CMD文件编写文件编写存储器介质类型存储器介质类型存储器物理位置存储器物理位置存储器寻址空间存储器寻址空间片内存储器片内存储器片外存储器片外存储器片外片外I/O设备设备RAM(DARAM、SARAM)ROM Flash等等(接口类型)(接口类型)本讲包含以下章节的内容:2.5 C54x的存储空间结构4.5 链接器的使用8.4 DSP存储器和I/O扩展n异步接口存储器 SRAM、Flash、NvRAM 许多模拟数字I/

2、O也采用异步存储器接口形式n同步接口存储器 同步静态存储器:SBSRAM、ZBTSRAM 同步动态存储器:SDRAM 同步FIFO存储器按接口类型可分为:存储器类型存储器类型 TI DSP外部存储器接口存储器类型C2000C3xC54xC55xC62xC67xC64x异步存储器SBSRAMZBTSRAMSDRAM同步FIFO数据宽度16位32位16位8位16位32位8位16位32位8位16位32位64位只能与异步器件连接,如要与同步器件则需外加同步控制器异步、同步接口、FLASH接口(上电搬移程序)片内双访问片内双访问RAM(DARAM)DARAM是每个机器周期可被访问两次每个机器周期可被访问

3、两次的存储器。所有的C54x器件都具有片内DARAM,大小随不同型号而不同,它们主要被配置成数据存储器(可双访问操作)。但在需要时也可配置成程序存储器也可配置成程序存储器。片内片内DARAM配置成程序存储空间还是数据存储空间,配置成程序存储空间还是数据存储空间,要根据状态寄存器要根据状态寄存器PMST的的OVLY位的值判断决定。位的值判断决定。C54x 异步存储器异步存储器 片内单访问片内单访问RAM(SARAM)SARAM是每个机器周期仅能访问一次每个机器周期仅能访问一次的存储器。C54x器件中某些片种具有单访问RAM(SARAM),其大小随不同型号而不同,与这些SARAM相关联的地址可用于

4、程序存储器和/或数据存储器,。根据器件不同,可由软件或硬件配置为片内的或片外的SARAM。当配置为外部存储器时,这些地址可用于片外数据和程序存储器;当配置为内部SARAM时,程序代码可从片外ROM引导装入到片内SARAM中,并且一旦代码装入到片内SARAM中,它就可以被全速执行。由于SARAM能被分配到程序和/或数据存储器空间,因此与DARAM相比,SARAM允许更加灵活的地址分配。工厂掩模的片内工厂掩模的片内ROM C54x器件中大部分片种具有片内掩模型ROM来作为程序存储器,例如C5402配置4K字 ROM,C5416则配置16K字 ROM等。复位(复位(reset)时驱动)时驱动 引脚为

5、低即可选中引脚为低即可选中该该ROM。若不选该ROM,器件将从片外存储器开始启动执行。/MP MC 闪烁存储器闪烁存储器flash C2000器件中一些片种具有片内flash(C54x一般不具有),它是电可擦除、可编程、非易失性(可长久保存)的存储器。每块flash都有一组控制寄存器,用来擦除、编程和测试该flash块。这些flash块块可以在复位期间驱动可以在复位期间驱动 引脚为低来选择引脚为低来选择。若不选flash,器件将从片外的存储器开始执行。有的器件片内FLASH带有加密位加密位,如LF/LC240XA系列就带有加密位。/MP MC C54x DSP的存储器空间可以分为三个单独选择的

6、空间,即64K字的程序空间、64K字的数据空间和64K字的I/O空间。一些C54x DSP芯片采用了分页扩展方法可访问8M的程序空间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映射外设都可以驻留在片内或者片外。存储器地址空间分配存储器地址空间分配 C54x DSP具有三个CPU状态寄存器位,影响存储器的配置,这三个状态位是处理器模式状态寄存器(PMST)中的:、OVLY和DROM。MCMP/中断失量(片内)中断失量(外部)MP/MC=1 微处理器模式 MP/MC=0 微计算机模式 注意:若用户需要运行注意:若用户需要运行BOOT程序应选用微计算机模式程序应选用微计算

7、机模式TMS320VC5402存储器映射图 F000hHPIRAM1000h17FFh (1)位:若 =0,则片内ROM映射到程序存储空间;若 =1,则片内ROM不映射到程序存储空间。(2)OVLY位:若OVLY=1,则片内RAM映射到程序和数据存储空间;若OVLY=0,则片内RAM只映射到数据存储空间。(3)DROM位:若DROM=1,则部分片内ROM映射到数据存储空间;若DROM=0,则片内ROM不映射到数据存储空间。MCMP/MCMP/MCMP/注意:注意:DROM的用法与的用法与MPMC 的用法无关。的用法无关。程序存储空间用来存放要执行的指令和执行中所需的系数表。C5402共有20条

8、地址线,可寻址1M字的外部程序存储器。它的内部ROM和DARAM可通过软件映射到程序空间。当存储单元映射到程序空间时,CPU可自动地按程序存储器对它们进行寻址。如果程序地址生成器(PAGEN)产生的地址处于外部存储器,CPU可自动地对外部存储器寻址。1、程序存储器程序存储器1.程序存储空间的配置程序存储空间的配置(1)MP/MC控制位用来决定程序存储空间是否使用内部存储器。当MP/MC=0时,称为微计算机模式。4000HEFFFH程序存储空间定义为外部存储器;F000HFEFFH程序存储空间定义为内部ROM;FF00HFFFFH程序存储空间定义为内部存储器。当MP/MC=1时,称为微处理器模式

9、。4000HFFFFH程序存储空间定义为外部存储器。程序存储空间可通过PMST寄存器的状态位MP/MC和OVLY来设置内部存储器的映射地址。(2)OVLY控制位用来决定程序存储空间是否使用内部RAM。当OVLY=0时,程序存储空间不使用内部RAM。0000H3FFFH全部定义外部程序存储,此时内部RAM只作数据存储器。当OVLY=1时,程序存储空间使用内部RAM。内部RAM同时被映射到程序存储空间和数据存储空间。0000H007FH保留,程序无法占用;0080H3FFFH定义为内部DARAM。2.程序存储空间的分页扩展程序存储空间的分页扩展 在C54x系列芯片中,有些芯片采用分页扩展的方法,使

10、程序存储空间可扩展到1M8M。TMS320VC5402中的程序空间有20根外部程序地址总线,可扩展到1M字,分成16页,每页64K字。TMS320VC5402的扩展程序存储器映射 使用专门的指令来访问这些扩展的程序空间:FBD、FBACCD、FCALAD、FCALLD、FRETD、FRETED若处于MC模式,则内部ROM只能在第0页被寻址。不能映射到扩展程序空间的其它页。如果OVLY=1,程序空间使用内部RAM,此时,不管XPC为何值,所有低32K字(x0000 x7FFFh)都被映射到内部RAM(00007FFFh)中。因此为了访问全部1M字,必须设置OVLY=0(此时程序代码都存储于外部存

11、储器中)扩展的程序空间扩展的程序空间OVLY=1时为片内时为片内RAM;OVLY=0时为片外时为片外只能为只能为片外片外 3片内片内ROM的组织及代码内容的组织及代码内容 C54x DSP提供了各种容量的ROM(2 KB、4 KB、8 KB、28 KB或48 KB)。容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2 KB ROM中的内容是由TI公司定义的。这2 KB程序空间(F800hFFFFh)中包含如下内容:(1)自举加载程序。从串行口、外部存储器、I/O端口或者主机接口自举加载。(2)256B律扩展表。(3)256B A律扩展表。(4)256B 正弦函数值查找表。(5)128

12、B 中断向量表。TMS320C54x片内高2K字地址ROM的分块图 F000HF7FFH高2K字由TI定义低2K字由用户定义对于VC5402,为4K字的内部ROM用户代码用户代码DSP内核DSP外部存储器接口数据存储器空间程序存储器空间I/O空间地址总线数据总线I/O选择数据选择程序选择R/W选择DSISPS程序存储器扩展电路图2.2 4 程序 存储 器的 扩展 TMS320C54x的数据存储器的容量最多可64K字。除了单寻址和双寻址RAM(SARAM和DARAM)外,TMS320C54x还可以通过软件将片内ROM映像为数据存储空间。当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM

13、或数据ROM(当ROM设为数据存储器时)寻址。当数据存储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。2、数据存储器数据存储器 1数据存储器的可配置性数据存储器的可配置性 数据存储器可以驻留在片内或者片外。片内DARAM都是数据存储空间。对于某些TMS320C54x,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映像到数据库存储空间。这一部分片内ROM既可以在数据库空间使能(DROM=1),也可以在程序空间使能(MP/=0)。复位时,处理器将DROM位清0。MC 对数据ROM的单操作数寻址,包括32位长字操作数寻址,单个周期就可完成。而在双

14、操作数寻址时,如果操作数驻留在同一块内,则要2个周期;若操作数驻留在不同块内,则只需一个周期就可以了。2片内片内RAM的组织的组织 为了提高处理器的性能,片内RAM也可细分成若干块。分块组织可以让用户在同一个周期内从同一块DARAM中取出两个操作数,并将数据写入到另一块DARAM中。所有C54x DSP上的DARAM的起始1 KB块包括程序存储器映射CPU和外设寄存器,32B暂存存储器DARAM和896B DARAM。C54x的存储器映射寄存器的存储器映射寄存器MMR nC54x DSP中的一些寄存器不单独分配寄存器空间,而是使用数据存储空间数据存储空间映射的办法寻址,因此其访问也按存储器来访

15、问。n寻址存储器映像CPU寄存器,不需要插入等待周期。n片内外设寄存器用于对片内外设的控制和存放数据,对它们寻址需要2个机器周期。C54x DSP CPU寄存器(在数据存储器的第寄存器(在数据存储器的第0页)页)名称 地址 说明 IMR 0 中断屏蔽 IFR 1 中断标志 ST0 6 状态 0 ST1 7 状态 1 AL 8 累加器 A 低 16 位 AH 9 累加器 A 高 16 位 AG AH 累加器 A 最高 8 位 BL BH 累加器 B 低 16 位 BH CH 累加器 B 高 16 位 BG DH 累加器 B 最高 8 位 TREG EH 暂存器 TRN FH 转换寄存器 AR07

16、 10H17H 辅助寄存器 SP 18H 堆栈指针 BK 19H 循环缓冲大小 BRC 1AH 指令块重复计算 RSA 1BH 指令块重复起始地址 REA 1CH 指令块重复终止地址 PMST 1DH 处理器模式 XPC 1EH 程序计数器扩展寄存器(仅 C548、C549、C5402、C5410 和 C5420)001E1Fh 保留 C54x DSP 片内外设寄存器(在数据存储器的第片内外设寄存器(在数据存储器的第0页)页)C54x DSP 片内外设寄存器(在数据存储器的第片内外设寄存器(在数据存储器的第0页)页)C54x DSP 片内外设寄存器(在数据存储器的第片内外设寄存器(在数据存储器

17、的第0页)页)TMS320C54x除了程序和数据存储器空间外,还有一个I/O存储器空间。I/O是一个64KB的地址空间(0000HFFFFH),都在片外。可以用两条指令(输入指令PORTR和输出指令PORTW)对I/O空间寻址。可以扩展外部I/O,外部I/O必须使用缓冲或锁存电路,配合外部I/O读写控制构成外部I/O的控制电路。3、I/O空间空间I/O端口的扩展端口的扩展 图2.2 8 I/O端 口 的 扩 展 数据采集ISA14+OED0D7D0D7Analogin模拟信号输入DSPTLC5510A/D STM#1000h,AR3;AR3指向目的地址 STM#0063h,AR4;AR4为采集

18、的长度 LOOP:PORTR 4000H,*AR3+BANZ LOOP,*AR4-#pragma DATA_SECTION(buf,”adsect”)int buf100;ioport unsigned port4000;int i;for(i=0;iVECTPAGE0.text PRAMPAGE0.data PRAMPAGE0.bss DRAMPAGE1.stackSTACKPAGE1DSP汇编语言:SECTION伪指令n5个SECTION伪指令 .bsssymbol,size in word .text .data .sect“section name”symbol .usect“sect

19、ion name”,size in word其中symbol相当于变量名,size in word保留的存储单元长度n初试化段和未初试化段.bss和.usect为未初试化段,用于为变量、堆栈等保留一块存储空间.text、.data和.sect为初试化段,用于存放代码块或有初值的数据块n系统定义的段和用户定义的段.text、.data和.bss为系统已定义好的段名 用户根据需要用.sect和.usect伪指令来定义段名,创建相应的“段”n汇编程序中,程序员用“段”伪指令来组织程序的代码和数据段定义伪指令n初始化段:初始化段:.text .data .sect “section name”n非初始

20、化段非初始化段 .bss symbol,size in wordssymbol.usect“section name”,size in words.textn.textn定义代码段定义代码段,用于代码段开始前,通常,用于代码段开始前,通常.text段用来段用来存放可执行代码存放可执行代码。.text是默认段,在是默认段,在汇编一开始如不指定其它段(汇编一开始如不指定其它段(.data段或段或.sect段),则自动汇编到段),则自动汇编到.text段。段。举例:举例:.textAdcproc:clrcsxm;从此段开始处放置一个子程序Adcprog.datan.datan定义数据段定义数据段,用

21、于数据段开始前,通,用于数据段开始前,通常常.data段用来存放数据表或初始化后的段用来存放数据表或初始化后的变量变量。n举例:举例:.datasym.word 0abcdh,01234h,9876;从此段开始处定义三个常数对应的C语言表示方法为:int sym3=0 x0abcd,0 x1234,9876;.sectn.sect“section name”n定义自定义命名段(已初始化段)定义自定义命名段(已初始化段),给其,给其后的段取名以便调用。注意:后的段取名以便调用。注意:段名必须用段名必须用引号引起引号引起。buf.sect“var_defs”.word 17,18;Start as

22、sembling into a named,initialized;section,var_defs对应的C语言表示方法为:#pragma DATA_SECTION(buf,”var_defs”)int buf2=17,18;.bssn.bss symbol,size in wordsn定义非初始化变量空间定义非初始化变量空间,为未初始化变量,为未初始化变量在在RAM中保留若干字空间中保留若干字空间n举例:举例:.bss sym,19 ;Reserve space in.bss对应的C语言表示方法为:int sym19;.usectnsymbol.usect“section name”,siz

23、e in wordsn定义自定义命名段(未初始化段)定义自定义命名段(未初始化段),为为该名称的段保留若干字空间。该名称的段保留若干字空间。n举例:举例:usym.usect”xy”,20;Reserve space in xy对应的C语言表示方法为:#pragma DATA_SECTION(usym,”xy”)int usym20;n段的定位:在编程时,“段”没有绝对定位,每个“段”都认为是从0地址开始的一块连续的储存空间,所以软件开发人员只需要将不同代码块和数据块放到不同的“段”中,而无需关心这些“段”究竟定位于系统何处。n重定位:由于所有的“段”都是从0地址开始,所以程序编译完成后无法直

24、接运行的,要让程序正确运行,必须对“段”进行重新定位,这个工作由链接器完成n优点:n便于程序的模块化编程;n便于工程化管理:可将软件开发人员和硬件开发人员基本上分离开段的定位段的定位DSP汇编语言:汇编器对“段”的处理n汇编器第一次遇到新“段”时,将该“段”的段程序计数器(SPC)置为0,并将随后的程序代码或数据顺序编译进该“段”中n汇编器遇到同名同名“段段”时,将它们合并合并,然后将随后的程序代码或数据顺序编译进该“段”中n当汇编器遇到.text、.data和和.sect伪指令时,汇编器停止将随后的程序代码或数据顺序编译进当前“段”中,而是顺序编译进遇到的顺序编译进遇到的“段段”中中n当汇编

25、器遇到.bss和和.usect伪指令时,汇编器并不结束当前“段”,而只是简单地暂时脱离当前“段”,随后的程序代码或数据仍将顺序编译进当顺序编译进当前前“段段”中。n.bss和.usect伪指令,可以出现在.text、.data或.sect“段”中的任何位置,它们不会影响这些“段”的内容DSP汇编语言:链接器对“段”的处理n链接器对“段”的处理有2个方面:将输入“段”组合产生输出“段”v 将多个.obj文件中的同名“段”合并一个输出“段”v 也可将不同名的“段”合并产生一个输出“段”将输出“段”定位到实际的存储空间中v MEMORY命令:用于扫描系统实际的硬件资源v SECTIONS命令:用于描

26、述程序中定义了哪些“段”,这些“段”是否需要合并?如何合并?合并产生的输出“段”定位到实际硬件资源的何处?n链接器通过.cmd文件来获得上述这些信息n链接器还将检查各输出“段”是否重叠、是否超界,避免了人工检查边界带来的隐患链接器对段的处理链接器对段的处理数据采集ISA14+OED0D7D0D7Analogin模拟信号输入DSPTLC5510A/Dbuf .usect “adsect”,100 STM#buf,AR3 ;AR3指向目的地址 STM#0063h,AR4;AR4为采集的长度 LOOP:PORTR 4000H,*AR3+BANZ LOOP,*AR4-#pragma DATA_SECT

27、ION(buf,”adsect”)int buf100;ioport unsigned port4000;int i;for(i=0;i0 x1000 page 1run属性:规定输出段将被运行在存储器中的位置。属性:规定输出段将被运行在存储器中的位置。Possible propertiesnwhichdefineswhereinmemorythesectionistobeloadedSyntax:load=allocationorallocationor allocation run =allocationor runallocationLoad&Run allocation是是MEMORY

28、所定义所定义的范围内的地址,的范围内的地址,包括包括ROM、RAM、实际地址值(实际地址值(16位位常数)等常数)等load属性属性:规定输出段将被装载在存储器中的位置。规定输出段将被装载在存储器中的位置。当运行地址与加载地址当运行地址与加载地址一致时,可省掉一致时,可省掉run,直接写成直接写成allocation中断失量(片内)MP/MC=0 微计算机模式 利用利用CMD文件根据实际硬件资源定位文件根据实际硬件资源定位保留保留片内片内DARAM外部外部OVLY=1DROM=0将程序代码、系数表放将程序代码、系数表放在在EXPRAM处(即片处(即片外外256KW的的RAM存储存储器器CY7C

29、1041中)中)将未初始化变量存放将未初始化变量存放在在EXDRAM处(即片处(即片外外32KW的的RAM存储存储器器IS61C3216中)中)107Fhvectors.data1200h120Fh.text5000h5FFFhSTACK1500h26FFh.bss5000h5FFFhSECTIONS .text:EXPRAM PAGE 0 .data:DARAM2 PAGE 0 vectors:DARAM1 PAGE 0 STACK:DARAM3 PAGE 1 .bss:EXDRAM PAGE 1DARAM2 DARAM1 DARAM3EXDRAMEXPRAM-o example.out-m

30、 example.map-e startMEMORYPAGE 0:/*PM Program memory*/DARAM1:org=0080h,len=1000h DARAM2:org=1200h,len=10h EXPRAM:org=5000h,len=1000h PAGE 1:DARAM3:org=1500h,len=1200h EXDRAM:org=5000h,len=1000h SECTIONS .text:EXPRAM PAGE 0 .data:DARAM2 PAGE 0 vectors:DARAM1 PAGE 0 STACK:DARAM3 PAGE 1 .bss:EXDRAM PAG

31、E 1*example.asm *stack .usect STACK,10h CMD文件编写举例文件编写举例example.asmexample.asm程序清单程序清单*example.asm y=a1*x1+a2*x2+a3*x3+a4*x4 *.title example.asmstack .usect STACK,10h ;allocate space for stack .bss x,4 ;allocate 9 word for variables .bss a,4 .bss y,1 .def start .data table:.word 1,2,3,4 ;data follows

32、.word 8,6,4,2示例程序:示例程序:.text ;code follows.start:STM#stack+10h,SP ;set stack pointer STM#table,AR1 ;AR1 point to table STM#x,AR2 ;AR2 point to x STM#7,AR0 LD#0,A loop:LD *AR1+,A ;move 8 values STL A,*AR2+;from program memory BANZ loop,*AR0-;into data memory CALL SUM ;call SUM subroutine end:B endSUM

33、:STM#a,AR3 ;The subroutine ;implement STM#x,AR4 ;multiply-;accumulate RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,y RET .end中断向量文件中断向量文件vectors.asmvectors.asm*vectors.asm Reset vector*.title vectors.asm .ref start .sect .vectors B start .endvectors.objexample.obj-o example.out-m example.map-e startMEMORY PAGE

34、 0:EPROM:org=0E000h,len=100h VECS:org=0FF80h,len=80h PAGE 1:SPRAM:org=0060h,len=20h DARAM:org=0080h,len=100h SECTIONS .text:EPROM PAGE 0 .bss:SPRAM PAGE 1 .data:DARAM PAGE 1 STACK:DARAM PAGE 1 vectors:VECS PAGE 0链接命令文件链接命令文件 example.cmd 中断失量(片内)中断失量(外部)MP/MC=1 微处理器模式 MP/MC=0 微计算机模式 EPROME000hE0FFhEP

35、ROME000hE0FFhSPRAMDARAM017Fh利用利用CMD文件配置存储器空间文件配置存储器空间VECSVECS映象文件(映象文件(.map.map)n.map文件给出了存储器的配置情况文件给出了存储器的配置情况n程序段、数据段、堆栈段以及向量段在存储器程序段、数据段、堆栈段以及向量段在存储器中的定位表中的定位表n全局符号在存储器中的位置全局符号在存储器中的位置映象文件举例映象文件举例*TMS320C54x COFF Linker Version 1.10*Tue May 20 11:13:05 2002OUTPUT FILE NAME:ENTRY POINT SYMBOL:star

36、t address:0000e000MEMORY CONFIGURATION name origin length attributes fill -PAGE 0:EPROM 0000e000 000000100 RWIX PAGE 1:SPRAM 00000060 000000020 RWIX DARAM 00000080 000000100 RWIXSECTION ALLOCATION MAPoutput attributes/section page origin length input sections-.text 0 0000e000 0000001a 0000e000 00000

37、01a example.obj(.text).bss 1 00000060 00000009 UNINITIALIZED 00000060 00000009 example.obj(.bss).data 1 00000080 00000008 00000080 00000008 example.obj(.data)output attributes/section page origin length input sections-STACK 1 00000088 00000010 UNINITIALIZED 00000088 00000010 example.obj(STACK).xref

38、0 00000000 00000082 COPY SECTION 00000000 00000082 example.obj(.xref)GLOBAL SYMBOLSaddress name address name-00000060.bss 00000060.bss00000080.data 00000069 end0000e000.text 00000080.data00000088 edata 00000088 edata00000069 end 0000e000.text0000e01a etext 0000e000 start0000e000 start 0000e01a etext7 symbols

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C54x的存储空间与CMD文件编写课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|