[SDIO] SD card 初始化及常用命令解析 https://blog.csdn.net/u010443710/article/details/107014873

cmd0命令,是单向命令,host->device。不能保证硬件连接。

cmd8命令,是双向命令,能接收到ack,说明硬件通信是ok的。

MMC/SD/SDIO介绍

http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html

了解一个功能模块,硬件接口是一个入门点。

mmc、sd,sdio。 有1根clk,1根cmd,8根data(可以选择1根或者4根)。

artosyn 驱动芯片,

sdhci对应emmc驱动,

dw_mmc,对应sd驱动。

emmc,sd,sdio 3个都是复用的接口

mmc工作异常,主要可以如下分析

1、驱动是否加载了。

2. pin share是否配置正确了,

3.dts是否配置ok,参数比较多,https://blog.csdn.net/sunny_hu92/article/details/78542757

4. clock 是否开启了。

对于热插拔的设备,设备枚举方式:

1.中断

2.轮询,

3.手动触发枚举。

sdio设备枚举,命令

https://document.chipintelli.com/软件开发/SDK/CI110X芯片SDK/driver/ci110x_driver/sdio/

CMD0 复位总线命令
CMD5 sdio卡电压识别
CMD3 请求从机RCA
CMD7 选中从机
CMD52 寄存器fn读写
CMD53 数据读写

emmc 芯片分区,分别boot,主要用于启动操作系统

https://linux.codingbelief.com/zh/storage/flash_memory/emmc/emmc_partitions.html

5.卡识别不到问题分析:

A.是不是电压切换导致的

将电压调整删除掉

sd-uhs-sdr12;

sd-uhs-sdr25;

sd-uhs-sdr50;

sd-uhs-sdr104;

未删除sdr104 报错如下,cmd11是电压切换功能

[ 2.963507] dwmmc_rockchip ff0c0000.dwmmc: Unexpected CMD11 timeout

[ 2.993507] dwmmc_rockchip ff0c0000.dwmmc: Busy; trying anyway

[ 2.993513] mmc_host mmc0: Timeout sending command (cmd 0x202000 arg 0x0 status 0x0)

————————————————

B.卡概率识别问题,

mmc1: new high speed SD card at address b368

mmcblk1: mmc1:b368 SMI 486 MiB

[mmc1] Data transmission error !!!! MINTSTS: [0x00002000]

dwmmc_rockchip ff0c0000.rksdmmc: data FIFO error (status=00002000)

mmcblk1: error ‐110 sending status command, retrying

need_retune:0,brq‐>retune_retry_done:0.

降频和增加卡检测延时增强电源稳定性,如果降频OK的话,请检查硬件layout;

&sdmmc {

card‐detect‐delay = <1200>;



具体请参考:https://blog.csdn.net/h_8410435/article/details/105427238

sdio/mmc/sd笔记的更多相关文章

  1. [mmc]Linux下MMC/SD/SDIO的识别与操作

    转自:http://blog.csdn.net/skdkjzz/article/details/38927943 我们知道host在扫描卡的过程中,其识别的顺序为SDIO  SD MMC,并且从它的注 ...

  2. [MMC]Linux MMC/SD/SDIO驱动分析

    转自:http://www.cnblogs.com/cslunatic/p/3678045.html 一.SD/MMC/SDIO概念区分 SD(SecureDigital)与 MMC(Multimed ...

  3. linux驱动基础系列--Linux mmc sd sdio驱动分析

    前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...

  4. 【转】linux设备驱动之MMC SD卡——核心层简单分析

    原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************** ...

  5. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(七)-准备移植FatFs

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

  6. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(四)-介绍库函数,获取一些SD卡的信息

    其他链接 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 ...

  7. PatentTips - Method for booting a host device from an MMC/SD device

    FIELD OF THE INVENTION The present invention relates to a memory device and especially to the interf ...

  8. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(终)-配合内存管理来遍历SD卡

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

  9. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(八)-认识内存管理

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

  10. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(六)-FatFs使用的思路介绍

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

随机推荐

  1. return chain.filter(exchange); 这句啥意思

    答:继续往后执行过滤器,如果不调用这句代码,请求就不会发给控制器了,如果当前执行的过滤器后面还有过滤器,执行那个过滤器,如果没有,就执行控制器. 那我此时想一个请求取消token校验,得在这里加吗? ...

  2. vue项目打包后,自由修改配置如接口地址等

    背景描述: 项目打包后,如果想更换接口域名或者项目名称,就需要再次打包.但是这样子操作有点耗费时间.如果把这些配置写到一个文件中,然后在index.html文件中引入使用,这样子会大大提高工资效率,节 ...

  3. P5736 质数筛

    原题连接 一看到这个熟悉的输入,我们就立马反应过来要请出一维数组来记录一下输入的数据.现在数据的存储解决了,紧接着来剖析一下步骤: 输入数据 一个一个的判断是否为质数 筛去合数 输出质数 理清了思路后 ...

  4. postgresql源码解读

    大量模块源码解读 https://blog.csdn.net/cuichao1900?type=blog 存储管理(内存管理.外存管理)源码解读,每行都有注释 https://blog.csdn.ne ...

  5. 从零搭建hadoop集群之zookeeper集群安装

    1. 从官方渠道获取对应的zookeeper的安装包 http://archive.apache.org/dist/zookeeper/ zookeeper-3.4.10.tar.g 2. 上传zoo ...

  6. win10 右键文件夹卡死

    遇到右键文件夹卡死的问题,网上查找尝试, 命令窗口输入如下命令: SFC/Scannow 还有个思路 ,360安全 软件大全下载一个右键管理软件删除多余无用的右键选项: 参考:https://answ ...

  7. linux 使用tc做限速

    #!/bin/bash#针对不同的ip进行限速 #清空原有规则tc qdisc del dev em3 root #创建根序列tc qdisc add dev em3 root handle 1: h ...

  8. 通过xshell在linux上安装nginx1.12.0

    0)环境安装 Nginx是C语言开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 0.1 gcc 安装 安装 nginx 需要先将 ...

  9. error NU1301: Failed to retrieve information about 'volo.abp.cli' from remote source 'https://www.myget.org/feed/Packages/aspnetcoremodules/FindPackagesById()?id='volo.abp.cli'&semVerLevel=2.0.0'.

    today i come across an error when install the abp from the command line after refer to https://githu ...

  10. [Github]获取github ID号

    [Github]获取github ID号 https://api.github.com/users/ + 你的账户名称 实例:我github账号叫iBoundary. https://api.gith ...