Linux SD问题总结与解决

@[TOC](Linux 文章总结)

Linux SD问题总结与解决

最近一段时间碰到了一些关于SD的问题,这里做一下记录。SD卡问题如下:
(1)SD卡无法识别
(2)SD卡可以识别,但是分区无法识别
(3)SD卡可以识别,分区可以识别,但是SD卡挂载出现报错
(4)以上都没有问题,但是读写SD卡出现报错(报错打印五花八门,还有的时候导致系统重启)
(5)卡没有拔出,但是串口打印“rapidly remove”快读拔出

总的来说linux SD卡模块共有两大部分,一个是卡识别阶段(一是上电时卡已经插上了此时通过总线扫描的方式,直接检测卡,一个是动态的通过中断方式监测卡是否插入),一个是数据传输阶段(读,写,擦),每个过程出现的问题都几乎算是碰到了,很圆满。下面贴一下每种报错下的截图以及解决方法。

SD卡无法识别

截图:
卡无法识别截图
尝试不同容量和品牌的卡,发现卡可以识别,但是有的卡不能识别(不能识别的卡,在其它设备上或者电脑上面可以识别),此时将不能识别的卡格式化文件系统为FAT32,看能否识别,不能识别则需要考虑硬件信号问题,此问题硬件修改(SD布线没有按照参考设计导致)解决

SD卡可以识别,但是分区无法识别

分区无法识别截图
尝试其他容量和不同品牌的卡,发现卡可以识别,但有的卡不能识别分区,此时必定是硬件某些地方匹配问题导致,时钟口或者是数据口通信错误(调整clk引脚接地电容的阻值)

SD卡可以识别,分区可以识别,但是SD卡挂载出现报错

截图忘了放哪里了。。。
挂载失败 有几个原因:(1)卡不识别(2)卡可以识别,但是分区无法识别(3)卡,分区都能识别,但是修复命令出错(4)卡,分区都能识别,但是格式化命令出错 (5)卡,分区都能识别,卡修复命令,格式化命令没出错,mount出错,因为卡文件系统不是fat32 。。。以上都没有问题,mount就不会出问题

以上都没有问题,但是读写SD卡出现报错(报错打印五花八门,还有的时候导致系统重启)SD卡读写错误截图

出现此问题的原因就是由于CLK和CMD数据线出现干扰导致,那么,干扰信号从哪里来?这里就需要硬件进行摸索排查,定位或猜测可能的干扰源以及是什么频率的信号导致的干扰

卡没有拔出,但是串口打印“rapidly remove”快读拔出

快速拔出截图
出现上述打印,以及红色字体标注的地方,就代表着卡的cd pin脚由于出现了0,1,0的电平变化导致出现了rapidly remove的打印,正常拔卡是不会出现这种打印的。此时需要硬件关注cd脚的电平变化。

下面是我的个人公众号,喜欢linux c,c++,嵌入式的欢迎加入:
在这里插入图片描述

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行走在软件开发路上的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值