你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教 MT29F32G08 nand flash 移植 ????

[复制链接]
hpdell 提问时间:2016-12-13 10:11 /
悬赏5ST金币未解决
最近把历程的 nand flash 程序移植到 MT29F32G08CBACA 这个芯片上,出现如下问题,

如果单独使用如下函数进行测试是是正常的,

  FTL_Init() ;

  NAND_EraseBlock(4000);

    uint32_t RWDataSize = 8192 * 4;
  uint8_t  * nand_F_tx_buff =  (uint8_t  *)mymalloc(SRAMEX, RWDataSize );        
  uint8_t  * nand_F_rx_buff =  (uint8_t  *)mymalloc(SRAMEX, RWDataSize );        
  uint8_t i=0;
  for(cc=0; cc < RWDataSize; cc++)
  {
    nand_F_tx_buff[cc] = i * 2 ;
    nand_F_rx_buff[cc] = 0;
    i ++;
  }  

  NAND_WritePage( 4000, 6, &nand_F_tx_buff[0], 512);
  NAND_ReadPage(4000, 6, &nand_F_rx_buff[0], 512);   

  if( Buffercmp_8(&nand_F_tx_buff[0], &nand_F_rx_buff[0], 512) == 0)
    printf("NAND Data Read Write 8192 * 4 Test OK     ...  DD \r\n\r\n");
  else
    printf("NAND Data Read Write 8192 * 4 Test Error  ...  EE \r\n\r\n");   


  myfree(SRAMEX, nand_F_tx_buff);
  myfree(SRAMEX, nand_F_rx_buff);

上述测试是OK的

但是如果使用LUT功能建立分区表 就出错,格式化也是出错,也就是如下函数
u8 FTL_CreateLUT(u8 mode)

另外  hnand1.Init.ECCPageSize = FMC_NAND_ECC_PAGE_SIZE_1024BYTE;       //ECC页大小为1024字节 这个我配置是1024字节,根据资料介绍是1024字节,还有

还有#define NAND_ECC_SECTOR_SIZE                1024                        //执行ECC计算的单元大小,默认1024字节 我也改成了1024,

不知道其他的是否还需要修改啊 ???

mt29f32g08cbaca芯片的ecc资料介绍:


mt29f4g08abada芯片的ecc资料介绍:



收藏 2 评论16 发布时间:2016-12-13 10:11

举报

16个回答
cldym 回答时间:2016-12-27 09:33:35
帮顶帮顶
jcx0324 回答时间:2016-12-27 09:38:49
移植的是哪个例程?nand的驱动有点复杂
hpdell 回答时间:2016-12-27 09:47:34
本帖最后由 hpdell 于 2016-12-27 09:51 编辑
jcx0324 发表于 2016-12-27 09:38
移植的是哪个例程?nand的驱动有点复杂

你好,移植的正点原子的, 看stm资料,貌似只支持      1bit错误的ECC,也就是只支持SLC的nand flash 芯片,
MT29F32G08CBACA 这个nand flash 是MLC的芯片,估计是比较麻烦或者是stm的单片机不支持 MLC类型的 nand flash 吧

你们有没有什么好的办法啊(除跟换器件外) ??
ts2000 回答时间:2016-12-27 11:36:39
确实没用过,帮顶吧
无薪税绵 回答时间:2016-12-27 12:52:41
这个不会,只能帮楼主加人气了。
五哥1 回答时间:2016-12-27 16:14:50
美光和STM有关系吗?
jcx0324 回答时间:2016-12-28 08:54:47
MLC的话要用软件ECC,没验证过原子的nand控制算法,毕竟涉及到磨损管理,碎片利用,坏块管理等, 可以参考下RTX的nand驱动,貌似还挺好用的

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

hpdell 回答时间:2016-12-28 11:48:33
jcx0324 发表于 2016-12-28 08:54
MLC的话要用软件ECC,没验证过原子的nand控制算法,毕竟涉及到磨损管理,碎片利用,坏块管理等, 可以参考下RTX ...

你好,能否把这块的程序发上来共享一下啊
jackten 回答时间:2016-12-28 15:45:41
顶                       
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版