!!!!u-boot中NAND_flash的MTD驱动移植.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
!!!!u-boot中NAND_flash的MTD驱动移植.doc

u-boot中NAND flash的MTD驱动移植 u-boot中移植了linux中的MTD驱动源码来支持NAND flash擦除、烧写及读的驱动。MTD(memory technology device内存技术设备)是用于访问flash设备的Linux的子系统。MTD的主要目的是为了使新的存储设备的驱动更加简单并有通用接口函数可用。 MTD驱动可支持CFI接口的norflash驱动、NAND flash驱动。我们知道NAND flash的访问接口并没有像norflash一样提供了一个标准的CFI访问接口,但是NAND flash生产厂家之间在各品牌、各型号NAND falsh芯片的访问接口方面做了一些约定俗成规定,如命令字、地址序列、命令序列、坏块标记位置、oob区格式等。 值得注意的是:在工艺制程方面分NAND flash有两种类型:MLC和SLC。MLC和SLC属于两种不同类型的NAND FLASH存储器。SLC全称是Single-Level Cell,即单层单元闪存,而MLC全称则是Multi-Level Cell,即为多层单元闪存。它们之间的区别,在于SLC每一个单元,只能存储一位数据,MLC每一个单元可以存储两位数据,MLC的数据密度要比SLC 大一倍。在页面容量方面分NAND也有两种类型:大页面NAND flash(如:HY27UF082G2B)和小页面NAND flash(如:K9F1G08U0A)。这两种类型在页面容量,命令序列、地址序列、页内访问、坏块标识方面都有很大的不同,并遵循不同的约定所以在移植驱动时要特别注意。 下面以大页面的NAND flash:现代 HY27UF082G2B为例介绍一下NAND flash一些基本情况,再来介绍MTD驱动的基本结构及流程分析,最后介绍u-boot中MTD驱动移植的详细步骤: 3.4.1)NAND flash一些基本情况 fl2400开发板上的nandflash芯片型号为:现代 HY27UF082G2B,下面先介绍一下nandflash,及norflash与nandflash之间的区别: NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,它最重要得特征是支持片上执行,彻底改变了原先由EPROM和EEPROM一统非易失闪存天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,每比特更低的成本,更高的容量,并且象磁盘一样可以通过接口轻松升级。NOR flash更适合用来存储少量的关键的代码和数据,而NAND falsh则更适合存储大量的高密度的数据。 下表说明了norflash与nandflash之间的差异: 性能项目 Norflash Nandflash 容量 通常为1~4MB,最大为32MB 8MB~512MB 片上执行 支持,可以直接在其上启动bootloader 不支持,读要驱动。仅三星芯片支持steppingstone技术外,其他芯片必须搭配norflash启动bootloader 可靠性 比较高,位反转机率为nandflash的1/10 比较低,位反转很常见,必须要有校验措施。推荐使用EDC/ECC算法进行错误检查和恢复,这也导致了对nandflash的管理和编写驱动程序更为复杂。 访问接口 与RAM、eeprom相同,地址线和数据线分开,并行访问,可随机访问 地址、数据、命令并用I/O线,通过各使能引脚区分地址、数据及命令,串行访问,必须顺序访问 块大小(擦除单位) 64K~128K 8K~64K 块擦除时间 5S,很慢 3ms,快 读写速度 烧写慢,读快 读、烧写都很快 可擦除次数 1~10万次 10~100万次 主要用途 保存代码和关键数据 保存大量的高密度数据 文件系统支持 Jffs2 yaffs 价格 高 低 下面我们根据HY27UF082G2B的datasheet从以下几个方面详细说明: HY27UF082G2B概述 HY27UF082G2B,48脚TSOP1封装,容量2Gbit(256MB),位宽8位,地址、数据及命令复用I/O0~7。芯片封装图如下(截图自HY27UF082G2B datasheet): 从上图中可以看出:48个引脚中大部分没有用(NC),由于数据线复用所以HY27UF082G2B的真正需要连接引脚并不多。下表是HY27UF082G2B连接引脚功能表: 引脚名称 引脚功能 I/O0~I/O7 数据输入/输出 CLE 命令锁存使能 ALE 地址锁存使能 CE 片选使能 WE 写使能 RE 读使能 WP 写保护 R/B 就绪/忙信号输出 VCC 电源 VSS 地 NC 不接 由

您可能关注的文档

文档评论(0)

wgvi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档