Wolf_cgl 2017-01-19 10:36 采纳率: 0%
浏览 8625

SD卡初始化失败 error -110 whilst initialising SD card

最近在uboot中做固件升级,需要在uboot阶段识别SD卡。这部分功能已经OK了,但是有一张Toshiba Exceria 128G的SDXC卡识别有问题,然后在进入kernel后也识别不出来,抛出mmc0: error -110 whilst initialising SD card。但是kernel启动完成之后,重新插拔卡是能够识别成功的。

内核中添加打印如下:
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
SCU 0x40 : 0x00000020 at 400000 Hz
mmc0: starting CMD41 arg 00000000 flags 000000e1
response 0x00ff8000 0x00000000 0x00000000 0x00000000
mmc_send_app_op_cond err = 0
mmc_select_voltage = 60000
mmc0: starting CMD41 arg 40060000 flags 000000e1
response 0x00ff8000 0x00000000 0x00000000 0x00000000
mmc0: starting CMD41 arg 40060000 flags 000000e1
response 0x00ff8000 0x00000000 0x00000000 0x00000000
mmc0: starting CMD41 arg 40060000 flags 000000e1
...
mmc0: starting CMD41 arg 40060000 flags 000000e1
response 0x80ff8000 0x00000000 0x00000000 0x00000000
mmc_sd_init_card err = -110
mmc0: error -110 whilst initialising SD card

正常情况下这个响应是0xC0ff8000。在uboot阶段的响应也是0x80ff8000,有时候也超时。
按说uboot阶段就算识别不出来也不该影响kernel才对(这部分是个人臆想逻辑),因为kernel又是从0开始做一次卡的初始化。我尝过在uboot识别失败后,让卡复位,但kernel还是不能够识别。

两个思路,一是让uboot能够识别成功彻底解决问题;二是规避措施,是否可以让卡在uboot的最后回到初始化之前的状态,不影响kernel的识别?

有没有大神支支招啊,求教!

  • 写回答

1条回答 默认 最新

  • devmiao 2017-01-21 16:32
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题