S3C44B0有 6 个ROM/RAM空间和 2 个 ROM/SRAM/FP/EDO/SDRAM空间,其中ROM0是专用的boot ROM。
S3C44B0的系统管理器通过S/W可以控制每个空间的访问时间和数据线宽度。
所有空间的访问时间可以通过各自的BANKCON0~7寄存器来设置。bank6和bank7空间的类型必须是一样的(例如:rom/rom,sdram/sdram)。
每个空间的数据宽度是通过BWSCON控制寄存器来设置的。
BANK0是专用的启动BANK,因此,BANK0是通过H/W和OM[1:0]来控制的。
当系统复位后,可以通过LDMIA和STMIA命令来设置BWSCON,BANCON0-7,REFRESH,BANKSIZ,MRSRB6/7系统寄存器。
下面的描述的就是特殊寄存器配置的代码:
- LDR r0, =SMRDATA
- LDMIA r0, {r1-r13}
- LDR r0, =0x01c80000 ;BWSCON Address
- STMIA r0, {r1-r13}
- . . . . . . . . . . . .
- SMRDATA
- DCD 0x22221210 ;BWSCON
- DCD 0x00000600 ;GCS0
- DCD 0x00000700 ;GCS1
- DCD 0x00000700 ;GCS2
- DCD 0x00000700 ;GCS3
- DCD 0x00000700 ;GCS4
- DCD 0x00000700 ;GCS5
- ; DCD 0x0001002a ;GCS6 EDO DRAM(Trcd=3,Tcas=2,Tcp=1,CAN=10)
- ; DCD 0x0001002a ;GCS7 EDO DRAM(Trcd=3,Tcas=2,Tcp=1,CAN=10)
- DCD 0x00018000 ;GCS6 SDRAM(Trcd=2,SCAN=8)
- DCD 0x00018000 ;GCS7 SDRAM(Trcd=2,SCAN=8)
- DCD 0x00a60000+953 ;Refresh(REFEN=1,TREFMD=0,Trp=3.5(D)or 4(SD),
- ;Trc=5(S), Tchr=3(D),Ref CNT)
- DCD 0x0 ;Bank size, 32MB/32MB
- DCD 0x20 ;MRSR 6(CL=2)
- DCD 0x20 ;MRSR 7(CL=2)