TI中文支持网
TI专业的中文技术问题搜集分享网站

SD 启动的问题

你好

环境:

       1.现在使用的是源码是SDK6.0 ,以evm_SK 模板修改部分程序

       2.4G Kingston SD卡启动方式,boot 和rootfs

       3.电源供电无电池

情况:

      1最近在对多台板子拷机的时候发现运行时间超过24h 以后 对设备突然断电 设备就启动不了

      2.有关的内核错误打印有很多种情况

===================================================================

[ 11.819488] cpsw: Detected MACID = 70:bd:5f:c0:00:00
[ 11.825653] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 11.840484] kjournald starting. Commit interval 5 seconds
[ 11.846313] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[ 11.853546] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
[ 11.861053] Freeing init memory: 236K
[ 14.720153] mmcblk0: error -110 transferring data, sector 4879258, nr 8, cmd response 0x900, card status 0x200b00
[ 14.730957] mmcblk0: retrying using single block read
[ 19.043945] mmcblk0: error -110 transferring data, sector 4879258, nr 8, cmd response 0x900, card status 0x0
[ 19.054260] end_request: I/O error, dev mmcblk0, sector 4879258
=============================================

11.920288] mmcblk0: p1 p2
[ 12.009582] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
[ 12.016693] EXT3-fs (mmcblk0p2): write access will be enabled during recovery
[ 17.619293] mmcblk0: error -110 transferring data, sector 3572562, nr 8, cmd response 0x900, card status 0x200b00
[ 17.630035] mmcblk0: retrying using single block read
[ 24.663848] mmcblk0: error -110 transferring data, sector 3572562, nr 8, cmd response 0x900, card status 0x0
[ 24.674133] end_request: I/O error, dev mmcblk0, sector 3572562
[ 30.272888] mmcblk0: error -110 transferring data, sector 3572563, nr 7, cmd response 0x900, card status 0x0
[ 30.283142] end_request: I/O error, dev mmcblk0, sector 3572563
[ 35.881805] mmcblk0: error -110 transferring data, sector 3572564, nr 6, cmd response 0x900, card status 0x0
[ 35.892089] end_request: I/O error, dev mmcblk0, sector 3572564
[ 41.490814] mmcblk0: error -110 transferring data, sector 3572565, nr 5, cmd response 0x900, card status 0x0
[ 41.501068] end_request: I/O error, dev mmcblk0, sector 3572565
[ 47.099761] mmcblk0: error -110 transferring data, sector 3572566, nr 4, cmd response 0x900, card status 0x0
[ 47.110015] end_request: I/O error, dev mmcblk0, sector 3572566
[ 52.708679] mmcblk0: error -110 transferring data, sector 3572567, nr 3, cmd response 0x900, card status 0x0
[ 52.718963] end_request: I/O error, dev mmcblk0, sector 3572567
[ 58.317657] mmcblk0: error -110 transferring data, sector 3572568, nr 2, cmd response 0x900, card status 0x0
[ 58.327911] end_request: I/O error, dev mmcblk0, sector 3572568
[ 63.926574] mmcblk0: error -110 transferring data, sector 3572569, nr 1, cmd response 0x900, card status 0x0
[ 63.936859] end_request: I/O error, dev mmcblk0, sector 3572569
[ 63.943084] JBD: IO error reading journal superblock
[ 63.948272] EXT3-fs (mmcblk0p2): error loading journal
[ 63.953826] List of all partitions:
[ 63.957489] b300 3813376 mmcblk0 driver: mmcblk
[ 63.963073] b301 72261 mmcblk0p1 00000000-0000-0000-0000-000000000000
[ 63.970886] b302 3727080 mmcblk0p2 00000000-0000-0000-0000-000000000000
[ 63.978729] No filesystem could mount root, tried: ext3
[ 63.984283] Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 63.993103] Backtrace:[ 63.995666] [<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c0432018>] (dump_stack+0x18/0x1c)
[ 64.004486] r6:00008001 r5:c051c7a8 r4:c066c288 r3:c06203cc
[ 64.010437] [<c0432000>] (dump_stack+0x0/0x1c) from [<c0432254>] (panic+0x64/0x194)
[ 64.018432] [<c04321f0>] (panic+0x0/0x194) from [<c05c1d90>] (mount_block_root+0x1e4/0x228)
[ 64.027160] r3:c701df0c r2:00000020 r1:c701df40 r0:c051c7a8
[ 64.033111] r7:c051c810
[ 64.035736] [<c05c1bac>] (mount_block_root+0x0/0x228) from [<c05c1f88>] (mount_root+0xc8/0xe8)
[ 64.044769] [<c05c1ec0>] (mount_root+0x0/0xe8) from [<c05c2114>] (prepare_namespace+0x16c/0x1c0)
[ 64.053955] r4:c06695e0

=======================================================================

有些SD卡在用ubuntu 能够看到rootfs分区  但板子不能启动

Yaoming Qin:

从log来看,应该是突然掉电导致文件系统损坏,所以起不来。目前这个没什么特别好的方法,如果对稳定性要求很高,可以考虑加电池,安全关机。

vincent2:

回复 Yaoming Qin:

现在比较头疼的是,短时间上电一天以内没什么问题,超过一天之后很容易出问题。

现在SD卡的需要运行的程序都是先拷贝到/tmp 里 然后再运行这个copy的执行文件。

我理解如果没有对SD卡有写操作的话应该不会破坏rootfs,所以现在我们的程序写的文件都是用临时文件处理的。但是仍然出这种问题,关于ext3的管理应该不会这么脆弱吧。

winds2001:

回复 vincent2:

你好,我也是用的sdk6.0,用的里面自带的uboot2013.01,我之前有个uboot2011.09已经可以在板子正常运行,但是uboot下网络不通

我用uboot2013,.01修改ddr参数,屏蔽掉eeprom后,串口始终无任何输出,看到你用过sdk6.0,想问问你的uboot是怎么配置的,我还

需要修改什么东西么,谢谢

20112000@qq.com

vincent2:

回复 winds2001:

uboot 配置没有改,直接改的文件

vincent2:

回复 Yaoming Qin:

再请教一个问题,如何把rootfs分区设置成只读的,即使永久不更新里面的内容我们也不希望这么容易受损坏

Steven Liu1:

回复 winds2001:

我们有一个转帖说明如何去除掉EEPROM的设置,除了屏蔽外,还需要在做一些配置上的修改。

http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/68813.aspx

winds2001:

回复 vincent2:

请问要改什么文件,我主要改了ddr_defs.h文件。这是关于配置ddr参数的文件

其他的就是按照置顶的帖子屏蔽了EEPROM,其他代码没改

请问我还有需要改的地方么》

我现在的debug串口完全不出任何东西,也不出ccccccccccc

winds2001:

回复 Steven Liu1:

我完全是参照你的帖子去掉的eeprom设置,就按照你pdf的文件改的代码,没有看diff补丁文件,还有哪里需要配置的?

Steven Liu1:

回复 winds2001:

如果你的串口完全不出东西,我建议你先检查一下你的串口使用的是不是硬件串口0。如果你设置了从串口启动,并且执行到这一步的时候,串口0上是会打印出CCCC的,如果打印不出来,那建议检查:1.上电时序;2. 晶振是否起振;3. boot 模式的配置。从这三方面排查应该能找到原因。

winds2001:

回复 Steven Liu1:

有新进展,麻烦看帖子 《

MLO不能在调试终端打印消息

》一并说明

赞(0)
未经允许不得转载:TI中文支持网 » SD 启动的问题
分享到: 更多 (0)