【NAND FLASH】
中華田園犬
这个作者很懒,什么都没留下…
展开
-
NAND FLASH学习笔记之nand flash基础(三)
(4)nand flash的操作方法1、命令字NAND Flash的读取和烧录以(page)页为基础,擦除以块为单位。那么,在NANDFlash上有三种基本的操作:读取一个页, 烧录一个页和擦除一个块,这三个基本操作有各自的命令序列。实际上,大多数NAND Flash除提供了这三个基本操作外,还提供了很多其他的操作及操作命令序列,如:MT29F32G08CBACA就提供原创 2014-02-08 15:58:45 · 9600 阅读 · 2 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(一)
有了前面的基础,我们就可以研究MTD下的nand驱动了,我这里用的是jz4780grus开发板,我将以下面几个部分做一个介绍,如果有没有涉及的或者需要详细介绍的我还会再开几篇博客进行介绍,敬请参阅!!一、MTD概述二、MTD系统层次三、MTD设备节点的创建四、MTD子系统的注册五、NAND FLASH驱动层六、MTD原创 2014-02-08 17:47:58 · 8548 阅读 · 0 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(六)
六、驱动层之Flash读操作MTD对NAND芯片的读写 主要分三部分: A、struct mtd_info中的读写函数,如read,write_oob等,这是MTD原始设备层与FLASH硬件层之间的接口; B、struct nand_ecc_ctrl中的读写函数,如read_page_raw,write_page等,主要用来做一些与ecc有关的操作; C、struct nand_c原创 2014-02-11 15:19:28 · 5760 阅读 · 0 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(四)
三、MTD创建设备节点MTD子系统下如何创建设备节点?第一步:MTD设备层。(MTD子系统) register_chrdev注册字符型mtd设备,并添加该设备到内核,主设备号为90。但是此时还未在/dev下形成mtd设备节点。第二步:MTD原始设备层。(MTD子系统) class_register注册一个mtd类mtd_class,后面再注册mtd设备时会用到该class。原创 2014-02-11 15:09:33 · 3866 阅读 · 0 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(七)---我的调试
七、如何调试新的NAND FLASH芯片调试新的NAND FLASH芯片步骤如下:一、驱动程序的修改,例如:jz4780_nand.c中的修改(1)加入NAND flash 名称和 Nand flash 设备id 在 ****************************************************原创 2014-02-11 15:20:12 · 5749 阅读 · 0 评论 -
NAND FLASH学习笔记之nand flash基础(二)
4. 地址格式:地址分为:块地址、页地址、列地址,其中块地址和页地址又称为行地址CA[0:12]:列地址,用来选择页内偏移,由于页的大小(含OOB区)为(4k+224)byte,所以需要13位来表示PA[0:7]:页地址,用来选择一个块中的一页,由于块的大小为256个页,所以,需要8位来表示BA[8:19]:块地址,用来选择一个LUN中的块,由于一个LUN中的块数为4096原创 2014-02-08 14:29:35 · 6484 阅读 · 3 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(二)
在这里补充这一片是为了更好的理解上一篇,补充的内容包括:MTD下NAND的布局中几个重要文件的诠释和MTD涉及的几个重要的结构体(更好的理解接口)一、内核中的NAND代码布局内核中的NAND代码布局在Linux 内核中,MTD 源代码放在/driver/mtd 目录中,该目录中包含chips 、devices 、maps 、nand 、onenand 和ubi原创 2014-02-10 15:19:59 · 5716 阅读 · 0 评论 -
NAND FLASH学习笔记之nand flash基础(一)
一、 Nand Flash的几个重要的基本特性:1. NandFlash的IO接口 对于Norflash、dram 之类的存储设备,CPU 可以直接通过地址总线对其进行访问,而 Nand Flash 没有这类的总线,只有 IO 接口,只能通过复用的 IO接口发送命令和地址,从而实现对 Nand Flash 内部数据进行访问。(端口的复用)2原创 2014-02-08 14:18:24 · 22813 阅读 · 8 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(三)
三、MTD创建设备节点MTD子系统下如何创建设备节点?第一步:MTD设备层。(MTD子系统) register_chrdev注册字符型mtd设备,并添加该设备到内核,主设备号为90。但是此时还未在/dev下形成mtd设备节点。第二步:MTD原始设备层。(MTD子系统) class_register注册一个mtd类mtd_class,后面再注册mtd设备时原创 2014-02-10 15:20:36 · 5730 阅读 · 0 评论 -
NAND FLASH学习笔记之MTD下nand flash驱动(五)
驱动中probe函数的分析其中探测函数代码执行流程为: 在probe函数中主要是完成了NAND芯片级的初始化,主要有以下几个作用: -分配nand_chip内存,根据目标板及NAND控制器初始化nand_chip中成员函数(若未初始化则使用nand_base.c中的默认函数),将mtd_info中的priv指向nand_chip(或板相关私有结构),设置e原创 2014-02-11 15:16:23 · 5575 阅读 · 0 评论