主题 : 对nand烧写过yaffs文件系统以后,再擦除,为什么烧过的区域变成了坏块? 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 87780
精华: 0
发帖: 93
金钱: 470 两
威望: 94 点
贡献值: 0 点
综合积分: 186 分
注册时间: 2013-02-26
最后登录: 2016-07-27
楼主  发表于: 2013-05-13 14:54

 对nand烧写过yaffs文件系统以后,再擦除,为什么烧过的区域变成了坏块?

图片:
问题是这样的,在前期的时候,我的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 #




烧完yaffs以后,为什么烧写过的地方擦除的时候全都是坏区了?
变成了坏块?
出现这种问题的原因是什么?用什么方法解决?
[ 此帖被lihp1603在2013-05-13 15:36重新编辑 ]
级别: 新手上路
UID: 38536
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2011-02-26
最后登录: 2013-12-03
1楼  发表于: 2013-09-17 09:32
顶起来,我也碰到了这个问题