參考文章:http://blog.csdn.net/eagle_lzt/article/details/6310094
參考文章:http://www.threeway.cc/sitecn/InformationInfo.aspx?pid=1637&tid=1380
S3C6410的實體記憶體分成Memory和Pheriperal兩部分,位址範圍分別為0x0~0x6fffffff和0x7fffffff~0xffffffff。系統通過 SPINE匯流排訪問Memory空間,通過PERI匯流排訪問Pheriperal空間。而為了適應不同外設的訪問速度,又分別通過AHB匯流排訪問LCD、 Camera、Accelerator等高速外設,通過APB匯流排訪問iic、watchdog等低速外設。
Memory:
(1)啟動鏡像區物理地址為0x00000000~0x07ffffff,共128MB,是用來啟動系統的。但是這個範圍內並沒有實際的儲存介質與之對應,只能在通過OM[4:0]選擇具體的啟動介質後再把相應介質的物理地址映射到這個啟動區,比如說選擇了IROM 啟動方式後,就把IROM所佔的地址空間映射為0x00000000開始的空間。引導鏡像區反映一個鏡像,這個鏡像指向記憶體的一部分地區或者靜態儲存區。引導鏡像的開始地址是0x0000_0000。
(2)內部記憶體區物理地址為0x08000000~0x0fffffff,共128MB。這個地區對應著內部的記憶體位址,內部的ROM和SRAM都是分布在這個區間。其中,0x08000000~0x0bffffff對應著內部ROM,當然實際上內部的ROM也並沒有64MB這麼多,只有32KB是有實際儲存介質的,這32KB是一個唯讀區,放的是IROM方式下的啟動代碼,選擇IROM啟動的時候首先啟動並執行代碼就是這一部分,稱為BL0,這部分代碼由廠家固化。0x0c000000~0x0fffffff對應內部SRAM,可讀可寫,當NAND
快閃記憶體啟動被選擇時能映射到引導鏡像區。 。
(3)靜態記憶體區物理地址為0x10000000~0x3fffffff,共6*128MB。這個地區用於訪問掛在外部匯流排上的裝置,比如說SRAM、NOR flash、oneNand等。這個地區被分割為6個bank,每個bank為128MB,資料寬度最大支援16bit,每個bank通過 Xm0CS[5:0]來劃定。和S3C2410 不一樣的是,bank2~bank5能映射到nand flash、CF等非線性儲存空間,這並不是說可以通過bank2~bank5的位址區段就能直接存取nand
flash、CF內部的地址,相反,當映射到這些器件的時候這些bank的地址也不能再使用了,訪問這些非線性儲存空間還是得通過Pheriperal空間的AHB匯流排進行,和S3C2410中的訪問方式是一樣的。不過有一個特例是,當Xm0CS2被映射到nand flash的時候,Steppingstone的SRAM被映射到bank2開始的4KB,而在以nand flash方式啟動的時候bank2被映射到0x00000000開始的地方,實際上就是把Steppingstone映射到0x0000000了,這和 S3C2410的情況還是相似的。
(4)動態記憶體區物理地址為0x40000000~0x6fffffff,共3*256MB。其中第一個256MB為保留區,實際使用的動態記憶體區為 0x50000000~0x6fffffff,又分為2個區間,分別佔256MB,可以通過DMC的Xm1CS[1:0]來進行著2個區間的選擇。這個記憶體區主要是擴充DRAM,最大可以擴充512MB的DRAM。
2.Pheriperal外設地區通過PERI 匯流排被訪問,它的位址範圍是0x7000_0000~0x7FFF_FFFF。這個位址範圍的所有的SFR能被訪問。而且如果資料需要從NFCON或CFCON 傳輸,這些資料需要通過PERI匯流排傳輸。
特殊裝置地址空間:
AHB匯流排儲存空間映射