u-boot和文件系统改写,不能启动
各位兄弟好,小弟在项目开发中遇到一个很郁闷的问题,自己搞了好久了也没有解决。特来这里请教大家了。
板子是我们自己画的,cpu用的at91rm9200,norflash用的是ST M29W640DB,文件系统为JFSS2。
我描述下问题的现象:
上电无任何输出信息,查看flash数据,发现第一个字节为0x00,正常为0x12
=> md 10000000
10000000: ea000000 e59ff014 e59ff014 e59ff014 ................
第一个字节改成12后能启动,但不能进入文件系统,报错:
jffs2_scan_inode_node(): Data CRC failed on node at 0x005201e4: Read 0x105a34f9,
calculated 0x61840a61
jffs2_scan_inode_node(): Data CRC failed on node at 0x00520ad8: Read 0x06e1069c,
calculated 0x1458655d
Control: C000717F Table: 213EC000 DAC: 00000015
pc : [<00089134>] lr : [<000bc018>] Not tainted
sp : bffffdfc ip : bffffe78 fp : bffffe74
r10: 00000004 r9 : fffffffc r8 : 000ffe9c
r7 : 001174a8 r6 : 001289c0 r5 : 00000000 r4 : 40001000
r3 : 00000022 r2 : 00000004 r1 : 000ffe9c r0 : fffffffc
Flags: nzCv IRQs on FIQs on Mode USER_32 Segment user
Control: C000717F Table: 213EC000 DAC: 00000015
这里我自己猜想了下可能有以下几个原因:
1.flash本身原因导致第一个字节内容改写。
2.系统中某一个地方的程序对flash内容做了错误的写操作。
我知道这里有很多牛人,希望大家帮我看看,是哪可能出了问题。谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一个一个作比较就好了啊
jffs2的每个擦除块的起始都是cleanmarker。其开始的4B是0x1985
看你的flash里面的内容,不是jffs2的格式。
启动到内核,然后格式化一下看看。