sniper167
驱动中牛
驱动中牛
  • 注册日期2006-07-12
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分13分
  • 威望411点
  • 贡献值0点
  • 好评度321点
  • 原创分0分
  • 专家分0分
阅读:1022回复:0

一个nand flash的怪问题[块设备、ECC相关]

楼主#
更多 发布于:2007-05-21 09:40
以前的nand flash是通过MS的FAL+FMD来做为一个块设备来加载的,也就是我们看到的residentflash
现在我不用MS的FAL了,我自己实现了一个块设备驱动层,这个块设备驱动已经在SD卡驱动中得到验证,是正确的,用到nand flash上时做了少许修改。
我现在使用的这片nand flash,我能保证他没有坏块,我是通过一个跟MS bootpart.lib中的BP_LowLevelFormat函数同样流程的函数来检测flash的。
但是在通过这个块设备驱动加载nand flash时,当通过DSK_IOControl往flash写一些数据后,再去读的时候,就会出ECC错误。这些数据类似MBR。
我把出ECC错误的这页据记录下来,另外写了个测试程序在DSK_Init中调用,在测试程序中,我把保存的这页数据拿来往nand flash上再写再读时,ECC错误却不存在了,即使在相同的页也不出ECC错误了。
但是OS通过调用DSK_IOControl来写这些数据时,却要出ECC错误
我的测试程序和DSK_IOControl都是通过调用FMD中的驱动来实现对nand flash的操作的
我在检测nand flash是否为坏块的时候也反复的往flash里读写数据,但都不出ECC错误

大家帮我看看该往哪个方向去发现问题症结所在喃
感谢
[url]http://sniper167.bokee.com[/url]
游客

返回顶部