s3c2440 nand flash controller

来源:互联网 发布:软件外包市场规模预测 编辑:程序博客网 时间:2024/05/16 11:34

 

s3c2440内部集成有内部sram(steppingstone),当选择从nand flash启动的时候,nand flash的前4k代码将会自动copy到内部sram中后运行。
(一)nand flash控制器的特性:
1、支持读/写/编程 NAND FLASH内存
2、系统复位后nand flash的前4k代码自动copy到内部sram,copy完  成后从sram启动,此时内部sram被映射为nGCS0。(当OM[1:0]=    00时使能NAND FLASH 启动模式)
3、支持硬件ECC校验
4、系统启动后内部sram可以用做其他的用途。
(二)操作nand flash方法
1、设置nand flash配置寄存器NFCONF
2、向命令寄存器NFCMD写入操作命令
3、向地址寄存器NFADDR写入地址
4、读/写数据前要读取状态寄存器NFSTAT来判断nand flash是否处于   忙状态。
(三)ECC

S3C2440在读/写操作时,自动片成512字节的奇偶校验码。
nand flash的页为512B。在读写的时候每页会产生3个byte大小的ECC校验码。
24bit ECC校验码=18bit 线校验码+8bit列校验码

ECC产生模块执行以下步骤:

1:当MCU写数据到NAND时,ECC产生模块生成ECC码。

2:当MCU从NAND读数据时,ECC产生模块生成ECC码同时用户程序将它与先前写入时产生的ECC码作比较。

(四)地址空间分配和片选信号定义

S3C2440 支持两种启动模式:一种是从Nand Flash 启动(MINI2440 即是此种);一种
是从Nor Flash 启动。在此两种启动模式下,各个片选的存储空间分配是不同的,如下图:


上图中,
左边是 nGCS0 片选的Nor Flash 启动模式下的存储分配图;
右边是 Nand Flash 启动模式下的存储分配图;
说明:SFR Area 为特殊寄存器地址控制
下面是器件地址空间分配和其片选定义
在进行器件地址说明之前,有一点需要注意,nGCS0 片选的空间在不同的启动模式
下,映射的器件是不一样的。由上图可以知道: