打印

谁能给提供一个nand flash的ECC校验代码?

[复制链接]
3678|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzh08|  楼主 | 2009-7-16 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
香水城| | 2009-7-16 13:13 | 只看该作者

STM32的固件库中有例子

使用特权

评论回复
板凳
lzh08|  楼主 | 2009-7-16 15:43 | 只看该作者

那个例子没有坏块检测和ECC校验

我没有看到

使用特权

评论回复
地板
香水城| | 2009-7-17 01:47 | 只看该作者

例子中有ECC校验

  FSMC_NANDInitStructure.FSMC_Bank = FSMC_Bank2_NAND;
  FSMC_NANDInitStructure.FSMC_Waitfeature = FSMC_Waitfeature_Enable;
  FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;
  FSMC_NANDInitStructure.FSMC_ECC = FSMC_ECC_Enable;   使能ECC校验
  FSMC_NANDInitStructure.FSMC_ECCPageSize = FSMC_ECCPageSize_512Bytes;
  FSMC_NANDInitStructure.FSMC_TCLRSetupTime = 0x00;
  FSMC_NANDInitStructure.FSMC_TARSetupTime = 0x00;
  FSMC_NANDInitStructure.FSMC_CommonSpaceTimingStruct = &p;
  FSMC_NANDInitStructure.FSMC_AttributeSpaceTimingStruct = &p;

  FSMC_NANDInit(&FSMC_NANDInitStructure);

  /* FSMC NAND Bank Cmd Test */
  FSMC_NANDCmd(FSMC_Bank2_NAND, ENABLE);

使用特权

评论回复
5
lzh08|  楼主 | 2009-7-17 10:11 | 只看该作者

是有这个“使能ECC”,但是如何使用呢?

比如说我想要在pageprogram之前检测ECC,通过什么方式取得ECC状态呢?是通过u32 FSMC_GetECC(u32 FSMC_Bank);这个函数么?通过他的返回值判断block的好坏么?还是通过其他的什么方式?
能给提供一个坏块检测的代码和ecc检测的代码参考么?
谢谢。

使用特权

评论回复
6
香水城| | 2009-7-17 11:58 | 只看该作者

你看看例子应该能够明白

ECC的计算是在写NAND Flash读写的同时完成的,在读或写一个Block的数据后,就可以得到ECC的数值。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

114

帖子

0

粉丝