打印

烧写yaffs文件系统,烧多大的文件系统,就出现多大的坏块。

[复制链接]
1752|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lihaiping1603 于 2013-5-13 15:35 编辑

问题是这样的,在前期的时候,我的nand erase.chip擦除整个块,只是出现少数的区域出现坏块,但今天当我在uboot中支持yaffs以后,我尝试这对nand烧写yaffs文件系统,结果烧写成功了,但事后当我擦除的时候,我发现,刚刚烧写过yaffs文件系统的所有块都变成了坏块。只要刚烧过,就会出现这个块是坏块。
还有一个问题,我说明一下,但是烧写的yaffs文件系统可能不太适合我的nand,我是人工将它计算大小,然后烧写的。。
下面是我烧写的时候的情况...
YDZX210 # tftp 0x21000000 rootfs_rtm_210-mlc2.img
dm9000 i/o: 0x88000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
Using dm9000 device
TFTP from server 192.168.1.190; our IP address is 192.168.1.192
Filename 'rootfs_rtm_210-mlc2.img'.
Load address: 0x21000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############################################
done
Bytes transferred = 13094016 (c7cc80 hex)
YDZX210 # nand erase 0x900000 0xc7e200

NAND erase: device 0 offset 0x900000, size 0xc7e200
Skipping bad block at  0x01000000
Skipping bad block at  0x01100000
Skipping bad block at  0x01300000
Skipping bad block at  0x01500000

OK
YDZX210 # nand write.yaffs 0x21000000 0x900000 0xc7e200

NAND write: device 0 offset 0x900000, size 0xc7e200
9% is complete.18% is complete.26% is complete.35% is complete.43% is complete.5
2% is complete.60% is complete.69% is complete.77% is complete.86% is complete.9
4% is complete.100% is complete. 13099520 bytes written: OK
YDZX210 #

其中图中联系的坏块就是烧写过的区域。。。。

FSQMW_F~M@Y}Q]NBM`K(}(I.jpg (108.41 KB )

出现的坏块

出现的坏块

相关帖子

沙发
阿南| | 2013-5-14 10:22 | 只看该作者
换一块NAND试试

使用特权

评论回复
板凳
jlass| | 2013-5-14 13:08 | 只看该作者
我以前做2416的时候,有个问题和你很像。
当时新买的2416烧的是使用ECC的wince系统,我给改成了不使用ECC的linux系统,烧写的时候没有问题,但是擦除的时候,只要写过的nand块全报错,和你的情况一样,进行scrub以后才正常。虽然你未必是一样的问题,只是我觉得还是和ECC有关,更准确的说应该是和oob有关。

使用特权

评论回复
地板
zhlei1001| | 2014-4-16 18:59 | 只看该作者
jlass前辈你好!
我现在也遇到同样的问题。
我用SD卡烧写程序,nand scrub后u-boot将程序成功烧写至nand flash中,然后通过nandflash启动后发现之前写数据的地方全为bad block。
我用串口调试发现,我任意向nandflash中写入数据,然后对另外一段nandflash执行nand erase,则nand bad发现之前写入数据的块全为bad block。

还请前辈不吝赐教!不胜感激!

使用特权

评论回复
5
zhlei1001| | 2014-4-16 18:59 | 只看该作者
jlass 发表于 2013-5-14 13:08
我以前做2416的时候,有个问题和你很像。
当时新买的2416烧的是使用ECC的wince系统,我给改成了不使用ECC的 ...

jlass前辈你好!
我现在也遇到同样的问题。
我用SD卡烧写程序,nand scrub后u-boot将程序成功烧写至nand flash中,然后通过nandflash启动后发现之前写数据的地方全为bad block。
我用串口调试发现,我任意向nandflash中写入数据,然后对另外一段nandflash执行nand erase,则nand bad发现之前写入数据的块全为bad block。

还请前辈不吝赐教!不胜感激!

使用特权

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

本版积分规则

3

主题

16

帖子

1

粉丝