程序存储器空间用来存放要执行的指令和执行中所需的系数表。程序存储器空间由片内和片外程序存储器组成。TMS320C54x在不扩展的情况下,可寻址64K字的程序存储空间。它们的片内ROM、双访问RAM(DARAM)、单访问RAM(SARAM)和双向共享RAM,都可以通过软件设置映射到程序存储空间。
当存储单元被映射到程序空间时,只要访问地址是在片内存储器的范围之内,那么处理器就能自动地对它们所处的地址范围寻址。如果程序地址发生器(PAGEN)发出的地址处在片内存储器地址范围以外,处理器就能自动地对外部寻址。
表3-10列出了部分TMS320C54x可用的片内程序存储器的容量。由表3-10可见,这些片内存储器是否作为程序存储器,取决于软件对处理器工作方式状态寄存器PMST的状态位和OVLY的编程。
由表3-9和表3-10可以看出,只有当时,即设置为微计算机模式时,片内ROM才是程序存储器的一部分;也只有当OVLY=1时,片内数据存储器才能映射为程序存储器空间或扩展存储器空间。
表3-10 TMS320C54x系列部分DSP片内程序存储器容量
下面对程序存储器的配置、片内ROM的组织和内容进行详细介绍。
1.程序存储器的配置
通过和OVLY位的设置,可以实现对片内存储器(ROM、RAM)的配置,即哪些片内存储器属于程序存储器空间。下面以TMS320VC5402为例,分析程序存储器的配置,TMS320VC5402的存储器空间分配图如图3-16所示。
当处理器复位时,引脚上的逻辑电平被采样并传送到PMST寄存器中的位。位的状态决定程序存储器空间是否使用片内ROM。
1)如果MP/MC=1,处理器被设置为微处理器模式,在这种模式下禁止使用片内ROM,地址4000h~FFFFh均为外部程序存储器空间,上电复位后从外部程序存储器FF80h起执行用户程序。
2)如果,处理器被设置为微计算机模式,在这种模式下允许使用片内ROM。TMS320VC5402片内4K字ROM映射到程序存储器空间,地址为F000h~FFFFh,其中地址FF80h~FFFFh区域为中断向量表的128个字单元,上电复位后从片内ROM的FF80h起执行用户程序。
引脚仅在复位时才被采样,但是用户可以通过软件设置的方式对PMST寄存器中的位进行置位或清0。
复位时,如果片内RAM(包括DARAM和SARAM)没有映射到程序存储器空间,可以通过对寄存器PMST的OVLY位进行设置来配置它们。OVLY位的状态决定程序存储器空间是否使用片内RAM。
1)如果OVLY=0,程序存储空间不使用内部RAM。0000h~3FFFh全部定义为外部程序存储器空间,此时片内RAM只作数据存储器。
2)如果OVLY=1,程序存储空间使用片内RAM。片内RAM同时被映射到程序存储器空间和数据存储器空间。0000h~007Fh被保留,程序无法占用;片内16K字DARAM被同时映射到程序存储器空间和数据存储器空间的0080h~3FFFh,这样设置的优点是程序可以在内部的RAM全速运行。
当处理器复位时,复位和中断向量都映射到程序存储器空间的FF80h。复位后,这些向量可以被重新映射到程序存储器空间中任何一个128字页的开头。这就很容易将中断向量表从引导ROM中移出来,然后再根据存储器图安排。(www.xing528.com)
2.片内ROM的组织和内容
为了提高处理器的性能,片内ROM被进一步细分为若干块,并以块的形式来组织。这样就可以在片内ROM的一个块内读取一条指令的同时,又在其他块中读取数据。
对不同的TMS320C54x器件,ROM可按2K字、4K字或8K字大小划分成块。对于ROM容量为2K字的器件来说,一般ROM块为2K字;对于ROM容量为4K字和28K字的器件来说,一般ROM块为4K字;对于ROM容量为16K字和28K字的器件来说,一般ROM块为8K字。
TMS320C54x的片内ROM容量有大有小,容量大的片内ROM可以把用户的程序代码编写进去。需要注意的是,片内高2K字(F800h~FFFFh)ROM中的内容是由TI公司定义的,用户不能改变,但可以使用。根据不同的器件,这2K字程序存储器空间可能包括以下一项或多项内容:
1)引导程序。从串行口、外部存储器、I/O口或者主机接口进行引导。
2)256字μ律扩展表。
3)256字A律扩展表。
4)256字正弦函数值查找表。
5)中断向量表。
TMS320VC5402片内有4K字的片内ROM。当,4K字的ROM被映射到程序存储器空间的地址范围为F000h~FFFFh,用户可以将应用程序或者引导程序安排在这个存储器空间。其中F000h~F7FFh为用户专用程序,由TI公司固化;F800h~FFFFh由TI公司定义。表3-11列出了TMS320VC5402片内ROM中的内容安排和地址范围。
表3-11 TMS320VC5402片内ROM中的内容安排和地址范围
(续)
当电源接通后,或者在硬件复位期间,引脚处在低电平时,DSP就从程序存储器的FF80h处开始执行程序。通常,在FF80h处安放一条分支转移指令,以便让程序计数器(PC)跳转到引导程序的起始地址,执行引导程序。引导程序将会按照不同的系统要求,提供不同的方法加载程序代码,即把外部的用户程序代码自动地传送到所要求的程序空间位置上。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。