第一次用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,具体描述如下:
具体分配:
IO空间
最简单的是IO空间:
范围:0×0-0xFFFF,可以任意访问。
如何访问呢?
在CCS中定义变量:
ioport port8000; //访问IO空间
port8000=1; //写IO空间
data=port8000; //读IO空间
数据空间
也很简单,只有两种可能性:
1、全部映射DARAM;
2、高32k映射到外部存储器。
程序空间
程序空间稍微复杂一点点,不过也不是大问题。
低32K只会映射DARAM的低32K,或者外部存储器。
高32K只有Page1、2、3可以映射到DARAM高32K、SARAM低32K、DARAM高32K。其他一直可以映射到外部存储器。
另外,MP和MC模式稍有不同。
欢迎大家留言交流。
0 Comments.