1. 程式人生 > >ARM之記憶體控制器與SDRAM

ARM之記憶體控制器與SDRAM

S3C2440是SOC(system on chip),板載CPU,記憶體管理器,GPIO控制器,協議類介面,記憶體類介面,NAND控制器等。

CPU和記憶體類介面:

其中ARM9為32位處理器,可是一般在實際只用到其中27條地址線。

對不同位寬的裝置,有不同的處理方式。

當執行語句:

mov r0 #3

LdrB r1 [r0] //r1暫存器讀取地址3處的一個位元組

CPU地址 記憶體控制器轉發給ROM ROM返回資料 記憶體控制器處理資料
8bitROM 0011 0011 8bit(3) 接收8bit(3)
16bitROM 0011 0001  16bit(1) 接收16bit(1),並讀取要的地址3內容
32bitROM 0011 0000 32bit(0) 接收32bit(0),並讀取要的地址3內容

現在改一下 

mov r0 #4

Ldr r1 [r0] //現在一次讀取四個位元組 從地址4開始讀取,讀取地址 4,5,6,7處的內容

CPU地址 記憶體控制器轉發給ROM ROM返回資料 記憶體控制器處理資料
8bitROM 0100

0100

0101

0110

0111

得到地址4的1byte

得到地址5的1byte

...

之後將4byte組裝完成後,再傳個CPU
16bitROM 0100

0010

0011

得到地址2的2byte,和地址3的2byte 同上
32bitROM 0100

0000

0001

得到地址0的1byte

和地址1的3byte

同上

怎麼確定晶片訪問地址呢?

1.根據片選訊號確定基地址

2.根據晶片所接地址線,確定範圍。