一。基础
Flash:NOR Flash ,NAND Flash
系统上电时,会执行IROM中固化代码,把NAND Flash中的前4k拷贝到0x4000 0000(芯片内部RAM)位置运行。内存(外接芯片)(0x3000 0000)
如果执行的代码小于4k,程序直接在内部RAM直接运行。
如果执行代码大于4k,要把代码完整搬到内存运行。
NOR Flash的块(擦除单元)大小为 64kb-128kb 擦除时间4s
NAND Flash 8kb-64kb 2ms
Flash可靠性考虑3点:位反转(用EDC/ECC检测恢复),坏块,可擦除次数。
二。重点
1、mini2451 NAND Flash大小为 256MB,型号为K9F2G08U0B
2、命名规则:看官网文档(三星)
3、
一页:2K+64B
一块:64页 即 128K+4K
1 device:2048块 * 64页 * (2K+64B)
NAND Page = 2048B+64B(2K+64B)
block = 64 * page
= 64 * 2048B //1024B = 1KB
=128K
device = 2048 * 128K = 256M = 2GBit
4、NAND Flash 接口:
RnB:忙信号 1:ready 0:busy
nRFE:读使能
nFCE:chip enable 0:有效,选中芯片 1:操作无效
FCLE:命令锁存(cmd lock enable)
FALE:地址锁存(address lock enable)
nFWE:写使能 (write enable)0:有效
5、NAND Flash初始化
确定TACLS,TWRPH0,TWRPH1三个值
TACLS :表征了从 CLE/ALE 锁存信号有效到写使能经过的时间,具体时间为:=HCLK 时钟周期 * TACLS
TWRPH0 :表征了写有效持续时间,具体时间:=HCLK 时钟周期 * (TWRTH0 + 1)
TWRPH1 :表征了写无效到锁存无效的时间,具体时间:=HCLK 时钟周期 * (TRWTH1 + 1)
TACLS = 1,TRWTH0 = 4 , TRWTH1 = 1
6、时序图
A0-A11用来页内寻址 2048+64B
A18-A28用来块寻址 2048块
A12-A17用来表示某块中的第几页 64页