Nand Flash

Nand Flash在嵌入式系统中的地位与PC上的硬盘类似,用于保存系统运行所必需的操作系统、应用程序、用户数据等。与内存掉电后数据丢失不同,Nand Flash的数据在掉电后仍可永久保存。常用的Flash类型有NOR Flash和Nand Flash两种。
Nand Flash
一块64页,一页2038byte(2K)和64byte的OOB区。
地址分为列地址和行地址(页地址);
Nand Flash
page=addr/2048;
(page>>8)&&0xff
(page>>16)&&0xff
col=addr%2048
(col>>8)&&0xff
Nand Flash
nFWE、nFRE为写、读引脚。NAND FLASH是一个存储芯片64M。
Nand Flash
Nand Flash与S3C2440的连线比较少:8个I/O引脚(IO0~IO7),5个使能信号(nWE、ALE、CLE、nCE、nRE)、1个状态引脚(R/nB),一个写保护引脚(nWP)。
DATA0-DATA7上既传输数据,又传输地址;
当ALE为高电平时传输的是地址;
当ALE为低电平,CLE为高电平时传输的是命令;
当ALE和CLE都为低电平时传输的是数据;
nCE为片选引脚;
状态引脚RnB:高电平表示就绪,低电平表示正忙;

操作NAND FLASH
发出命令,发出地址,发出数据/读数据
2440里有一个Nand Flash控制器,它有很多线连接Nand flash,控制器帮我们简化了那些操作,要发命令时,把命令值写到对应的寄存器里就可以了。
Nand Flash

寄存器

Nand Flash
NFCONF:设置时序参数,设置数据位宽
NFCONT:使能/禁止Nand控制器、使能/禁止片选引脚、初始化ECC
NFCMD(命令寄存器)
NFADDR(地址寄存器)
NFDATA(数据寄存器)
NFSTAT(状态寄存器)