韦东山一期视频学习笔记Nandflash

硬件原理分析

引脚功能

CLE高电平ALE低电平时传输命令
CLE低电平ALE高电平时传输地址
ALECLE低电平时传输数据
CLE片选信号低电平有效,因为LDATA信号是多芯片共用的
RnB状态引脚,高电平表示空闲,低电平表示正忙
WE引脚上升沿锁存写入数据
RE下降沿后延迟tREA读出数据

可以看到WE上升沿通知nand写入数据,RE下降沿后延迟tREA输出数据

直接操作和nand控制器操作对比

命令列表

使用uboot体验nand操作

uboot安装参考上一篇文章韦东山一期视频学习笔记-Norflash
####读ID

1.选中芯片
NFCONT(0X4E000004)bit1置1选中芯片,md.l 4E000004 1读出寄存器值(因为是32bit寄存器)

可以看到芯片没有选中,mw.l 4E000004 1使能nand flash

2.发出命令0x90
NFCMMD(0X4E000008)写入0x90,mw.b 4E000008 90b写入1字节)

3.发出地址0x00
NFADDR(0X4E00000C)写入0x00,mw.b 4E00000C 00b写入1字节)

4.读数据
读取NFDATA(0X4E000010)uboot命令md.b 4E000010 1

5.读Device Code
读取NFDATA(0X4E000010)uboot命令md.b 4E000010 1

可以看到读出的数据和芯片手册一致

6.退出读ID状态Reset
mw.b 4E000008 ff

读0地址内容

使用uboot命令nand dump 0可以查看nand内数据

读操作时序

发出以下命令进行读0地址测试

mw.l 4E000004 1 //使能nand flash
mw.b 4E000008 00 //发出命令
mw.b 4E00000C 00 //发出地址
mw.b 4E00000C 00 //发出地址
mw.b 4E00000C 00 //发出地址
mw.b 4E00000C 00 //发出地址
md.b 4E000010 1 //读数据

可以看出运行结果和uboot命令直接读取nand flash结果一致

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理