ti dsp 5416 的内存映射

第一次用5416,首先面对的就是内存的分配。

让我们先看看我们什么资源?

片内:64k的SARAM,64k的DARAM;

片外:一般有flash、sram等。

我们怎么访问这些资源呢?

数据空间:范围64k:0-0×10000;

程序空间:0-0x7FFFFF;

IO空间:0-0×10000。

到这里,混乱了,我们怎么操作我们想操作的内存??

我当时迷茫了,不知道该怎么办。

查阅文献后发现,根本不用担心。因为,Ti已经完全给我们分配好了。我们根本没有这么大权利操作内存,我们只能根据Ti给我们的选项使用内存。

Ti给我们的选项是有限的,很容易理解。就由PMST寄存器的3个位控制。

MP/MC、OVLY、DROM,具体描述如下:

imageimage image 

具体分配:

IO空间

最简单的是IO空间:

范围:0×0-0xFFFF,可以任意访问。

如何访问呢?

在CCS中定义变量:

ioport port8000; //访问IO空间

port8000=1; //写IO空间

data=port8000; //读IO空间

数据空间

也很简单,只有两种可能性:

1、全部映射DARAM;

2、高32k映射到外部存储器。

image

程序空间

程序空间稍微复杂一点点,不过也不是大问题。

低32K只会映射DARAM的低32K,或者外部存储器。

高32K只有Page1、2、3可以映射到DARAM高32K、SARAM低32K、DARAM高32K。其他一直可以映射到外部存储器。

另外,MP和MC模式稍有不同。

image

欢迎大家留言交流。

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]