dsp芯片的存储资源管理

dsp芯片的存储资源管理

ID:36199425

大小:374.87 KB

页数:21页

时间:2019-05-07

dsp芯片的存储资源管理_第1页
dsp芯片的存储资源管理_第2页
dsp芯片的存储资源管理_第3页
dsp芯片的存储资源管理_第4页
dsp芯片的存储资源管理_第5页
资源描述:

《dsp芯片的存储资源管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DSP芯片一般采用哈佛结构,这种结构将程序区、数据区和I/O区分开,每个存储区独立编址。为了提高运算速度,DSP芯片内部提供了一定数量的存储器,用于存放程序和数据。存储器存储器主要用于存储程序、数据、变量等片内存储器,片外存储器。片内存储器主要有ROM、RAM和flash等类型。不同类型的DSP芯片提供的片内存储器的类型和数量不同。ROM通用的DSP芯片中的ROM一般都包括引导装载(Bootloader)程序和中断矢量表。TMS320C54系列还有若干常用的数据表格,如正弦函数表、语音PCM编码用的μ/律扩展数据表有些芯片内部有较大空间的ROM,ROM空间的一部分还可以映射

2、到数据空间和程序空间,可用于用户程序掩膜,此时的ROM称为定制ROM。用户可将测试通过的最终程序和数据以目标文件的格式提交给芯片生产公司,有公司将其转化为相应的代码并编程写入ROM,一旦写入ROM,则不能更改。RAMDSP芯片中RAM有SARAM和DARAM两种。SARAM称为单访问RAM,即每个SARAM在1个机器周期内只能被访问1次,也就是说,每个机器周期只能进行1次读或写操作。DARAM称为双访问存储器,每个DARAM在1个机器周期内能被访问两次,因此在同一个周期内,CPU和外设(如BSP和HPI)可以对DARAM进行读和写操作。RAM可以作为数据区或程序区使用,有些

3、RAM空间还可以同时映射到程序和数据空间。Flash有些DSP芯片提供有较大空间的Flash存储器(如TMS320F280x/F281x、TMS320LF240x),便于用户直接将程序和固定数据写入到Flash中运行。片内Flash存储器被映射到程序存储器。一般带有Flash的DSP芯片都提供加密功能,加密后,外部不能读出Flash中的内容。外部扩展存储器片内没有Flash的DSP芯片,一般都提供外部扩展总线,便于用户扩展外部存储空间。外部扩展存储器常用于存放用户程序。Flash用户程序一般在加电开机后有DSP芯片内部ROM中的Bootloader将存放在外部存储器中的用户

4、程序引导加载到片内RAM高速运行。如果片内RAM空间不够大,也可扩展外部RAM。如果仅用于存放用户程序,由于还要Bootloader引导加载,因此存储器宽度是8位或16位;而如果用户程序需要在外部存储器中运行,则扩展存储器的数据宽度需与指令宽度相同(如定点芯片的16位、浮点芯片的32位)。即使外部存储器的速度足够快,也比不上程序在片内的运行速度。因此,系统设计是应尽可能选择片内RAM较大的DSP芯片,并将程序全部放在片内运行。DSP芯片中的代码存储结构通用目标文件格式(CommonObjectFileFormat)是一种流行的二进制可执行文件格式,二进制可执行文件包括库文件

5、(lib),目标文件(obj)最终可执行文件(out)。,现今PC机上的Windows95和NT4.0以后的操作系统的二进制文件格式(PE)就是在COFF格式基础上的进一步扩充。DSP芯片的程序代码一般采用模块化结构存储。模块化结构的特点是结构清晰,便于程序代码的管理、分配与移植。为了实现这种结构,TI公司的编译器和链接器所创建的目标文件采用一种称为COFF(CommonObjectFileFormat)的目标文件格式。DSP芯片中的代码存储结构采用COFF格式,有利于模块化编程,并且为管理程序代码和系统存储空间提供灵活的方法。基于COFF格式编写汇编程序或C程序时,不必为

6、程序代码或变量指定目标地址,为程序编写、程序移植、程序升级提供了极大的方便。COFF文件格式的核心是使程序员在编写DSP程序时基于代码块和数据块的概念,而不是一条条指令或一个个数据。COFF文件格式将代码块和数据块称为section,一个块(section)就是最终在存储器映象中占据连续空间的一段代码或数据。编译器/汇编器和链接器都提供了有关的命令来创建块和对块进行处理,编译器/汇编器创建的块得名称有些是已经定义好的,程序员也可自己定义块名。目标文件中的每一个块都是相互独立的,一般地,COFF目标文件应该包括三个默认的块:.text块通常包括可执行代码.data块通常包括已

7、经初始化的变量;.bss块通常为未初始化的变量保留空间汇编器和链接器允许编程者建立和链接自定义的块,这些与.text.data.bss相似。所有的块分为两类:已初始化和未初始化的。已初始化块包括程序代码和数据.text汇编指令代码.data常数数据(比如对变量的初始化数据).sect用户自定义的已初始化段.asect类似.sect,多了绝对地址定位功能,一般不用未初始化块是为未初始化的数据在存储器映像中保留空间,.bss和用.usect汇编命令创建的块属于这一类。汇编器提供了若干将各种代码和数据段与相应的块联系的命

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。