C54x的存储空间与CMD文件编写课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C54x的存储空间与CMD文件编写课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C54x 存储空间 CMD 文件 编写 课件
- 资源描述:
-
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非初始
展开阅读全文