nandflash操作详解
1.nandflash就是嵌入式系统的硬盘
2.分类
(1)MLC:存储单元格存储两位,慢,偏移,寿命短,容量大
(2)SLC:存储一位。快,寿命长,容量小,昂贵
3访问;
(1)独立编址,有专用的控制器,控制器里有相应的寄存器,先送地址,然后命令,最后数据
(2)地址组成:行地址(页编号),列地址(在页中的偏移),一个nand可以有很多块,每一块可以很多页,每一页的两个部分可以不同规格
(3)信号引脚:
4.初始化nand控制器,(搜索关键字operation)
(1)初始化NFCONF,配置三个重要的与HCLK有关的时间参数
(2)初始化NGCONT,一开始要disable chip select 以及使能控制器
(3)复位:选中nandflash,清除RB标志,发送0xff命令,等待RB信号,取消选中RB信号
5.按页读
(1)选中nandflash
(2)清除RB标志
(3)写入0x00命令
(4)发送列地址,两次(但是由于是页读的方式,所以列地址,即页中的偏移量就是0)
(5)发送页编号,即行地址,分三次完成
(6)发送0x30命令
(7)等待RB信号变为ready
(8)读出数据,每次都取出数据寄存器的值,他会自动更新自己的值
(9)取消选中nandflash
6.修改之前的代码拷贝启动代码(之前只从iram复制到内存)
(1)时钟初始化有问题,错把UPLL当MPLL
(2)汇编和C语言的参数传递,不超过4个的时候,直接用r0--r3传递,且顺序和从函数的形参一致
(3)注意保存lr,否则连续两次跳转,会破坏lr,导致在执行完复制函数以后,不能返回到应执行的初始化后续代码部分
(4)注意在调用c函数之前进行栈的初始化
7.拷贝函数的三个参数,页的起始地址r0,(ulong,但是由于是页读方式,所以要去掉低11位,低11位是列地址,这里我们要去页编号,即行地址),内存起始地址r1(目标起始地址,uchar*),数据大小r3,每一页对应2048个字节(2K,视具体nandflash而言,每一个循环,大小减小2048)
8.一旦要去读取(等待)RB信号,之前就要对其进行清除;
一旦有选中操作,在结束之后要取消选中。
9.写入之前要擦除,参数是要擦除的页地址,擦除的是指定的页所在的块:
(1)选中nandflash
(2)清除RB标志
(3)写入0x60命令
(4)发送页编号,即行地址,分三次完成
(5)发送0xD0命令
(6)等待RB信号变为ready
(7)发送命令0x70
(8)读取擦出结果
(9)取消选中nandflash
(10)返回擦除结果
10.按页写
(1)选中nandflash
(2)清除RB标志
(3)写入0x80命令
(4)发送列地址,两次(但是由于是页读的方式,所以列地址,即页中的偏移量就是0)
(5)发送页编号,即行地址,分三次完成
(6)写入数据,用循环
(7)发送0x10命令
(8)等待RB信号变为ready
(9)发送命令0x70,
(10)读取写入结果,从数据寄存器读
(11)取消选中nandflash
(12)返回写入结果
最新文章
- Oracle 数据库重放(Database Replay)功能演示
- Python ORM Storm 源码修改
- Mac 识别NTFS移动硬盘
- IOS Animation-CAShapeLayer、UIBezierPath与Animation的结合
- .net获取本机公网IP代码
- maven工程通过命令打包
- liunx几台机器直接用ssh链接
- Graph database_neo4j 底层存储结构分析(8)
- 使用jQuery为表单添加回车事件
- Appium 切换上下文环境
- (转:亲测)cnblogs博文浏览[推荐、Top、评论、关注、收藏]利器代码片段
- css布局-多行文字垂直居中
- 使用hubuild,mui开发微信app—首页(一)
- Spring 4 支持的 Java 8 特性
- 浅谈js中的浅拷贝和深拷贝
- 关于Promise层层嵌套可读性差问题
- Linux 安装zabbix
- 关于flexjson将json转为javabean的使用
- 【Loadrunner】Loadrnner 参数化策略
- Qt5标准文件对话框类
热门文章
- 《Code Complete》ch.16 控制循环
- VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)
- 如何用ASPxTreeView建立三级树(显示及数据绑定)
- haproxy配置文件简单管理
- 部署Ossim
- 阿里 Java面试 知识点
- linux tcp状态学习
- poj2503 哈希
- Android IOS WebRTC 音视频开发总结(五二)-- 亲,咱一起采访webrtc大会的各路专家
- 很不错的安卓FadingActionBar控件源码