最近开始接触DSP,用到TMS320VC5416,对其复杂的存储空间配置感到困惑。查阅很多资料后,终于理解。在此总结一下。
5416的datasheet中提到“存储空间”的概念。这是一个虚拟的空间,并非真实存在,它由真实的存储器的物理空间映射而来。明白了“存储空间”和“物理空间”的区别,一切都容易理解了。在5416中有时会有同一块物理空间同时映射到几块不同的存储空间,从而导致存储空间比真实的物理空间要大许多。
5416共192K字的存储空间,分别是64K字(可扩展至8M字)的程序存储空间,64K字的数据存储空间和64K字的I/O存储空间。其中,程序空间用于存放待执行的指令和操作数等,常用RAM(在程序执行时,可实现较快速的执行)、ROM或FLASH(非易失性,可在不加电时实现程序存储)等来构成;数据空间用于存放指令执行时产生的一些数据,常由RAM构成;I/O空间提供与外部存储器映射的接口。以上均为虚拟的存储空间。
5416的物理存储器包括片内的128K字RAM(包含64K字的DARAM和64K字的SARAM)和16K字的ROM,以及片外扩展的RAM、ROM或FLASH等等。
存储空间和存储器的物理空间的映射关系由处理器模式状态寄存器(PMST)的MP/MC、OVLY和DROM三个状态位决定。具体情况可参考5416的datasheet。在此只举例说明。
当MP/MC=0,OVLY=1,DROM=0时,程序空间和数据空间的0080H~7FFFH均映射到同样的物理空间,即DARAM0~DARAM3,故而要求通过cmd文件配置时,程序空间和数据空间不可有交叠。同样,两者的8000H~BFFFH也映射到同一块外部存储器的物理空间上。然而,程序空间的C000H~FFFFH映射到片内ROM,而数据空间的该区段却映射在外部存储器上。故而,在某些PMST的配置情况下,程序空间和数据空间的某些区段映射物理空间相同,其内容自然也是是相同的,需要统一考虑,以免出现数据相互覆盖;而其他区段,两者映射的物理空间不同,则需区别对待。另外,此时的外部扩展的程序存储空间的Page1~Page127的0000H~7FFFH均映射到DARAM0~DARAM3。因此,此时名义上8M的程序存储空间,实际上是由大约4M的物理空间映射而成。
如果将5416的IOTRB管脚信号用作片选,则IO空间也可以映射到相应的物理地址。
理解了5416的存储空间,便为通过cmd文件进行程序配置提供了基础。
TMS320VC5416的存储空间
最新推荐文章于 2021-05-19 06:56:59 发布