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

扫描二维码关注公众号,回复: 2222653 查看本文章

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.根据芯片所接地址线,确定范围。

猜你喜欢

转载自blog.csdn.net/weixin_40288381/article/details/81093011