JJJ:mmc指令的类型

mmc:uboot下emmc的调试命令 用beyond compare比较result.bin和result_rd.bin,如果二者二进制一致,则功能测试正常。从仿真器中导出DDR 0x8000000处的数据到windows文件result_rd.bin。从仿真器加载result.bin(任意bin文件)到DDR 0x10000000处。将之前加载的bin文件写入mmc中刚才擦除的block中,长度为1008。将之前写入mmc block中的数据读出到DDR 0x8000000处。擦除从第4096个block开始的1008个block。 阅读详情

1.响应类型

响应:总是在命令线(CMD) 上串行传输。
起始位:总是 0。
传输位:总是 1。
结束位:总是 1。
CRC校验:大部分响应都包含CRC校验位,用于检测传输错误。

1.1 R1 (正常响应)

长度:48位
内容:包含卡的状态信息。
结构:

47起始位(0)
46传输位(1)
45:40命令索引,当初发送出去的是哪个命令,对应的卡响应就会返回这个命令号
39:832位的卡状态寄存器(非常重要!主机通过它判断命令是否成功,以及卡当前状态)
7:1CRC7
0结束位(1)

1.2 R2 (CID, CSD 寄存器响应)

长度:136位

内容:用于读取卡的标识和规格寄存器。

结构:

[135]起始位 (0)
[134]传输位 (1)
[133:128]命令索引(通常是 CMD2, CMD10 的索引)
[127:1]CID或CSD寄存器的完整内容(128位)
[0]结束位 (1)

举例:

CMD2请求卡发送 CID(Card Identification Register,卡识别寄存器,每个卡唯一)。
CMD10请求卡发送 CSD(Card Specific Data Register,卡特定数据寄存器,包含卡的容量、读写速度等信息)。

1.3 R3 (OCR 寄存器响应)

长度:48位

内容:用于读取卡的OCR(Operating Conditions Register,操作条件寄存器)。

结构:

[47]起始位 (0)
[46]传输位 (1)
[45:40]命令索引(CMD58 的索引)
[39:8]32位的OCR寄存器(主要用来判断卡的上电流程是否完成,以及支持的电压范围)
[7:1]CRC位被保留,通常置为1(与R1的关键区别)
[0]结束位 (1)

使用命令举例:CMD58(读取OCR寄存器)。

1.4 R6 (发布RCA响应)

长度:48位

内容:专门用于响应 CMD3命令,为卡分配相对地址(RCA)。

结构:

[47]起始位 (0)
[46]传输位 (1)
[45:40]命令索引(CMD3 的索引)
[39:16]卡返回的新的RCA(相对卡地址)(16位)
[15:0]卡状态位(与R1的32位状态不同,这里只返回16位关键状态,比如卡是否就位)

使用命令举例:CMD3(为卡分配相对地址,用于在有多张卡时区分它们)。

1.5 R7 (SD卡接口条件响应)

长度:48位

内容:用于响应 CMD8命令,检查卡支持的电压范围和协议版本。

结构:

[47]起始位 (0)
[46]传输位 (1)
[45:40]命令索引(CMD8 的索引)
[39:20]保留位
[19:16]卡支持的电压范围(如果卡支持主机请求的电压,它会原样返回主机发送的电压模式)
[15:8]保留位
[7:1]检查模式(卡会原样返回主机发送的检查模式)
[0]结束位 (1)

使用命令举例:CMD8(发送接口条件,用于识别SD卡V2.0或更高版本)。

2.命令类型

2.1 bc (Broadcast Command - 广播命令)

无地址:不包含数据地址

无响应:大多数bc命令没有响应(R0)

应用:发送给所有连接的SD卡,如初始化命令

示例:CMD0 (GO_IDLE_STATE) - 重置所有卡

2.2 bcr (Broadcast Command with Response - 带响应广播命令)

无地址:不包含数据地址

有响应:卡片会返回响应

应用:发送给所有卡,但期望响应

示例:CMD8 (SEND_IF_COND) - 发送接口条件

2.3 ac (Address Command - 地址命令)

有地址:包含数据地址

有响应:卡片返回响应

有数据:通常伴随数据传输

示例:CMD17 (READ_SINGLE_BLOCK) - 读取单块

2.4 adtc (Address Data Transfer Command - 地址数据传输命令)

有地址:包含数据地址

有响应:卡片返回响应

数据流:涉及复杂的数据传输(多块、写入等)

示例:CMD25 (WRITE_MULTIPLE_BLOCK) - 写入多块

2.5 举例

./include/linux/mmc/sd.h:23:#define SD_SWITCH_VOLTAGE         11  /* ac                      R1  */

ac:这是一个地址命令,需要提供地址参数
R1:命令执行后,卡会返回R1类型的响应

局放起始电压(PDIV)与击穿电压(BDV):绝缘系统设计的核心参数 [特殊字符] 在电力设备绝缘系统设计中,**局放起始电压(Partial Discharge Inception Voltage, PDIV)和击穿电压(Breakdown Voltage, BDV)**是两个至关重要的参数。它们直接反映了绝缘材料的性能和绝缘系统的可靠性,对变压器的设计、制造和运行具有重要指导意义。本文将深入探讨这两项参数的定义、测试方法及其与绝缘设计制造的关系,帮助读者全面理解其在电力设备中的核心作用。 阅读详情

