S3C2440的存儲(chǔ)器映射(27根地址線如何尋找1G的地址)
通過(guò)細(xì)致的分析可知:S3C2440通過(guò)一個(gè)BANK來(lái)解決了這個(gè)問(wèn)題。S3C2440有8個(gè)存儲(chǔ)器BANK,引出了8根BANK線(對(duì)應(yīng)nGCS0~ nGCS7),通過(guò)這個(gè)8根線來(lái)選通和關(guān)閉不同的存儲(chǔ)器,這樣S3C2440最多就可以連接8個(gè)128M的存儲(chǔ)器。對(duì)某個(gè)BANK地址的訪問(wèn)實(shí)際上就是選通該BANK,于是ARM核只要發(fā)出一個(gè)地址,然后S3C2440的儲(chǔ)存控制器把該地址解釋成兩部分:一部分是BANK地址,一部分是連接到該BANK存儲(chǔ)器內(nèi)部的地址就可以訪問(wèn)了。而作為32位的CPU,理論上可以使用的地址范圍可以達(dá)到2的32次方等于4G,除去上述的1G地址空間,還有一部分是CPU內(nèi)部寄存器的地址,剩下的地址空間沒(méi)有使用。
圖1 S3C2440的存儲(chǔ)器映射
0x4000 0000以后的地址是怎樣映射的呢?
0x4000 0000——0x4000 0FFF 從NOR Flash啟動(dòng)時(shí)片內(nèi)4KB SRAM映射在這個(gè)地址范圍,而從NAND啟動(dòng)時(shí)片內(nèi)4KB SRAM映射在0x0000 0000地址,則這個(gè)地 址范圍是保留的。
0x4000 0FFF——0x4800 0000 保留
0x4800 0000——0x6000 0000 特殊功能寄存器的地址
0x6000 0000——0xFFFF FFFF 未用
評(píng)論