
【摘要】本文介绍了TMS320C54x系列DSP的存储结构,详细讨论了存储器和存储空间的映射关系,分析了存储空间的配置方法,并结合实例给出了C5410型DSP的存储器映射关系和链接配置文件。tms320c54x
【关键词】DSP;存储器;存储空间;映射;链接配置文件
1.引言
根据应用设计的需求,对DSP可用存储空间的分析和配置是开发过程的第一步,也是设计者需要考虑的关键问题,因此,存储空间分配的好坏不仅关系到开发设计的成败,而且反映了一个DSP程序员的水平和经验。对于DSP,我们总是遇到这样的两个名词,存储器(RAM、ROM、EPROM和FLASH等)和存储空间(程序存储空间、数据存储空间和I/O存储空间)。而这两个名词又总是阻碍着DSP设计者前进的脚步,使之望而却步。为此,本文首先探讨存储器和存储空间的映射关系的问题。同时,由于DSP的广泛应用,程序代码不断地增大,这就涉及到本文要探讨地第二个问题,如何合理地配置DSP的存储空间,使之更好地利用DSP地内部资源,并以C5410型DSP为例,给出了存储空间配置的CMD文件。
2.C54x系列DSP的存储结构
C54x系列DSP一般有192K字的存储空间,分为三个相互独立可选择的空间:64K字的程序存储空间、64K字的数据存储空间和64K字的I/O存储空间[1]。其中程序存储空间存放待执行的指令和执行过程中所需要的系数表(数学用表,常数),可使用片内或片外的RAM、ROM或FLASH等来构成;数据存储空间存放指令执行过程中产生的数据,可使用片内或片外的RAM和ROM来构成;I/O存储空间提供与外部存储器映射的接口,也可以作为外部数据存储空间使用。
C54x系列DSP片内都有随机存储器(RAM)和只读存储器(ROM),而RAM又分为两种类型:DARAM(双访问RAM,每个机器周期可以访问2次)和SARAM(单访问RAM,每个机器周期只能访问1次)。
3.存储器和存储空间的映射关系
3.1 片内存储器映射
针对存储器和存储空间两个不同的概念,本节详细分析C54x系列DSP的片内存储器的映射关系。

C54x通过处理器工作方式的状态寄存器(PMST)中的3个状态位,来选择片内存储器作为程序空间或数据空间。这3个状态位是:
(1)MP/MC位,决定是否使能片内ROM。MP/MC=0,片内ROM使能,映射到程序空间;MP/MC=1,则片内ROM不使能,此时将不会用到DSP的自引导程序。系统仅在复位时采样一次MP/MC引脚,并将引脚值传递给MP/MC位,而复位后便可通过软件设置MP/MC位来禁止或使能片上ROM。在使用开发程序时,需要将MP/MC置为1,此时DSP处于微处理器方式,应用程序通过TI公司的DSP开发软件CCS(Code Composer Studio)写入程序存储区;在DSP脱机运行时,需要将MP/MC清0,此时DSP处于微计算机方式,DSP在上电或复位后,其片内ROM中的自举加载程序将会首先自动运行,将用户程序代码移入程序空间后,再将控制权交给用户代码[3]。
(2)OVLY位。OVLY=1,则片内RAM映射到程序和数据空间,程序在RAM中运行;OVLY=0,则片内RAM只映射到数据存储空间,此时可用一个外部FLASH映射到程序空间,程序可在其中运行。显然这种方式不如程序在片内RAM中执行速度快。
(3)DROM位。对于不同型号的DSP,DROM代表不同的意义。C542、C543、C548片内只有2K字ROM,如前所述这2K字的内容是由TI公司定义的,不可修改,也不能用作用户程序区和数据区,因此DROM位对此类器件并无影响。对C541、C545、C546、C549、C5402而言,DROM位决定片内的ROM是否部分映射到数据空间:DROM=1,部分片内ROM映射到数据空间;DROM=0,片内ROM不映射到数据空间。而对C5410、C5416、C5420(无片内ROM)而言,片内ROM并不映射到数据空间,此时DROM位决定数据空间的高32K字是由片内的RAM构成还是由片外的RAM构成:DROM=1,片内排列的第二组32K字(片内RAM的排列是先排DARAM,再排SARAM,32K为一组。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-25630-1.html
有必要强制回归
6s才用没多久升了9