相关推荐

Spine动画在Unity里卡顿、闪烁、排序错乱?这些性能优化与渲染问题一次讲清

本文深入解析了Spine动画在Unity中常见的卡顿、闪烁和排序错乱问题,提供了全面的性能优化与渲染解决方案。从性能瓶颈诊断到材质合并、动态合批优化,再到层级错乱与Alpha闪烁的处理,帮助开发者提升动画表现和运行效率。特别针对Unity和Spine的协同工作进行了详细的技术探讨。

weixin_29967445的博客 379

uboot中的mmc命令

一:mmc的命令如下: 1:对mmc读操作 mmc read addr blk# cnt        2:对mmc写操作               mmc write addr blk# cnt   3:对mmc擦除操作 mmc erase blk# cnt   4:重新搜索mmc设备 mmc rescan   5:列出mmc的分区 mmc part - li

a624731186的专栏 3万+

Qt快速读取Excel文件

网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...

c+c++的博客 2万+

常用的linuxmmc命令,用于管理和操作MMC卡。

2. mmc-utils:这是一套工具,用于在Linux中管理MMC卡。可以使用命令”lsblk”或者”cat /proc/partitions”查看系统中的MMC设备。可以使用命令”mmcinfo /dev/mmcblk0″查看mmcblk0设备的信息。这些是一些常用的linuxmmc命令,用于管理和操作MMC卡。可以使用命令”mmcformat /dev/mmcblk0″来格式化mmcblk0设备。可以使用命令”mmcpwd /dev/mmcblk0″来设置MMC卡的密码。

yangzhao0001的博客 2020

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9689

白盒测试逻辑覆盖之谓词覆盖、子句覆盖、三类有效字句覆盖等知识点

本篇笔记会简化书本上的概念,用容易理解的方式来说明,有些例子打字麻烦,我会直接放图片! 目录 基础知识: 谓词覆盖predicate coverage 子句覆盖 clause coverage 组合覆盖 combinatorial coverage 有效字句覆盖Active Clause Coverage 广义有效子句覆盖(General Active Clause Coverage) 相关性有效子句覆盖(Correlated Active Clause Coverage) 限制性有效

weixin_46019681的博客 2663

uboot源码分析——mmc命令(do_mmcops函数的源码分析)

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

主要记录嵌入式学习与开发过程。 1979

基于STM32与MPU6050的实时姿态检测系统设计与实现(源码+硬件解析)

本文详细介绍了基于STM32单片机与MPU6050传感器的实时姿态检测系统设计与实现。通过硬件解析、传感器校准、卡尔曼滤波算法和欧拉角计算,实现高精度姿态检测。提供完整源码和调试技巧,适用于无人机、平衡车等嵌入式开发项目,解决噪声干扰和数据漂移等常见问题。

jupi8的博客 493

access sd card in uboot

1.show all command of sd card ZynqMP> mmc --help mmc - MMC sub system ...

vidsec的专栏 427

微信爬虫服务器,微信文章爬虫使用教程 - 八爪鱼采集器

对于某些用户来说,直接自定义规则可能有难度,所以在这种情况下,我们提供了网页简易模式,网页简易模式下存放了国内一些主流网站爬虫采集规则,在你需要采集相关网站时可以直接调用,节省了制作规则的时间以及精力。微信文章采集下来有很多作用,比如可以将自己行业中最近一个月之内发布的内容采集下来,然后分析文章标题和内容的一个方向与趋势。所以本次介绍八爪鱼简易采集模式下“搜狗公众号”的使用教程以及注意要点。步骤一...

weixin_26712065的博客 3255

使用菱FX5U系列PLC实现以太网通信的具体方法示例

接下来,我们将创建一个简单的CPU通信功能,以实现与其他设备的以太网通信。在上述代码中,我们首先设置访问号,然后创建一个数据读取命令(M_READ)和一个数据写入命令(M_WRITE)。此外,在实际应用中,您还需要确保PLC和其他设备之间的网络连接正常,并且遵循相应的通信协议。在上述代码中,我们执行了数据读取命令,并将接收到的响应存储在M_RESPONSE变量中。通过简单CPU通信功能,菱FX5U系列PLC可以实现与其他设备的以太网通信。我们将提供相应的源代码和详细的说明,以帮助您轻松实现这一功能。

DevCyberX的博客 1525

【虚拟同步发电机】模块化多电平MMC的虚拟同步发电机控制VSG并网仿真模型【含Matlab源码 13961期】

模块化多电平MMC的虚拟同步发电机控制VSG并网仿真模型 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 606

Fastgpt本地使用Docker Compose 快速部署

修改文件,并执行再执行d重起容器。具体配置,参考配置详解。可以查看日志,在启动容器后,第一次请求网页,会进行配置文件读取,可以看看有没有读取成功以及有无错误日志。进入 FastGPT 容器,可以通过ls data查看目录下是否成功挂载文件。可通过查看配置文件。可能不生效的原因挂载目录不正确配置文件不正确,日志中会提示invalid json,配置文件需要是标准的 JSON 文件。

