完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-5 10:51 编辑
文件系统老是挂载失败,,不知道是不是ECC导致的 NAND: HW ECC Hamming Code selected 256 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Net: cpsw Hit any key to stop autoboot: 0 Card did not respond to voltage select! no sd card Card did not respond to voltage select! Booting from nand ... HW ECC BCH8 Selected NAND read: device 0 offset 0x280000, size 0x500000 5242880 bytes read: OK ## Booting kernel from Legacy Image at 80007fc0 ... Image Name: Linux-3.2.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3110672 Bytes = 3 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK XIP Kernel Image ... OK [ 1.918762] yaffs: dev is 32505863 name is "mtdblock7" rw [ 1.924407] yaffs: passed flags "" [ 3.339233] VFS: Mounted root (yaffs filesystem) on device 31:7. [ 3.345916] Freeing init memory: 244K [ 3.349792] Kernel panic - not syncing: No init found. Try passing init= opt ion to kernel. See Linux Documentation/init.txt for guidance. |
|
相关推荐
8个回答
|
|
谢谢回复。
这两天看了下源码,BCH8 ECC需要14*4=56字节,OOB区就只剩下6个字节了,不够yaffs使用的。 看来,只要使用BCH8,就不可能使用yaffs2了。 如果能使用BCH4,那么ECC要8*4=32字节,这样有可能用yaffs2,可惜PSP不支持。不知道增加BCH4有多大的难度。 如果使用软件纠错,我在想,还有没有必要使用yaffs? 有硬件纠错的jffs能比软件纠错的yaffs效率低吗?不知您有何高见? |
|
|
|
回你最后的那个帖子, 一个是oob的计算,请参考 processors.wiki.ti.com/.../AM335x_NAND_Driver%27s_Guide,我觉得可以用软件试试看,看性能如何
如果我的回答解决了您的问题,请确认答案,谢谢!:) |
|
|
|
终于成功了,,真他妈纠结啊,, 我用的是最新的mkyaffs2img,,是有问题的,文件大小超大,建议使用原先想就OK的mkyaffs2img,,还有就是uboot(不要用2011.09,有问题,用最新的)还有要修改参考blog.csdn.net/.../7879465
如果是正常的不带oob2字节偏移和ecc数据的img,烧写之前先使用nandecc sw, |
|
|
|
|
|
|
|
blog.csdn.net/.../6966383 这个上面讲了MTD_OOB_RAW与MTD_OOB_AUTO的区别,MTD_OOB_RAW直接烧写数据到OOB;
MTD_OOB_AUTO则会只修改OOB_FREE 数据,而且会增加offset(offset=2,前两字节为坏块标识,所以烧写时跳过); 使用MTD_OOB_AUTO烧写,再配合nandecc sw,就可以自行产生uboot带的ecc; |
|
|
|
总结下我的修改:
1、修改uboot代码中关于write.yaffs 部分(原先代码当没有坏块的情况下,直接烧写nand,没有烧写oob); 2、将内核的ECC改为SOFT_ECC; 3、在内核中加入yaffs2支持(最好使用以前使用过的OK的); 4、使用mkyaffs2img(以前OK的)制作img文件,使用nandecc sw 烧写; |
|
|
|
|
|
|
|
as819160932 发表于 2018-6-4 10:58 BSP中的kernel是支持BCH4 ECC的。uboot需要自行修改代码。 但是我下载kernel.org的linux3.10,kconfig是这样写的: choice prompt "BCH error correction capability" depends on MTD_NAND_OMAP_BCH config MTD_NAND_OMAP_BCH8 bool "8 bits / 512 bytes (recommended)" help Support correcting up to 8 bitflips per 512-byte block. This will use 13 bytes of spare area per 512 bytes of page data. This is the recommended mode, as 4-bit mode does not work on some OMAP3 revisions, due to a hardware bug. config MTD_NAND_OMAP_BCH4 bool "4 bits / 512 bytes" help Support correcting up to 4 bitflips per 512-byte block. This will use 7 bytes of spare area per 512 bytes of page data. Note that this mode does not work on some OMAP3 revisions, due to a hardware bug. Please check your OMAP datasheet before selecting this mode. endchoice 其中提到某些OMAP3 型号的4bitecc有硬件bug,就不知道具体是哪些型号了,既然有bug,TI也敢推出来? 对于2K页大小的SLC nand,移植yaffs最好的方案就是BCH4 ECC,如果懒得调,用uboot和内核都自带的SOFT ECC也是可以的。 另外,BCH4的算法应该是每512字节生成7字节的ecc校验码,ELM要求取偶数,7+1 = 8, 所以对于2K页的nand,OOB共64字节,OOB区需要占用8*4 = 28字节存放ecc code, 2 (badblock markers)+32(ecc code) + 28(yaffs tag)<64,所以说BCH4是最佳方案。 |
|
|
|
只有小组成员才能发言,加入小组>>
574 浏览 1 评论
408 浏览 1 评论
609 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
866 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
695 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
163浏览 29评论
1085浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
307浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
267浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
118浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-25 12:30 , Processed in 1.061388 second(s), Total 92, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号