RSS订阅 | 匿名投稿
您的位置:网站首页 > 相关知识 > 正文

arm2440的nandflash相关函数

作者:habao 来源: 日期:2018/3/4 10:21:26 人气: 标签:相关函数

  4.ECC校验码分为main区的ECC和spare区的ECC,它们一般都会存放在64字节的spare区内,下面是翻译2440手册的关于ECC编程的内容:

  3)在你完成读或者写一个页后(不包含备用数据域),给 MainECCLock 1(lock) 。 ECC 校验码被锁上, ECC 状态寄存器的值将不会被改变。

  5)任何时候读或者写数据时,备用域 ECC 模块在寄存器 NFSECC 上产生 ECC 校验码。

  6)在完成读或者写备用域后,给 SpareECCLock 1(lock) 。 ECC 校验码被锁上, ECC 状态寄存器的值将不会被改变。

  return -1;//错误返回-1,这个-1表示的是的nandflash一直忙,这里是有问题的

  rNFSTAT = (1

  <

  <2);//清忙标志,没有超时,我给你正常设为清闲,返回值也没问题

  num=num*64;//表示要擦除的块地址,这种nandflash每一个块有64页,其他的就不一定了哈哈

  if (rNFDATA8&1)//如果最高位是1,下面报错,就是说擦除这个块没有成功,这个得记住!

  //这样的话addr是有格式要求的比如末尾几个零,结果这个函数里面没有加上所谓“对齐判断”失败啊!!

  //检测忙,这里有相当于是复位nandflash后检测nandflash,复位都不相信了,擦!

  

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址: