zzjlovece
驱动牛犊
驱动牛犊
  • 注册日期2006-06-01
  • 最后登录2012-01-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望117点
  • 贡献值0点
  • 好评度84点
  • 原创分0分
  • 专家分0分
阅读:1589回复:7

请教nandflash驱动,ce6下面

楼主#
更多 发布于:2007-06-20 10:37
最近在ce6下面研究nandflash驱动,我参考了我之前在ce5下面做的nandflash驱动,具体函数之类的都是ce5下面可以使用的,只是参考了ce6下面TI的bsp里面的nandflash驱动修改了一下source文件里面的链接库,其它就没有做什么修改。
但是现在出现的问题是在read_sector的时候每次都是说ECC校验错误,而且前一次次拷贝在nandflash里面的文件之类第二次起来后也没有了。
大家知道是哪边出了问题呢?先谢谢大家了。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-22 06:57
会不会是读写时序引起的?
理论上6.0驱动比5.0的速度要快点啊.
学海无涯
zzjlovece
驱动牛犊
驱动牛犊
  • 注册日期2006-06-01
  • 最后登录2012-01-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望117点
  • 贡献值0点
  • 好评度84点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-25 12:26
microsun大侠,可能不是时序的问题。
就是我在FMD_Init里面自己调用FMD_WriteSector,然后再调用FMD_ReadSector,比较2个数据Buffer是一样的,也没有ECC校验错误的产生。但是如果是OS调用FMD_ReadSector的话就会出现ECC校验错误,我也把那些数据打印出来,发现跟Write的数据还是有不同的。
这个说明了时序应该没有问题吧?还是其它什么问题造成的?
谢谢了。
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-26 18:13
有一种可能就是CE5和CE6对ECC的存放区不一样,一般来说在小页面(512字节)的FLASH上,ECC是放在512+8后面开始的区域的,所以,你可以重点看下,从FLASH读出的ECC和NAND FLASH控制器中ECC的寄存器的比较那部分的代码,比较一下。
zzjlovece
驱动牛犊
驱动牛犊
  • 注册日期2006-06-01
  • 最后登录2012-01-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望117点
  • 贡献值0点
  • 好评度84点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-27 08:57
回LS的大侠:
谢谢了。我感觉应该不是ECC存放区的问题,我这个是270,没有那个Nand Flash控制器。
应该这个ECC放在spare区哪边都行,因为硬件底层操作的时候,我写ECC在spare区哪边,读的时候就从存放ECC的那里读出来就可以了。
现在的问题其实不是ECC错误,而是我把OS调用FMD_read,FND_write时候的sector数据打印出来,发现读出来sector数据确实跟之前写进去的sector数据不是完全一样的,所以导致了ECC校验错误。
但是我自己在FMD_Init里面自己调用FMD_WriteSector,FMD_ReadSector的话,读出来的Sector数据就跟写进去的Sector数据是一样的,也没有报ECC校验错误。
所以这个就非常奇怪了。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-04 08:16
我们也遇到过类似的问题,看看会不会是写了不至一遍??
学海无涯
zzjlovece
驱动牛犊
驱动牛犊
  • 注册日期2006-06-01
  • 最后登录2012-01-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望117点
  • 贡献值0点
  • 好评度84点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-04 08:57
microsun大侠,你说的写了不止一次是什么意思?同一个sector系统写了2次以上?还是...?
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-07-04 21:14
对,我们发现对于同一个SECTOR,ERASE以后,会出现写两次的情况,有的FLASH支持这种动作,但有些FLASH不支持.
学海无涯
游客

返回顶部