2440地址空间
地址线
片选信号
观察可以发现ADDR0–ADDR26共有27根地址线 ,在不考虑片选信号的情况下可以访问2^27 = 128M内存。加上nGCS0 - nGCS7八根片选信号,所以可以访问 8 * 128 = 1G内存
外设空间
上图左边为使用NORflash 的内存分布图,右边为使用nandflash,可以看出SDRAM 的起始地址为0x30000000,即为内存的起始地址
储存控制器
地址通过储存控制器分解成行地址和列地址及片选信号
内存芯片硬件连接
2440有32根数据线,如果内存芯片是16位的则要采用两个内存芯片并联的方式
储存控制器寄存器
源码
#define men_contrl 0x48000000
init_sdram:
ldr r0, =men_contrl
add r3, r0, #4*13
adrl r1, men_data
0:
ldr r2, [r1], #4
str r2, [r0], #4
cmp r0, r3
bne 0b
mov pc, lr
men_data:
.long 22000000
.long 00000700
.long 00000700
.long 00000700
.long 00000700
.long 00000700
.long 00000700
.long 00018001
.long 00018001
.long 008C04F5
.long 000000B1
.long 00000030
.long 00000030