NAND Flash的驱动程序设计_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、nand flash的驱动程序设计参数解释:block,块号;page,页号;buffer,指向内存中待写入nand flash中的数据起始位置;返回值0,写错误,返回值1,写胜利。static int nf_writepage(unsigned int block, unsigned int page, unsigned char *buffer)nf_rstecc(); /* 初始化 ecc */nf_nfce_l(); /* 片选nand flash芯片*/nf_cmd(0x0); /* 从a区开头写 */nf_cmd(0x80); /* 写第一条指令 */* a0a7(列地址) */n

2、f_addr(0);/* a9a16(页地址) */nf_addr(blockpage /* a17a24(页地址) */nf_addr(blockpage8) /* a25(页地址) */nf_addr(blockpage16) /* 写页为512b到nand flash芯片 */wrdata(); /*oob一共16字节,每一个字节存放什么由程序员自己定义, 在byte0 byte2存ecc检验码,byte6 存放坏块标记*/wrdata(); /* 写该页的oob数据块 */cmd(0x10); /* 结束写指令 */waitrb();/* 等待nand flash处于预备状态 */*

3、发送读状态指令给nand flash */cmd(0x70);if (rddata()&0x1) /*假如写有错, 则标示为坏块,取消nand flash 选中*/markbadblock(block);return 0; else /* 正常退出, 取消nand flash 选中*/return 1;2.3 nand flash erase功能:块擦除指令。指令代码:首先写入60h进入擦写模式,然后输入块地址,接下来写入d0h, 表示擦写结束。参数解释:block,块号;返回值0,擦除错误(若是坏块挺直返回0;若擦除浮现错误则标志为坏块然后返回0),返回值1,胜利擦除。static int

4、nf_eraseblock(unsigned int block)/* 假如该块是坏块, 则返回 */if(nf_isbadblock(block) return 0;nf_nfce_l(); /* 片选nand flash芯片*/nf_cmd(0x60); /* 设置擦写模式 */* a9a16(page address) , 是基于块擦除*/nf_addr(blockpagenf_addr(blockpage8) /* a25(page address) */nf_addr(blockpage16) nf_cmd(0xd0); waitrb();cmd(0x70);if(rddata()&

5、0x1)/*如有错,标为坏块,取消flash选中*/markbadblock(block);return 0; else /* 退出, 取消flash 选中*/return 1;3 ecc校检原理与实现因为nand flash的工艺不能保证nand的memory array在其生命周期中保持性能牢靠,因此在nand的生产及用法过程中会产生坏块。为了检测数据的牢靠性,在应用nand flash的系统中普通都会采纳一定的坏区管理策略,而管理坏区的前提是能比较牢靠地举行坏区检测。假如操作时序和电路稳定性不存在问题的话,nand flash出错的时候普通不会造成囫囵块或是页不能读取或所有出错,而是囫囵页(例如512字节)中惟独一位或几位出错。对数据的校验常用的有奇偶校验、 crc校验等,而在nand flash处理中,普通用法一种专用的校验ecc。ecc能订正单位错误和检测双位错误,而且计算速度很快,但对1位以上的错误无法订正,对2位以上的错误不保证能检测。ecc普通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论