平台条件:s3c2416+K9GAG08U0D+Wince6.0
原有的驱动程序是4bit ECC校验,现在要改成8bit ECC校验,驱动程序为WHIMORY架构。现在的进度是:
1.将数据写入NANDFLASH正常,ECC相关寄存器能够产生正确的校验码,并且已经成功的写入到NANDFLASH的spare区。
2.在不开启ECC校验的情况下,读取NANDFLASH main区和spare区数据正常。
3.开启ECC校验后,每读取512字节,就从NANDFLASH的spare区中读取对应的ECC校验码(该校验码经过串口返回后发现,数据正常),然后等待ECC模块校验完成,然后通过NF8ECCERR0寄存器判断错误位数。但是,每次校验都是NF8ECCERR0[28:25] = 1010。(在手册中,1010~1111都是reserved)
问题:
1.从现象来看,好像是ECC校验模块儿并没有工作,不知道NF8ECCERR0[28:25] = 1010时有没有什么特殊的含义?
2.在参考大神“一介布衣萧萧”的博客时,发现他提到8 bit ECC校验需要使能一些中断,否则ECC校验无法正常工作。中断会影响ecc模块的工作与否么(我现在没有使能中断)? (blog:http://blog.csdn.net/brantyou/article/details/8205575)
跪求大神指点!!
------解决方案--------------------
对寄存器的处理方式是一样的 文章写得很不错