当前位置: 技术问答>linux和unix
yaffs2和MLC 4G nand flash驱动问题
来源: 互联网 发布时间:2017-01-09
本文导语: 最近在做MLC 4G nand flash驱动,现在驱动完成。 但是mount -t yaffs2 /dev/mtdblock0 /root/nand/之后, 执行cp文件到/root/nand/,或者其他操作,有下面的错误: 1, **>> Block 203 needs retiring **>> yaffs write required 2 attempts …...
最近在做MLC 4G nand flash驱动,现在驱动完成。
但是mount -t yaffs2 /dev/mtdblock0 /root/nand/之后,
执行cp文件到/root/nand/,或者其他操作,有下面的错误:
1,
**>> Block 203 needs retiring
**>> yaffs write required 2 attempts
……
2,还会调用nand_default_block_markbad标记坏块(其实不是坏块)
3,__nand_correct_data 中 uncorrectable error
初步推测是因为4G nand flash,有溢出??ecc??
fs/yaffs2/需要修改??
之前没做过,没思路,网上搜索,yaffs2蛮复杂,求指导...
但是mount -t yaffs2 /dev/mtdblock0 /root/nand/之后,
执行cp文件到/root/nand/,或者其他操作,有下面的错误:
1,
**>> Block 203 needs retiring
**>> yaffs write required 2 attempts
……
2,还会调用nand_default_block_markbad标记坏块(其实不是坏块)
3,__nand_correct_data 中 uncorrectable error
初步推测是因为4G nand flash,有溢出??ecc??
fs/yaffs2/需要修改??
之前没做过,没思路,网上搜索,yaffs2蛮复杂,求指导...
|
mtdblock0一般是存放u-boot的,u-boot 并非yaffs2格式.
yaffs的确让很多人苦了一把, 从 yaffs mtd utils u-boot kernel都有可能出问题
新的yaffs倒是对oob的部分做了调整与kernel一致了.
uncorrectable error 这个可能是写u-boot中写时采用的ecc规则与kernel中的不一致.
如果都是在kernel中写的, 也有可能是本身ecc 配置不对, 我遇到是采用硬件ecc,写时与读时产生的ecc不同, 每次读时都会出现这个,改成软件ecc没事.
yaffs的确让很多人苦了一把, 从 yaffs mtd utils u-boot kernel都有可能出问题
新的yaffs倒是对oob的部分做了调整与kernel一致了.
uncorrectable error 这个可能是写u-boot中写时采用的ecc规则与kernel中的不一致.
如果都是在kernel中写的, 也有可能是本身ecc 配置不对, 我遇到是采用硬件ecc,写时与读时产生的ecc不同, 每次读时都会出现这个,改成软件ecc没事.