S3C2440的存儲器映射(27根地址線如何尋找1G的地址)


          查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           未用

具體這些地址是如何映射的,可以參考我寫的另一篇博文《對S3C2440特殊功能寄存器地址的深入挖掘》。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com