sdio/mmc/sd笔记
[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笔记的更多相关文章
- [mmc]Linux下MMC/SD/SDIO的识别与操作
转自:http://blog.csdn.net/skdkjzz/article/details/38927943 我们知道host在扫描卡的过程中,其识别的顺序为SDIO SD MMC,并且从它的注 ...
- [MMC]Linux MMC/SD/SDIO驱动分析
转自:http://www.cnblogs.com/cslunatic/p/3678045.html 一.SD/MMC/SDIO概念区分 SD(SecureDigital)与 MMC(Multimed ...
- linux驱动基础系列--Linux mmc sd sdio驱动分析
前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...
- 【转】linux设备驱动之MMC SD卡——核心层简单分析
原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************** ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(七)-准备移植FatFs
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(四)-介绍库函数,获取一些SD卡的信息
其他链接 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 ...
- 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 ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(终)-配合内存管理来遍历SD卡
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(八)-认识内存管理
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
- 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(六)-FatFs使用的思路介绍
[STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...
随机推荐
- (0303)《计算机体系结构 量化研究方法》PDF
(01) https://blog.csdn.net/konghhhhh/article/details/106828402 存储器相关 (1) https://blog.csdn.net/iva_ ...
- 开启wamp依旧使用已下载的mysql
1.打开D:\Environment\wamp64\bin\mysql\mysql8.0.31,修改my.ini 添加本机mysql密码,并且将3个port=3306改为port=3316 2.打开D ...
- python_test_0001_base_string_swap
#!/usr/bin/python # -*- coding: UTF-8 -*- import time from lib_001_decorator_log_funcname import dec ...
- github 设置代理
1. 直接修改 .git/config 文件 注意: 仅对当前仓库有效, 推荐这种, 因为不是所有的仓库都需要走代理 [http "https://github.com"] pro ...
- 并发多线程学习(三)Java多线程入门类和接口
1 Thread类和Runnable接口 上一章我们了解了操作系统中多线程的基本概念.那么在Java中,我们是如何使用多线程的呢? 首先,我们需要有一个"线程"类.JDK提供了Th ...
- 基于Mybatis Plus的一种查询条件构建方案
! 重要: 遐(瞎)想的思路, 希望各位多多建议 record为jdk17写法, 使用class也不会有问题 背景 身为资深程序员, 上班最重要的事当然是增删改查(bushi). 比如今天, 组长甩给 ...
- watch监听中的deep以及immdiate
1 deep:深度监听 使用场景:如果是监听的是对象类型,当手动修改对象的某个属性时,发现是无效的,此时需要给监听器添加deep:true. 例如: data:{ obj:{ a:1 } }, wat ...
- Unity 在2D中实现LookAt,跟随鼠标转动
Vector3 v = (target.position - transform.position).normalized; transform.right = v;
- 攻防世界-easyphp(前导数字字符串、数字字符串、数字弱类型比较)
一道php代码审计题,利用了字符与数字弱类型比较的漏洞. 一.基础知识 数字字符串 形如数字形式的字符串叫做数字字符串,例如:'123456','1e56112'(科学计数法),'123.4'(单纯的 ...
- 第13周 预习、实验与作业:Java网络编程
编写一个网络程序,为了与其他网络程序通信,至少要知道对方的什么信息? IP地址 TCP与UDP协议有什么不同的呢?什么时候该选择哪种协议?HTTP使用的是TCP还是UDP?不重要的短信息传送之类的功能 ...