完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
NAND 上面都是坏块怎么办啊?
u-boot 上执行nand bad 发现nand 上都是坏块, 下载内核时 , 执行 nand scan 时 nand上也都是坏块!! 难道 u-boot和 内核的nand驱动都写错了?? 请 南方大哥 指点一下!!!! |
|
相关推荐
6个回答
|
|
对于每页大小为512字节的nand flash,每页都有16字节的oob区。
使用oob区的第6个字节来表示是不是坏块:oob[5]不是0xff就表明是坏块。烧写flash时不会修改oob[5]。 坏块出现太多的话,应该是你执行烧写命令时,将oob区的数据写错了。 解决方法了: nand scrub 这个命令强制擦除整个flash,所有的oob数据也被擦除了。 它有副作用:真正的坏块也被当作好块了,不过一般坏块比较少,影响不大。 |
|
|
|
|
|
|
|
有坏块是正常的,这不会影响系统──nand flash本身的坏块问题比较严重,yaffs文件系统支持有坏块的flash。
现在你的问题的根文件系统无法挂接,请参考: http://www.100ask.net/showtopic-15.aspx |
|
|
|
block 4073 is bad
block 4074 is bad block 4075 is bad block 4076 is bad block 4078 is bad block 4079 is bad block 4080 is bad block 4081 is bad block 4082 is bad block 4084 is bad block 4086 is bad block 4087 is bad block 4089 is bad block 4090 is bad block 4092 is bad block 4093 is bad block 4094 is bad block 4095 is bad VFS: Mounted root (yaffs filesystem) readonly. mount_devfs_fs(): unable to mount devfs, err: -2 Freeing init memory: 72K Warning: unable to open an initial console. Failed to execute /linuxrc. Attempting defaults... Kernel panic - not syncing: No init found. Try passing init= option to kernel. 其中.config 中的 CONFIG_CMDLINE="noinitrd root=/dev/mtdblock0 init=/linuxrc console=ttySAC0,115200" 是不是 init=/linuxrc 有问题?? |
|
|
|
原因可能很多,那篇文章讲了几个原因,一一验证吧
|
|
|
|
uboot的坏块处理程序所填充的数据不对,也就是说你用force erase命令强制擦除坏块记录后,坏块根本没有被取消。其实你自己写一个处理程序就行,只擦除oob信息就可以了
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2160 浏览 6 评论
1968 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4523 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:58 , Processed in 0.770592 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号