无法在linux下启用ttysac0串口 终端只打印信息,启动出现mmc0: error -110 whilst initialising SD card该如何解决?...

鄙视百度,上述网址失效了,再次鄙视百度,我历经千辛万苦,总算把上面帖子的内容找回来了,被转载到了Linux公社中,网址为http://www.linuxidc.com/Linux/2010-09/28934.htm,Linux公社虽然经常不加引用的转载别人的技术成果,但是还算厚道,不会去改文章题目的,现在为了以防万一,我还是把文章内容复制在下面吧:

“ Linux上SD/MMC卡驱动移植调试记录

我的内核是Linux 2.6.28,已经带有了sd mmc卡驱动了只要在menuconfig里面把相应选项选上即可,编译出来了之后,我插上了我的一个512mb的卡,在启动信息了打印如下:

s3c2440-sdi s3c2440-sdi: powered down.

mmc0: error -110 whilst initialising SD card

s3c2440-sdi s3c2440-sdi: powered down.注意红色部分,进入了之后/dev/devices 里面看不到没有相应的驱动。驱动工作不正常!但是插上了一个32mb的卡后,就能够正常识别。在网上查到如下信息:mmc0: error -110 whilst initialising SD card

應該是卡在 linux/driver/mmc/core/sd.c 的

mmc_sd_init_card() --> mmc_send_app_op_cond(host, ocr, NULL)

ocr 是指 card 內部的 Operation Condition Register (OCR) 讀出來的值

發送 CMD41 CMD55 讀取 OCR 的值

問題是出在 OCR[31] 一直是 0

結果問題是出在電壓不足,要把 sd power enable

上面这位说的解决方法我也不太清楚,不过他指出的错误地方是正确的,就是在那里出错的。现在说下这个错误的解决方案:driver/mmc/core/sd.c 的mmc_sd_init_card()函數中mmc_read_switch前延時10ms

mdelay(10);

err = mmc_read_switch(card);看到红色语句了么,就这个加上去就可以了啊,哈哈......加上红色延时语句之后启动信息如下s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).

s3c2440-sdi s3c2440-sdi: running at 25000kHz (requested: 25000kHz).

s3c2440-sdi s3c2440-sdi: running at 25000kHz (requested: 25000kHz).

mmc0: new SD card at address 95b9

mmcblk0: mmc0:95b9 SD02G 1.83 GiB

mmcblk0: p1驱动工作完全正常。

进入系统后

mount /dev/mmcblk0p1 /mnt

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值