第八章nand flash控制器
来源:互联网 发布:长三角师资招聘会 网络 编辑:程序博客网 时间:2024/05/01 17:01
第八章nand flash控制器
flash存储器的可靠性需要考虑3点:位反转、坏块、 和可擦除次数
一页528字节,分为a(0~255)、b(256~511)、 c区(512~527)
发出80h、4个地址序列及最多528字节数据之后, 发出命令字11h,仅在第4页的最后使用10h替代11h, 来启动flash内部的写操作, 此时可通过71h获知这些写操作是否完成
(11)读状态命令
8.1.4
s3c2440 nand flash 的读写操作次序:
1.设置NFCONF、NFCONT 寄存器,配置NANDlash
2.向NFCMD寄存器写入命令
3.向NFADDR寄存器写入地址
4.读/写数据:通过 寄存器NFSTAT检测NANDFLASH的状态,在启动某个操作后,应该检测r/ Nb信号以确定该操作是否完成、是否成功。
nfconf
设置nandflash的时序参数tacls、twrph0、 twrph1,设置数据位宽;还有一些只读位
nfcont
被用来使能/禁止nand flash 控制器、使能/禁止控制引脚信号nFCE、初始化ecC.
NFCMD
对于不同型号的flash,操作命令不同
nfaddr
写这个寄存器时,将对flash发出地址信号
nfdata
只用低8位,读、写此寄存器将启动对nand flash的读写操作
nfstat:nand flash状态寄存器
只用到位0,0:busy;1:ready
8.2.1 读nandflash 步骤
1.设置nfconf
tacls=0,twrph0=3,twrph1=0, 所以nfconf=0x300
2.设置nfcont
nfconf=(1<<4)|(1<<1)|(1<<0)
3.复位nandflash
nfcont&=(1<<1) //发出片选信号
nfcmd=0xff(reset 命令)//reset命令
nfcont|=0x2 //禁止nand flash
4.发出读命令
nfcont&=~(1<<1)
nfcmd=0
5.send addr
nfaddr=addr&0xff
nfaddr=(addr>>9)&0xff
nfaddr=(addr>>14)&0xff
nfaddr=(addr>>25)0xff
6.循环查询nfstat位0,直到他等于1, 这时就可以读数据了
7.连续读nfdata寄存器512次得到一页数据
8.禁止nandflash片选信号
nfcont|=(1<<1)
- 第八章nand flash控制器
- 第八章:nand flsh控制器 source code
- Nboot中nand flash控制器参数TACLS…
- Nboot中nand flash控制器参数TACLS…
- S3C2410 NAND FLASH控制器
- NAND Flash控制器
- nand flash控制器
- NAND FLASH控制器
- 【记录】NAND FLASH控制器
- JZ2440 NAND Flash控制器
- NOR Flash与NAND Flash
- NOR Flash、NAND Flash…
- s3c6410硬件NAND FLASH CONTROLLER(NAND FLASH 控制器)
- Nand Flash介绍和Nand Flash控制器使用
- NAND Flash控制器访问NAND Flash的方法
- DM368 NAND Flash启动
- (转载) 关于nor flash,nand flash…
- NAND Flash控制器的一些小知识
- 浅谈java中的单态设计模式
- 第10章 CLOCK
- QGtkStyle was unable to detect the current GTK+ theme接
- 嵌入式linux应用开发手册笔记
- 第9章 中断
- 第八章nand flash控制器
- 嵌入式linux第六章
- 第七章 内存管理单元MMU
- (10)异常a
- 第二章arm分类及寻址方式
- 第一章
- LR(R14)寄存器
- 第三章 arm指令集
- 嵌入式软件工程师面试题