linux系统下操作nandflash指令,Linux驱动之Nand Flash原理及硬件操作
Nand Flash 是一个存储芯片
那么:这样的操作很理“ 读地址A的数据,把数据B写到地址A”
问1:原理图上的Nand Flash和SC2440之间只有数据线,怎么传输地址?
答:在Data0-Data7上既传输数据,又传输地址,当ALE为高电平时传输的是地址
问2:从Nand Flash芯片手册可知,要操作Nand Flash需要先发出命令,怎么传入命令。
答:在Data0-Data7既传输数据,又传输地址,也传输命令
当ALE为高电平时传输的是地址
当CLE为高电平时传输的是命令
当ALE和CLE为低电平时传输的是数据
问3:数据线既接到Nand Flash,也接到NOR Flash,还接到SDRAM等等,怎么避免干扰?
答:这些设备,要访问之前必须选中
没有选中的芯片不会工作,相当于没有接一样
问4:假设烧写Nand Flash,把命令、地址、数据发给它之后,Nand Flash肯定不可能瞬间完成烧写的,怎么判断烧写完成?
答:通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平正忙。
怎么操作Nand Flash呢?
答:根据Nand Flash的芯片手册,一般的过程是:
发出命令
发出地址
读写数据
以上操作可以从时序图上得到
我们先看下nandflash的布线
有data0 到data7 八根数据线
nandflash是个存储芯片,那我提出请求:读地址a的数据,把数据b写到a地址上去
那么我们看原理图只看到data0-data7,没有看到地址引脚,那怎么把地址传给我们的开发板
复用,这几个引脚即传数据也传地址
怎么分别是数据还是地址呢,有个ALE信号,当ALE是高电平时,传输的是地址
但是它不仅只传输地址和数据,还传输命令,在nand flash芯片手册可知,要操作nandflash要先发出命令,只有八条数据线,怎么传输命令呢???
当CLE为高电平的时候传输的就是命令,当ALE和CLE都为低电平的时候传输的是数据。
这个data0 有的开发板不仅仅只接nandflash,还有的接norflash等等非常多的地方
数据线 地址线等即接到nandflash,也接到norflash,还接到sdram,DM9000等等。怎么避免干扰,比如说我访问nandflash的时候,norflash就不要给我提供数据
你就要相当与没接一样,怎么避免干扰呢???
就是通过这些设备要访问之前,必须选中,什么叫选中呢,他们都有片选信号,就要我们的片选引脚变为低电平选中,就是cs引脚,没有选中的芯片不会工作,相当于没接一样
假设烧写nandflash,把数据、命令、地址发给他之后,nandflash肯定是不可能瞬间完成的,怎么判断烧写完成,通过状态引脚RnB来判断,它为高电平表示完成就绪。为低电平表示正忙
we和re就是读写信号..
怎么操作nandflash
根据nandflash的芯片手册,一般过程是:发出命令,发出地址,读写数据。
nandflash的命令表格如下
我们往下看,拿个例子来看,读ID这个例子的时序图
每个nandflash都会内嵌ID,比如厂家ID啊等等。
时序图 横轴是时间,时序图怎么看呢 ,从左往右看。纵向方向就是一列一列 来看
然后可以看到发出命令 90,怎么知道的 ,在数据线上发出90这个值,怎么知道它是命令的,就是CLE是高电平。然后给它一个写脉冲。这个写信号的上升沿nandflash就会把数据存进来,它就知道了我是一个命令。
然后接着发出一个0地址,然后就可以读数据了
对于我们芯片来说里面集成了一个nandflash控制器,内部接线。它帮我们简化了这些操作,
nandflash 芯片(rus5pv210)
选中芯片
发命令的操作CLE变为高电平把命令值写到NFCMD寄存器里就可以了
在data0-data7输出命令值
提供一个写脉冲
选中芯片
发地址ALE输出高电平
在data0-data7输出地址值把地址写入NFADDR寄存器里就可以了
提供一个写脉冲
选中芯片
发数据ALE,CLE输出低电平
在data0-data7输出数据的值把地址写入NFDATA寄存器里就可以了
提供一个写脉冲
选中芯片
读数据发出一个读脉冲
读data0-data7的数据
我们可以用uboot体验nandflash的操作
1.读ID,时序图在上面
选中
发出0x90命令
发出地址0x00
读第一个数据会得到0xEC
读第二个数据得到device code
选中的话芯片手册的nand flash章节 可以知道
选为0为选中
发出命令就是把命令写到下面这个寄存器里面去
同理 地址和数据也是一样寄存器如下
但是在uboot里面怎么操作呢
uboot里面有命令可以读内存的
md.w 0xB0E0_0004 1 这命令表示读 0xb0e00004 读一次
mw.w 是写命令
md 内存显示 b是以字节为单位,w是以2字为单位,l是以四字节为单位
读ID命令流程如图
读出dc
我们验证一下 nandflash里面读ID下面就有这张图
结束读ID的命令 就是NFCMD 寄存器等于0xff 就是命令的reset
2.读数据
我们可以根据uboot的nand dump 0命令读取0地址的数据
我们来一下nandflash读操作的时序图
为什么中间有五个地址
看容量
读00数据命令如下
跟上面的输出是一样的
linux系统下操作nandflash指令,Linux驱动之Nand Flash原理及硬件操作相关推荐
- linux 内核 scsi底层驱动程序,Linux系统下基于SCST的SCSI_Target驱动设计.doc
Linux系统下基于SCST的SCSI target驱动设计 摘要 随着信息数字化的深入发展,数据存储的需求日益增长.存储虚拟化带给我们最直接的益处就是,提高存储利用率,降低成本,简化存储管理,而基于 ...
- linux系统下的ps指令详解
文章目录 一.引言 二.初探ps指令 三.第二部分:进程信息解读 四.第三部分:进程过滤与排序 五.第四部分:实例应用与总结 一.引言 在Linux系统中,有许多命令可以帮助我们监控和管理系统中正在运 ...
- linux系统下王者荣耀,在Linux下可用Wine安装和运行腾讯手游助手、王者荣耀电脑版...
在Linux操作系统下可用Wine安装和运行腾讯手游助手.王者荣耀电脑版.exe文件,它们是Windows下的软件,在Linux中借助Wine就可以使用腾讯手游助手和王者荣耀电脑版了,已亲测有效. 说 ...
- linux系统下安装游戏,在Linux系统下安装GameHub来管理所有游戏
本文将介绍在Linux操作系统下安装GameHub,并且使用它来管理所有游戏,包括使用GameHub安装游戏. 简介 GameHub是一个统一的游戏库,允许在GNU/Linux系统上查看.安装.运行和 ...
- linux系统下查看cpu功耗,Linux系统下查看CPU信息
Linux系统下查看CPU信息 查看CPU信息(型号): # cat /proc/cpuinfo| grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon( ...
- linux系统下io的过程,Linux系统基础知识:IO调度
Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...
- linux系统下删除vsftp用户,Linux下VsFTP和ProFTP用户管理高级技巧 之一
Linux下VsFTP和ProFTP用户管理高级技巧 FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用M ...
- linux系统下添加中文字体,linux添加中文字体
Linux系统添加中文字体 从windows系统的字体目录(一般为C:\WINDOWS\Fonts)下拷贝字体文件, 比如:simsun.ttc,到linux目录下,如/usr/share/fonts ...
- linux系统下监控录像软件,Linux系统资源监控-Linux系统资源监控工具(LinuxSysMonitor)下载-西西软件下载...
Linux系统资源监控工具(LinuxSysMonitor),吾爱大神原创制作的一个Linux系统资源监控工具,整合了多套命令系统,用户需要在JDK环境下调用该工具才能顺利运行,可以查看磁盘速度,CP ...
最新文章
- java编程题有难度的_算法与编程面试题 不喜勿喷 难度指数:*****...
- java正则表达式 分词_[Java]使用正则表达式实现分词
- angularJS前端分页插件
- 软件测试 接口测试 入门Jmeter 接口关联 提取器 断言 与fiddler配合使用 使Jmeter录制和创建脚本 操作数据库 持续集成测试
- 第一章计算机视觉引论
- Android提取分区镜像命令,Android取证:使用ADB和DD对文件系统做镜像
- 高速CAN收发器TJA1043的状态机
- 中国“脑计划”研究正在悄然布局
- Burp Suite设置浏览器代理
- 五轴转台哪家质量比较好?
- 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能
- iOS 项目源码大全 github 国内外大神
- 免费的思维导图软件哪个好?这篇文章告诉你
- html短信验证代码是什么意思,如何让验证码显示出来 在手机找到短信选项并进入...
- php鼠标悬停显示图片,HTML CSS 实现鼠标悬停时图片拉近效果
- 3ds max 2012 VRay 2.0-效果图设计与制作-VRay运动模糊设置
- 计算机网络中和通信相关,计算机网络和通信基础知识
- 王者营地显示主宰进攻服务器,王者荣耀必备知识点 暴君主宰及野区兵线刷新时间...
- Outlook 2016 pst/ost邮件数据文件迁移实现(默认存储路径修改)
- Kiwi,BDD行为测试框架--iOS攻城狮进阶必备技能