OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6350|回复: 11

nand flash 读写错误 2bit ???????

[复制链接]

260

主题

810

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1898
金钱
1898
注册时间
2012-10-28
在线时间
357 小时
发表于 2017-1-11 22:08:56 | 显示全部楼层 |阅读模式
2金钱


在读写 nand flash 时,出现很多 ECC 2 bit 错误 ??

下面贴出的图片只是显示出 2bit 错误的1/10而已,这个是不是说明 nand falsh 基本就算是坏了不能够使用了啊 ??

另外 我使用 fatfs 系统时,挂载系统总是失败,也不知道是什么情况 ???

gtg.png


最佳答案

查看完整内容[请看2#楼]

犯了个错误 在擦除的时候没有修改nand id //擦除一个块 //BlockNum:要擦除的BLOCK编号,范围:0-(block_totalnum-1) //返回值:0,擦除成功 // 其他,擦除失败 u8 NAND_EraseBlock(u32 BlockNum) { if(nand_dev.id==MT29F16G08ABABA)BlockNum
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-1-11 22:08:57 | 显示全部楼层
hi我歌月徘徊 发表于 2017-3-6 08:35
我用的也是slc的,型号为 M29F4G08ABAEA,但是原子程序所支持的是这个系列的ABADA,用原子的程序驱动,调 ...

犯了个错误 在擦除的时候没有修改nand id
//擦除一个块
//BlockNum:要擦除的BLOCK编号,范围:0-(block_totalnum-1)
//返回值:0,擦除成功
//    其他,擦除失败
u8 NAND_EraseBlock(u32 BlockNum)
{
        if(nand_dev.id==MT29F16G08ABABA)BlockNum<<=7;          //将块地址转换为页地址
    else if(nand_dev.id==MT29F4G08ABADA)BlockNum<<=6;
        else if(nand_dev.id==MT29F4G08ABAEA)BlockNum<<=6;
    *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_ERASE0;
    //发送块地址
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)BlockNum;
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)(BlockNum>>8);
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)(BlockNum>>16);
    *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_ERASE1;
        if(NAND_WaitForReady()!=NSTA_READY)return NSTA_ERROR;//失败
    return 0;        //成功   
}
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-3-4 16:25:49 | 显示全部楼层
楼主搞的怎么样了 我在在搞这个
回复

使用道具 举报

260

主题

810

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1898
金钱
1898
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2017-3-5 09:00:21 | 显示全部楼层
hi我歌月徘徊 发表于 2017-3-4 16:25
楼主搞的怎么样了 我在在搞这个

更换芯片,因为stm的不支持 MLC的芯片,目前只支持SLC的芯片
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-5 21:42:52 | 显示全部楼层
你这是我们板子么?
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-3-6 08:35:34 | 显示全部楼层
hpdell 发表于 2017-3-5 09:00
更换芯片,因为stm的不支持 MLC的芯片,目前只支持SLC的芯片

我用的也是slc的,型号为 M29F4G08ABAEA,但是原子程序所支持的是这个系列的ABADA,用原子的程序驱动,调试的时候串口也是报了 2bit ecc err or more。而且我下载了ABAEA系列的手册 重新配置了
        nand_dev.page_totalsize=4320;          //nand一个page的总大小(包括spare区)     
        nand_dev.page_mainsize=4096;           //nand一个page的有效数据区大小   
        nand_dev.page_sparesize=224;        //nand一个page的spare区大小
        nand_dev.block_pagenum=64;                //nand一个block所包含的page数目
        nand_dev.plane_blocknum=1024;        //nand一个plane所包含的block数目
        nand_dev.block_totalnum=2048;          //nand的总block数目  
还是错误,想重新买芯片了。。。
回复

使用道具 举报

260

主题

810

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1898
金钱
1898
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2017-3-6 16:00:13 | 显示全部楼层
hi我歌月徘徊 发表于 2017-3-6 10:49
犯了个错误 在擦除的时候没有修改nand id
//擦除一个块
//BlockNum:要擦除的BLOCK编号,范围:0-(block_t ...

你现在的可以了吗 ??
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-3-7 08:42:10 | 显示全部楼层
hpdell 发表于 2017-3-6 16:00
你现在的可以了吗 ??

恩恩 可以
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2107
金钱
2107
注册时间
2017-2-11
在线时间
307 小时
发表于 2017-3-7 09:34:20 | 显示全部楼层
路过,过来学习一下~~
回复

使用道具 举报

260

主题

810

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1898
金钱
1898
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2017-3-7 11:32:34 | 显示全部楼层

我现在驱动 MT29G16G08ABABA的,貌似驱动总是不怎么稳定,也不知道是怎么回事
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-3-8 08:58:46 | 显示全部楼层
hpdell 发表于 2017-3-7 11:32
我现在驱动 MT29G16G08ABABA的,貌似驱动总是不怎么稳定,也不知道是怎么回事

page block大小修改了吗
回复

使用道具 举报

260

主题

810

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1898
金钱
1898
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2017-3-8 09:18:49 | 显示全部楼层
hi我歌月徘徊 发表于 2017-3-8 08:58
page block大小修改了吗

这些参数都改了,地址也做了相应的更改,但是貌似还是不怎么稳定,也不知道是怎么回事??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 02:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表