您的位置:首页 > 其它

S3C2440的存储器映射(27根地址线如何寻找1G的地址)

2013-10-08 23:21 204 查看
转:http://blog.csdn.net/ce123_zhouwei/article/details/6882091

查S3C2440的数据手册可知S3C2440可寻址1G的地址范围,但是S3C2440的地址线只有27根,理论上只能寻址2的27次方等于128M的地址范围。

通过细致的分析可知:S3C2440通过一个BANK来解决了这个问题。S3C2440有8个存储器BANK,引出了8根BANK线(对应nGCS0~

nGCS7),通过这个8根线来选通和关闭不同的存储器,这样S3C2440最多就可以连接8个128M的存储器。对某个BANK地址的访问实际上就是选
通该BANK,于是ARM核只要发出一个地址,然后S3C2440的储存控制器把该地址解释成两部分:一部分是BANK地址,一部分是连接到该BANK存
储器内部的地址就可以访问了。而作为32位的CPU,理论上可以使用的地址范围可以达到2的32次方等于4G,除去上述的1G地址空间,还有一部分是CPU内部寄存器的地址,剩下的地址空间没有使用。



图1 S3C2440的存储器映射

0x4000 0000以后的地址是怎样映射的呢?

0x4000 0000——0x4000 0FFF
从NOR Flash启动时片内4KB SRAM映射在这个地址范围,而从NAND启动时片内4KB
SRAM映射在0x0000 0000地址,则这个地 址范围是保留的。

0x4000 0FFF——0x4800 0000 保留

0x4800 0000——0x6000 0000 特殊功能寄存器的地址

0x6000 0000——0xFFFF FFFF 未用

其实,nGCSx的计算就是一个38译码器:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: