首先说一下,S3C2440 存储器空间并不包括NAND FLASH ,NAND FLASH只是一个外设而已。
S3C2440存储器控制器的寻址范围是0~0x3fff ffff,共1G。这1G空间分为8个BANK,BANK0~BANK7。
在产品开发阶段,一般使用BANK0控制NOR FLASH,BANK6控制SDRAM;对于成品,则会去掉NOR FLASH,而将固件放在NAND FLASH上,SDRAM不变。
对于代码存储,如NOR FLASH,是没有必要访问到具体字节;而对于SDRAM,因为可能保存有字节变量,必须得支持访问到字节。这里就说一下,在32位总线宽度下,存储器控制器是如何访问SDRAM的字节的。
比如,使用两片16位的SDRAM组成32位宽度的数据总线。 S3C2440的地址线A0、A1不再使用, S3C2440提供了DQM0、 DQM1、 DQM2和 DQM3来选通某个字节(猜想: DQM0、 DQM1、 DQM2和 DQM3是由 A0、A1经内部译码器而得 ,这样可以节省外部元件)。再把SDRAM的行、列地址展开,再加上 SDRAM BANK的选择线,其实SDRAM就完全可以看做一片SRAM了 。
写得有点乱,想到什么写什么。。。