洛阳泰山的博客 1630

基于 MATLAB/Simulink的 MMC 闭环仿真模型

模块化多电平换流器(MMC)在运行时,由于各相单元子模块参数微小差异及开关动作不一致,会产生由二次侧频率(通常为二倍频)为主的内部环流。若不加抑制,会导致器件应力剧增、功率损耗加大及电容电压失衡。

hellogril前端库 447

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【虚拟同步发电机】基于matlab模块化多电平MMC的虚拟同步发电机控制VSG并网仿真模型【含Matlab源码 13961期】

模块化多电平MMC的虚拟同步发电机控制VSG并网仿真模型 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 842

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JJJ:SD 卡中的 OCR(Operating Conditions Register)寄存器

OCR 是一个 32位(4字节) 的只读寄存器,位于 SD 卡内部。它的主要作用有两个:1、报告 SD 卡支持的工作电压范围。2、指示上电初始化过程是否完成。当主机(例如单片机、树莓派、手机)与 SD 卡通信时,首先需要读取 OCR 寄存器来确认双方是否“兼容”,并等待卡准备好接受后续命令。31:24只有最高位 位 31 是有意义的,其他位保留。位 31:卡上电状态位。0:卡仍在初始化过程中,繁忙。1:卡初始化过程完成,准备就绪。

engineer0的博客 921

经典子空间学习的多视图学习方法——局部最大间距嵌入(Local Maximum Margin Embedding, LMME)

局部最大间距嵌入(Local Maximum Margin Embedding, LMME)是一种流形学习技术,它结合了局部保持投影(LPP)和最大间距准则(Maximum Margin Criterion, MMC)的优点。LMME的目标是在降维过程中(margin),以增强分类性能。

... 684

2021牛客暑期多校训练第5场--D--Double String

题意 原题链接 给两个字符串A,B,从 {1 , 2 , 3 , … |A|} 里选出子序列 a ,从{ 1 , 2 , 3 , …|B| } 里选出子序列 b,求有多少个这种 a , b 组合满足条件。 条件为: a与b长度相等 存在 i 使得 Aai_{ai}ai​< Bbi_{bi}bi​, 且任意 j ∈\in∈ (1, i )都有 Aaj_{aj}aj​ = Bbj_{bj}bj​ 成立。 题解 在 [1 ,iii - 1] 和 [1,j−1j-1j−1] 区间里找公共子序

eerrtyuuhgg的博客 147

[TJOI2019]唱、跳、rap和篮球

前言 鸡你太美!奥利给\Huge鸡你太美!奥利给鸡你太美!奥利给 ps:本文所有鸡你太美均给予加粗。 题目 洛谷 题意 nnn个同学排队,有分别喜欢唱、跳、rap、篮球的(下文用c、t、r、lc、t、r、lc、t、r、l代替)。将他们排成一列,使没有连续444个是ctrlctrlctrl。求合法的排列数。 思路 首先,对于这一类求方案数,我们按照常规,将它反过来,求至少有一个ctrlctrlctr...

ICEEBBING的博客 338

sd/mmc的cmd命令

SD/MMC 初始化流程 步骤是:1)配置时钟,慢速一般为400K,设置工作模式         2)发送CMD0,进入空闲态,该指令没有反馈       3)发送CMD8,如果有反应,CRC值与发送的值相同,说明该卡兼容SD2.0协议。         4)发送CMD55+ACMD41,判断SD卡的上电是否正确,短反馈成功说明该卡为SD卡(短反馈第31位置1为HC卡),否

lzh445096的博客 7311

uboot命令(1):mmc命令

版权声明 更新:2017-06-07博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 今天在进行Android分区修改的时候发现擦除后无法进入kernel,查了一下是因为bootargs_Hi3798MV200-emmc.txt文件中的bootcmd没有修改。这个参数与内核启动有关,需要用到mmc命令,因此多...

dbq62440的博客 957

uboot mmc命令详解&Nand flash uboot 命令详解

一:mmc的命令如下: 1:对mmc读操作 mmc read addr blk# cnt 2:对mmc写操作 mmc write addr blk# cnt 3:对mmc擦除操作 mmc erase blk# cnt 4:重新搜索mmc设备 mmc rescan 5:列出mmc的分区 mmc part - lists available partition oncurrent mmc de

simonjay2007的专栏 2万+

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 318

Linux 磁盘满了怎么排查?df / du / find 三步定位大文件

Linux 磁盘满排查三步法:df -h 定位分区、du 逐层下钻、find 按大小和时间抓大文件,附 inode 耗尽、文件已删未释放、du 与 df 不一致等经典坑的解决方案。

weixin_38291577的博客 213

Linux-iostat命令详解

Linux命令学习记录

m0xin的博客 81
上一篇: JJJ:SD 卡中的 OCR(Operating Conditions Register)寄存器
下一篇: JJJ:can工具canutils配置记录
你板子冒烟了
博客等级 码龄8年 1278粉丝 582原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值