DSP芯片的存储资源管理ppt课件_第1页
DSP芯片的存储资源管理ppt课件_第2页
DSP芯片的存储资源管理ppt课件_第3页
DSP芯片的存储资源管理ppt课件_第4页
DSP芯片的存储资源管理ppt课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、DSP芯片提供有较大空间的Flash存储器如TMS320F280 x/F281x、TMS320LF240 x),便于用户直接将程序和固定数据写入到Flash中运行。片内Flash存储器被映射到程序存储器。一般带有Flash的DSP芯片都提供加密功能,加密后,外部不能读出Flash中的内容。u外部扩展存储器u 片内没有Flash的DSP芯片,一般都提供外部扩展总线,便于用户扩展外部存储空间。外部扩展存储器常用于存放用户程序。u用户程序一般在加电开机后有DSP芯片内部ROM中的Bootloader将存放在外部存储器中的用户程序引导加载到片内RAM高速运行。如果片内RAM空间不够大,也可扩展外部RA

4、M。如果仅用于存放用户程序,由于还要Bootloader引导加载,因此存储器宽度是8位或16位;而如果用户程序需要在外部存储器中运行,则扩展存储器的数据宽度需与指令宽度相同如定点芯片的16位、浮点芯片的32位)。u 即使外部存储器的速度足够快,也比不上程序在片内的运行速度。因而,系统设计是应尽可能选择片内RAM较大的DSP芯片,并将程序全部放在片内运行。u通用目标文件格式CommonObject File Format是一种流行的二进制可执行文件格式,二进制可执行文件包括库文件lib),目标文件obj最终可执行文件out)。,现今PC机上 的Windows95和NT4.0以后的操作系统的二进制

5、文件格式PE就是在COFF格式基础上的进一步扩充。uDSP芯片的程序代码一般采用模块化结构存储。模块化结构的特点是结构清晰,便于程序代码的管理、分配与移植。u为了实现这种结构,TI公司的编译器和链接器所创建的目标文件采用一种称为COFFCommon Object File Format的目标文件格式。u采用COFF格式,有利于模块化编程,并且为管理程序代码和系统存储空间提供灵活的方法。u基于COFF格式编写汇编程序或C程序时,不必为程序代码或变量指定目标地址,为程序编写、程序移植、程序升级提供了极大的方便。uCOFF文件格式的核心是使程序员在编写DSP程序时基于代码块和数据块的概念,而不是一条

6、条指令或一个个数据。 COFF文件格式将代码块和数据块称为section,一个块section就是最终在存储器映象中占据连续空间的一段代码或数据。编译器/汇编器和链接器都提供了有关的命令来创建块和对块进行处理,编译器/汇编器创建的块得名称有些是已经定义好的,程序员也可自己定义块名。目标文件中的每一个块都是相互独立的,一般地,COFF目标文件应该包括三个默认的块:.text 块 通常包括可执行代码.data块 通常包括已经初始化的变量;.bss块 通常为未初始化的变量保留空间 u 汇编器和链接器允许编程者建立和链接自定义的块,这些与.text .data .bss相似。u所有的块分为两类:已初始

7、化和未初始化的。u已初始化块 包括程序代码和数据u .text 汇编指令代码u .data 常数数据比如对变量的初始化数据)u .sect 用户自定义的已初始化段u .asect 类似.sect,多了绝对地址定位功能,一般不用u未初始化块是为未初始化的数据在存储器映像中保留空间,.bss和用.usect汇编命令创建的块属于这一类。汇编器提供了若干将各种代码和数据段与相应的块联系的命令,汇编器是在汇编过程中建立这些块的。 汇编器对块的处理功能主要是确定汇编语言程序的各部分属于哪个特定的块。汇编器用.text、.data、.sect、.asect、.bss、.usect命令完成对块的定位。其中,.

8、text、.data、.sect和.asect命令建立已初始化的块,.bss和.usect命令则用来建立未初始化的块。 如果程序中没有用任何命令对块进行操作,则汇编器将把所有的程序块或数据块统一汇编到.text块中。 汇编器对已初始化块的处理汇编器对已初始化块的处理已初始化块包括已初始化的数据和程序代码。这部已初始化块包括已初始化的数据和程序代码。这部分块的内容存储在目标文件中。当程序下载时被下分块的内容存储在目标文件中。当程序下载时被下载到存储器中。每个已初始化块可以独立地进行重载到存储器中。每个已初始化块可以独立地进行重定位定位,并且可以引用其他块中定义的变量。链接器可并且可以引用其他块中

9、定义的变量。链接器可以自动解决块与块之间变量引用的问题。以自动解决块与块之间变量引用的问题。下面下面4个命令将代码或数据存放在一个块中个命令将代码或数据存放在一个块中,其命令格其命令格式如下式如下:.text.data.sect “块名”.asect “块名”,地址 在这些命令中,.text和.data命令建立的块名称就是.text和.data,而后二个命令建立的块是自定义的块。其中.asect建立的块具有绝对地址,一般不要使用。当汇编器遇到上述命令时,立即停止汇编当前块,且开始将随后的代码或数据汇编到当前命令所对应的块中。未初始化块在存储器中为没有初始化的数据保留空间,它们通常被分配到RAM

10、中。程序在运行时利用这些空间创建和存储变量。汇编器用.bss和.usect命令建立未初始化块。其中,.bss命令在.bss块中保留空间,.usect命令在自定义的块中保留空间。它们的命令格式如下:.bss 变量,块大小变量.usect“块名”,块大小汇编器遇到.bss和.usect命令时并不结束当前块,只是暂时离开当前块而去创建一个新块。所以,.bss和.usect命令可以出现在一个已初始化块中的任何地方,而不影响已初始化块的内容。自定义块是程序员自己建立的块,它与默认的.text、.data和.bss块的使用方法相同,而与默认块是分开汇编的。程序员可以用.usect、.sect和.asect

11、命令建立自定义的块。其中,.usect建立的块用来在RAM中为变量保留空间,其用法类似于.bss块;.sect和.asect建立包括代码和数据的块,用法类似于.text块和.data块。.sect命令建立的块是可重定位的,.asect命令建立的块是具有绝对地址的块,是不能重定位的。它们的命令格式如下:变量.usect“块名”,块大小.sect “块名”.asect “块名”,地址 链接器对块的处理主要包括下面2个方面。首先,链接器将COFF目标文件中的块建立为程序块或数据块并以这些块作为输入块,链接器再把这些输入块组合起来以建立可执行的COFF输出模块。然后,链接器为输出块选择存储器地址。链接器提供Memory和Sections 2个命令来完成上述工作。其中,Memory命令定义目标系统的存储器分配,程序员可以通过指定存储器起始地址和长度来定义每一块存储器。Sections命令定义如何组合输入块以及在存储器何处存放输出块。若不用这二条命令,链接器就会采用默认的分配方法;若采用这二条命令,则需要在链接器命令文件(扩展名为.cmd)中确定。 u汇编器对目标文件中的每个块汇编时都假定其起始地址为0, 所以每一块中的重定位符号都是相对于0地址而言的。当然, 所有的块在存储器中并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论