天嵌 ARM开发社区

 找回密码
 注册
查看: 7848|回复: 12

下载yaffs2文件系统时nand flash有坏块怎么解决

[复制链接]
danshi126 发表于 2011-12-4 13:09:02 | 显示全部楼层 |阅读模式
#####         Boot for Nor Flash Main Menu        #####
[1] Download u-boot or STEPLDR.nb1 or other bootloader to Nand Flash
[2] Download Eboot to Nand Flash
[3] Download Linux Kernel to Nand Flash
[5] Download CRAMFS image to Nand Flash
[6] Download YAFFS image to Nand Flash
[7] Download Program (uCOS-II or TQ2440_Test) to SDRAM and Run it
[8] Boot the system
[9] Format the Nand Flash
[0] Set the boot parameters
[a] Download User Program (eg: uCOS-II or TQ2440_Test)
[b] Download LOGO Picture (.bin) to Nand  Flash
[l] Set LCD Parameters
[o] Download u-boot to Nor Flash
[r] Reboot u-boot
[t] Test Linux Image (zImage)
[q] quit from menu
Enter your selection: 6
USB host is connected. Waiting a download.

Now, Downloading [ADDRESS:30000000h,TOTAL:2213914]
RECEIVED FILE SIZE: 2213914 (720KB/S, 3S)

NAND erase: device 0 offset 0x400000, size 0xfc00000
Skipping bad block at  0x02a80000                                            
Skipping bad block at  0x046e0000                                            
Skipping bad block at  0x05e20000                                            
Skipping bad block at  0x060e0000                                            
Skipping bad block at  0x093e0000                                            
Skipping bad block at  0x09460000                                            
Skipping bad block at  0x09680000                                            
Skipping bad block at  0x0a1e0000                                            
Skipping bad block at  0x0a880000                                            
Skipping bad block at  0x0c000000                                            
Skipping bad block at  0x0c780000                                            
Skipping bad block at  0x0fd20000                                            
Erasing at 0xffe0000 -- 100% complete.
OK

NAND write: device 0 offset 0x400000, size 0x21c810
Input block length is not page aligned
Data did not fit into device, due to bad blocks
2213904 bytes written: ERROR
raominping 发表于 2011-12-4 13:51:28 | 显示全部楼层
这个简单啊。。。。选择9 ,格式化nand flash。然后选择2.然后选择地址范围。
另外一种。按ESC。两次,会进入命令台。输入 nand scrub.就可以了。
http://bbs.embedsky.net/viewthre ... &extra=page%3D1
回复

使用道具 举报

 楼主| danshi126 发表于 2011-12-4 20:44:33 | 显示全部楼层
就是擦除无效才来问大家的咯

##### Erase Nand Menu #####
[1] Nand scrub - really clean NAND erasing bad blocks (UNSAFE)
[2] Nand earse - clean NAND eraseing
[q] Return main Menu
Enter your selection: 1

NAND scrub: device 0 whole chip
Warning: scrub option will erase all factory set bad blocks!
         There is no reliable way to recover them.
         Use this command only for testing purposes if you
         are sure of what you are doing!

Really scrub this NAND flash? <y/N> : y
Erasing at 0x28e0000 --  16% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x4500000 --  27% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x5c20000 --  36% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x5ea0000 --  37% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x91e0000 --  57% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5

NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x9480000 --  58% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xa140000 --  63% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xa660000 --  65% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xbfe0000 --  75% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xc500000 --  77% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xfae0000 --  98% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xffe0000 -- 100% complete.
OK
回复

使用道具 举报

 楼主| danshi126 发表于 2011-12-4 20:58:40 | 显示全部楼层
这个还有得救吗?  下载天嵌出厂YAFFS镜像也是提示坏块太多, 报错
回复

使用道具 举报

 楼主| danshi126 发表于 2011-12-5 10:28:45 | 显示全部楼层
Flash 还有得救么?  各位高手解答下
回复

使用道具 举报

亚瑟王 发表于 2011-12-5 22:14:17 | 显示全部楼层
亲,你烧写的yaffs文件系统镜像错了哦。以下错误信息都是镜像烧写错了引起的。根据你的格式化信息表明你的Nand是256MB的,我猜想你应该烧写成了64MB的镜像。
Input block length is not page aligned
Data did not fit into device, due to bad blocks
2213904 bytes written: ERROR
额外说明一下:
Nand Flash有坏块是正常的,在烧写yaffs时已经绕开了坏块了,它不会影响到你的正常使用的,这个和Nand Flash的结构有关系,三星公司生产出来的Nand Flash基本上都不能保证所有的没有坏块。当然我们可以在做u-boot的时候人为的屏蔽掉Nand坏块的信息,不过在我们看来这是不负责的行为,所以一直都没有屏蔽掉这个信息。
回复

使用道具 举报

 楼主| danshi126 发表于 2011-12-6 20:58:05 | 显示全部楼层
问题原因找到了,我是在制作yaffs2文件系统时,   制作yaffs2文件系统工具我是在网上下载的直接用的,,后来用编译天嵌光盘带的yaffs源码  得到的工具,,,就行了   但nand flash 有二十来个坏块....
回复

使用道具 举报

亚瑟王 发表于 2011-12-6 22:05:09 | 显示全部楼层
亲,要注意结贴哦。
回复

使用道具 举报

 楼主| danshi126 发表于 2011-12-13 09:45:55 | 显示全部楼层
怎么结贴呀,,没看到可以结的地方呀
回复

使用道具 举报

cba233 发表于 2012-3-28 08:57:57 | 显示全部楼层
亚瑟王 发表于 2011-12-5 22:14
亲,你烧写的yaffs文件系统镜像错了哦。以下错误信息都是镜像烧写错了引起的。根据你的格式化信息表明你的N ...

我的是用mkyaffsimage_2 编译的 怎么我的也是出现这样的错误啊
回复

使用道具 举报

亚瑟王 发表于 2012-3-28 11:35:55 | 显示全部楼层
cba233 发表于 2012-3-28 08:57
我的是用mkyaffsimage_2 编译的 怎么我的也是出现这样的错误啊

亲,请根据你实际使用的Nand Flash类型来选择命令:
mkyaffsimage_2命令是针对64MB的Nand Flash的。
mkyaffs2image命令是针对256MB的Nand Flash的。
回复

使用道具 举报

cba233 发表于 2012-3-28 12:05:21 | 显示全部楼层
亚瑟王 发表于 2012-3-28 11:35
亲,请根据你实际使用的Nand Flash类型来选择命令:
mkyaffsimage_2命令是针对64MB的Nand Flash的。
mk ...

当时候看错了 现在编出来了 谢谢
回复

使用道具 举报

亚瑟王 发表于 2012-3-29 12:01:21 | 显示全部楼层
cba233 发表于 2012-3-28 12:05
当时候看错了 现在编出来了 谢谢

解决了就好。
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-19 16:24 , Processed in 2.049300 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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