存储空间的分配问题.docx
- 文档编号:397942
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:16
- 大小:185.64KB
存储空间的分配问题.docx
《存储空间的分配问题.docx》由会员分享,可在线阅读,更多相关《存储空间的分配问题.docx(16页珍藏版)》请在冰豆网上搜索。
存储空间的分配问题
在DSP的开发过程中,开发者难免会遇到DSP芯片内部存储器和片外扩展存储器的配置等问题。
本文以TMS320C54x系列DSP为例,讨论DSP存储空间的分配问题。
存储器空间
'C54x系列DSP存储器分为三个独立选择的空间—程序、数据和I/O,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAM、ROM或EPROM等来构成;数据存储器存放指令执行中产生的数据,可使用片内或片外的RAM和ROM来构成。
I/O存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。
这三个空间的寻址范围取决于DSP芯片地址线数目。
例如,'C54x系列 DSP 从'C548开始,芯片有23根地址线,具有8M字节存储空间寻址能力。
'C54x通过包含在处理器工作方式的状态寄存器(PMST)中的3个状态位,选择片内存储器作为程序空间或数据空间。
这3个状态位是:
(1)MP/MC位。
MP/MC=0,则片内ROM安排到程序空间;MP/MC=1,则片内ROM不安排到程序空间。
(2)OVLY位。
OVLY=1,则片内RAM安排到程序和数据空间;OVLY=0,则片内RAM只安排到数据存储空间。
(3)DROM位。
当DROM=1,则部分片内ROM安排到数据空间;DROM=0,则片内ROM不安排到数据空间。
程序设计者可根据不同的需求,相应的配置这3个位,使系统的存储空间满足应用要求。
同时,为了扩展'C54x系列DSP的寻址空间,还增加了一个额外的存储器映像寄存器—程序计数器扩展寄存器XPC,以及6条寻址扩展程序空间的指令。
以TMS320C5410为例,它的程序空间分成128页面,每页64K字。
该64K字程序空间分为两部分:
一部分是公共的32K字,另一部分是各自独立的32K字。
公共存储器为所有页面共享,每个页面独立的32K字存储器只能按指定的页面号寻址,这个页面号由XPC寄存器设定。
'C54x系列的程序空间、数据空间和I/O空间的配置方式图略(详见《电子产品世界》2003.1)。
'C5410片内有64Kx16bit的RAM,16Kx16bit的ROM,其中64K RAM分为4x2K字的双寻址RAM(DARAM)和7x8K字的单寻址RAM(SARAM)。
编写cmd文件
TI 公司新的汇编器和链接器创建的目标文件采用一种 COFF(通用目标文件格式),该目标文件格式更利于模块化编程, 为管理代码段和目标系统存储器提供了强有力和灵活的编程方法。
读者可以通过编写链接命令文件 (.cmd 文件)将链接信息放在一个文件中,以便在多次使用同样的链接信息时调用。
在命令文件中使用两个十分有用的伪指令MEMORY 和 SECTIONS,来指定实际应用中的存储器结构和进行地址的映射。
Memory 用来指定目标存储器结构,SECTIONS用来控制段的构成与地址分配。
需要说明的是:
(1)COFF文件格式在用汇编语言或高级语言编程时使用基于代码块和数据块的概念, 而不是一条条命令或一个个数据。
(2)代码生成工具中,除编译器和链接器外,TI还提供了可将C语言编译为汇编语言程序的C编译器。
查看段的分配及使用情况
在cmd文件中包括各种各样的链接器选项,每种选项代表不同的含义。
其中,使用-m选项可以创建一个扩展名为.map的链接器(存储器)分配映射文件。
其语法为
-m filename (文件名)
链接器的map文件描述以下内容:
*存储器结构
*输入和输出段的定位
*在重新定位后外部符号的地址
通过map文件可以查看各段的分配情况,包括段的起始地址,使用的字节数等。
配合cmd文件的使用,可确定各个段的使用情况,从而保证程序的正常运行和最小的空间使用。
Visual Linker可视化链接器
TI公司出品的 DSP软件开发环境 CCS还提供了一种可视化生成存储器配置文件的工具:
Visual Linker可视化链接器。
如果程序原来包含了一个链接器命令文件(.cmd文件),则当创建可视化链接文件的时候,原来cmd文件中的内存配置仍然会被使用。
如果读者想修改内存配置,双击.rcp文件就会在CCS中打开可视化链接器的图形界面,调整每个内存模块的大小,直到认为合适,然后只需要重新连编,程序即可生成新的输出文件。
重复上面的步骤,直到出现满意的结果。
结语
不同的DSP芯片内集成的存储器大小各异,但其配置方式是类似的。
读者可通过查阅DSP芯片的数据手册,了解芯片内部存储空间大小。
在实际的配置过程中,可根据开发程序的实际代码,正确的划分程序和数据空间中各段的大小,使其空间配置达到最优。
存储器空间
'C54x系列DSP存储器分为三个独立选择的空间—程序、数据和I/O,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAM、ROM或EPROM等来构成;数据存储器存放指令执行中产生的数据,可使用片内或片外的RAM和ROM来构成。
I/O存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。
这三个空间的寻址范围取决于DSP芯片地址线数目。
例如,'C54x系列DSP从'C548开始,芯片有23根地址线,具有8M字节存储空间寻址能力。
'C54x通过包含在处理器工作方式的状态寄存器(PMST)中的3个状态位,选择片内存储器作为程序空间或数据空间。
这3个状态位是:
(1)MP/MC位。
MP/MC=0,则片内ROM安排到程序空间;MP/MC=1,则片内ROM不安排到程序空间。
(2)OVLY位。
OVLY=1,则片内RAM安排到程序和数据空间;OVLY=0,则片内RAM只安排到数据存储空间。
(3)DROM位。
当DROM=1,则部分片内ROM安排到数据空间;DROM=0,则片内ROM不安排到数据空间。
程序设计者可根据不同的需求,相应的配置这3个位,使系统的存储空间满足应用要求。
同时,为了扩展'C54x系列DSP的寻址空间,还增加了一个额外的存储器映像寄存器—程序计数器扩展寄存器XPC,以及6条寻址扩展程序空间的指令。
以TMS320C5410为例,它的程序空间分成128页面,每页64K字。
该64K字程序空间分为两部分:
一部分是公共的32K字,另一部分是各自独立的32K字。
公共存储器为所有页面共享,每个页面独立的32K字存储器只能按指定的页面号寻址,这个页面号由XPC寄存器设定。
'C54x系列的程序空间、数据空间和I/O空间的配置方式图略(详见《电子产品世界》2003.1)。
'C5410片内有64Kx16bit的RAM,16Kx16bit的ROM,其中64KRAM分为4x2K字的双寻址RAM(DARAM)和7x8K字的单寻址RAM(SARAM)。
编写cmd文件
TI公司新的汇编器和链接器创建的目标文件采用一种COFF(通用目标文件格式),该目标文件格式更利于模块化编程,为管理代码段和目标系统存储器提供了强有力和灵活的编程方法。
读者可以通过编写链接命令文件(.cmd文件)将链接信息放在一个文件中,以便在多次使用同样的链接信息时调用。
在命令文件中使用两个十分有用的伪指令MEMORY和SECTIONS,来指定实际应用中的存储器结构和进行地址的映射。
Memory用来指定目标存储器结构,SECTIONS用来控制段的构成与地址分配。
需要说明的是:
(1)COFF文件格式在用汇编语言或高级语言编程时使用基于代码块和数据块的概念,而不是一条条命令或一个个数据。
(2)代码生成工具中,除编译器和链接器外,TI还提供了可将C语言编译为汇编语言程序的C编译器。
查看段的分配及使用情况
在cmd文件中包括各种各样的链接器选项,每种选项代表不同的含义。
其中,使用-m选项可以创建一个扩展名为.map的链接器(存储器)分配映射文件。
其语法为
-mfilename(文件名)
链接器的map文件描述以下内容:
*存储器结构
*输入和输出段的定位
*在重新定位后外部符号的地址
通过map文件可以查看各段的分配情况,包括段的起始地址,使用的字节数等。
配合cmd文件的使用,可确定各个段的使用情况,从而保证程序的正常运行和最小的空间使用。
VisualLinker可视化链接器
TI公司出品的DSP软件开发环境CCS还提供了一种可视化生成存储器配置文件的工具:
VisualLinker可视化链接器。
如果程序原来包含了一个链接器命令文件(.cmd文件),则当创建可视化链接文件的时候,原来cmd文件中的内存配置仍然会被使用。
如果读者想修改内存配置,双击.rcp文件就会在CCS中打开可视化链接器的图形界面,调整每个内存模块的大小,直到认为合适,然后只需要重新连编,程序即可生成新的输出文件。
重复上面的步骤,直到出现满意的结果。
结语
不同的DSP芯片内集成的存储器大小各异,但其配置方式是类似的。
读者可通过查阅DSP芯片的数据手册,了解芯片内部存储空间大小。
在实际的配置过程中,可根据开发程序的实际代码,正确的划分程序和数据空间中各段的大小,使其空间配置达到最优。
通过SPI接口协议实现DSP与其它设备的通信2006-5-2110:
07:
05
摘要:
介绍了SPI通信协议,给出了将TI公司生产的TMS320C5402DSP用于SPI协议通信的串口配置方法和接口电路设计,同时给出了串口McBSP的配置程序。
关键词:
多通道缓冲串行口McBSPTMS320C5402μPD780308SPIDSP
1引言
随着信息技术革命的深入和计算机技术的飞速发展,DSP技术也正以极快的速度被应用到科技和国民经济的各信领域。
在很多工程开发设计中,由于要求实现单片DSP与单片DSP、多片DSP芯片以及及其它处理芯片之间的通信,因此,怎样更高效、更便捷的实现这些通信,已成为广大DSP应用者首先要解决的一个问题。
本文根据笔者在工程应用和调试方面用TI的DSPTMS320C5402与NEC的μPD780308单片机进行通信的经验,介绍并讨论了将TMS320C5402DSP的多通道缓冲串行口McBSP(Multi-channelBufferedSerialPort)配置为SPI模式(即时钟停止模式),从而实现DSP与其它单片处理器之间的通信设计方法同时给出了实现方法的部分程序代码。
2多通道缓冲串行口McBSP
多通道缓冲串行口McBSP的功能是提供器件内外数据的串行交换。
同以前的串口相比,McBSP串口具有相当大的灵活性。
表1给出了有关TMS320C5402的McBSP管脚说明。
其中串口接收、发送时钟和同步帧信号既可由外部设备提供,又可由内部时钟发生器提供,从而大大的提高了通信的灵活性。
表1TMS320C5402的有关McBSP管脚说明
管脚说明
说明
DR
数据输入端
DX
数据输出端
CLKR
接收数据位时钟
CLKX
发送数据位时钟
FSR
接收数据帧时钟
FSX
发送数据帧时钟
CLKS
外部提供的采样率发生器时钟源
3SPI协议中的McBSP时钟停止模式
SPI协议是以主从方式工作的,这种模式通常有一个主设备和一个或多个从设备,其接口包括以下四种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储空间 分配 问题
![提示](https://static.bdocx.com/images/bang_tan.gif)