主题 : u-boot 烧写nand flash出现坏块问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34628
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
贡献值: 0 点
综合积分: 20 分
注册时间: 2010-12-19
最后登录: 2012-06-06
楼主  发表于: 2011-07-23 01:09

 u-boot 烧写nand flash出现坏块问题

根据从本站下载的《u-boot移植s3c2440完全手册》移植u-boot-2009-11,使用其中的nand write.yaffs命令烧写文件系统,头几次烧根文件系统没事,有1次烧写后,内核自检时出现了488个坏块!!而且地址连续,信息片段如下:

... ...
Bad eraseblock 437 at 0x0000036a0000                                                                    
Bad eraseblock 438 at 0x0000036c0000                                                                    
Bad eraseblock 439 at 0x0000036e0000                                                                    
Bad eraseblock 440 at 0x000003700000                                                                    
Bad eraseblock 441 at 0x000003720000                                                                    
Bad eraseblock 442 at 0x000003740000                                                                    
Bad eraseblock 444 at 0x000003780000                                                                    
Bad eraseblock 445 at 0x0000037a0000                                                                    
Bad eraseblock 446 at 0x0000037c0000                                                                    
Bad eraseblock 447 at 0x0000037e0000                                                                    
Bad eraseblock 448 at 0x000003800000                                                                    
Creating 5 MTD partitions on "NAND 1GiB 3,3V 8-bit":    
... ...

我想问下,怎么一次烧写后能出现这么多坏块,而且地址连续?我是严格按照上面那个pdf文档的步骤移植的啊。
尤其是连续上百个坏块,太奇怪了??

难道是nand flash寿命到了?
级别: 骑士
UID: 11942
精华: 1
发帖: 144
金钱: 775 两
威望: 155 点
贡献值: 1 点
综合积分: 308 分
注册时间: 2009-12-25
最后登录: 2022-01-16
1楼  发表于: 2011-07-23 16:19
可能是校验错误 可以重新擦出校验信息试试
级别: 新手上路
UID: 34628
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
贡献值: 0 点
综合积分: 20 分
注册时间: 2010-12-19
最后登录: 2012-06-06
2楼  发表于: 2011-07-23 20:23
楼上的,你好,校验信息在哪里,是在nand flash的oob区吗?

是不是oob区的前2个字节为0xFFFF就表示该块可用,否则就是坏块啊?
级别: 新手上路
UID: 34628
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
贡献值: 0 点
综合积分: 20 分
注册时间: 2010-12-19
最后登录: 2012-06-06
3楼  发表于: 2011-07-24 15:10
我是楼主,经过实验发现,好像是u-boot-2009.11中nand write.yaffs命令的问题,只要用这个命令往nand flash上写入根文件系统后,再启动linux内核,内核会对nand flash扫描坏块,就会把写入的根文件系统标记为坏块,所以坏块会增加的如此迅速。

我的nand write.yaffs命令是按照本站上的《u-boot移植s3c2440完全手册》步骤移植的,怎么会出现这种错误呢,请高手指点啊,卡了好几天了。
学嵌入式的
级别: 侠客
UID: 34176
精华: 0
发帖: 64
金钱: 320 两
威望: 64 点
贡献值: 0 点
综合积分: 128 分
注册时间: 2010-12-12
最后登录: 2017-09-07
4楼  发表于: 2011-09-10 20:17
其实不是真正的坏块了,你只需要用f重新格式化nand flash,然后重新烧写系统就OK不