ARM9 mini2451裸机学习——NAND flash驱动学习 1


一。基础

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页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值