EMIFA寻址问题
问题
EMIF16片选空间标注为64MB空间但是,EMIF16仅有24根地址线,是如何映射到64MB寻址空间的呢?
访问空间
通过查阅资料,TI这里给出的64MB空间是针对32位访问时而言的,对于8位、16位地址映射分别为16MB、32MB。
EMIF为每个CE空间分配了64MB的访问空间,CE0-CE3对应起始地址分别为70000000-74000000-78000000-7C000000:
- 8位数据宽度模式 ,访问空间为(2^24 * 1)/1024/1024=16MB;
- 16位数据宽度模式 ,访问空间为(2^24 *2)/1024/1024=32MB;
- 32位数据宽度模式 ,为(2^24*4)/1024/1024 = 64MB.;
EMIF16仅有24根地址线,是如何映射到64MB寻址空间的呢?
SP生成的是32位地址,而EMIF只能发送其中的24位,是DSP的第1位到第24位,第0位不发送,DSP地址的第1位连接在A23引脚上,第2到第24位分别映射A0到A22。举个例子容易理解,运行以下程序:(这里直接用int16 int32代表不同数据宽度整型类型)