简述
S3C2440要访问外部设备,需要通过存储控制器。
具有以下特性(简要摘录几点):
- S3C2440对外引出ADDR0~ADDR26,27条地址线,即空间有128MB。
- 同时,具有八根片选信号nGCS0~nGCS7,对应BANK0~BANK7
- BANK0~BANK5可外接ROM,SRAM等,BANK6-BANK7除此之外,还可以解SDRAM。
- 还有其他一些信号控制线,不赘述。
图为JZ2440开发板对应连接的外设
操作
存储控制器有13个寄存器,BANK0~5只需要设置BWSCON和BANKCONx(x=0~5)两个寄存器;BANK6和7,在外接SDRAM时,除了设置以上两个寄存器,还要设置REFRESH,BANKSIZE,MRSRB6,MRSRB7等4个寄存器。具体每个寄存器对应功能看数据手册即可。
实例:操作SDRAM
NANDFlash启动时,CPU会自动将NANDFlash开始的4KB复制到称之为“Steppingstone”的4KB的内部RAM(起始地址为0)。然后程序从地址0处开始执行。
说明:
例程中,使用汇编语言设置好存储控制器,设置SDRAM,然后把程序从Steppingstone中复制到SDRAM去,最后跳到SDRAM开始执行。
所以这个程序包含两个文件,一个为head.S,leds.c,C文件是流水灯,S文件就是设置存储控制器。重点在于S文件。
@*************************************************************************
@ File:head.S
@ 功能:设置SDRAM,将程序复制到SDRAM,然