![](https://img-blog.csdnimg.cn/direct/ca726a302958456f960bdef6593e019b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
eMMC
文章平均质量分 86
eMMC 协议阅读笔记
Blank_time
目前从事嵌入式研发工作,存储行业,对操作系统感兴趣
展开
-
【平台开发】MTK6833——add harware command queue function in lk
CQE实现主要步骤(参考协议)Host system结构command queue任务结构:2.Theory of Operation(操作理论)init(初始化)初始化,enable CQ配置CQCFG Task Descriptor size配置CQTDLBA(Command Queuing Task Descriptor List Base Address )和CQTDLBAU(Command Queuing Task Descriptor List Base Address原创 2024-03-28 11:57:51 · 492 阅读 · 0 评论 -
【eMMC协议】6.6.30 - 6.6.39
然而,可以接受的是,在接收高优先级任务请求时,设备可能已经开始准备执行的简单任务,但没有在QSR中将它们标记为“准备执行”。参数是:块计数,任务ID,优先级,数据方向和其他参数(即,标签请求,上下文ID,可靠写入,强制编程)刷新操作是指从主机到设备将缓存的数据写入非易失性内存的需求。在进行刷新之前,设备可以自主地将数据写入非易失性内存,但是在进行刷新操作之后,易失性区域中的所有数据必须写入非易失性内存。当缓存打开时,它应用于整个eMMC设备(当刷新缓存时,所有分区的数据都将被刷新,此操作与活动分区无关)。原创 2024-03-28 11:38:06 · 876 阅读 · 0 评论 -
【eMMC协议】6.6.23 - 6.6.26
在host 下发CMD25( WRITE_MULTIPLE_BLOCK)命令后,EMMC会更新CORRECTLY_PRG_SECTORS_NUM字段(ext_csd寄存器的[245:242]字节),该字段记录成功写入EMMC的512Byte扇区的数量。在上电、硬件复位或软件复位后,EMMC的操作模式为SDR,除非EMMC通过执行引导操作开始,在这种情况下,SDR或DDR模式的选择由ext_csd寄存器第177字节BOOT_BUS_CONDITIONS中进行设置。然而,只有一些命令可以被HPI中断。原创 2024-03-27 11:26:00 · 1087 阅读 · 0 评论 -
【eMMC协议】6.6.22
如果与访问相关的故障不止一个,则应在结果寄存器中显示第一种类型的错误。错误检查的顺序在下面的每个访问下定义。用于MAC计算的密钥一直保存在MMC的256位认证密钥中,用作MAC计算输入的消息是数据帧中字段的串联形式,但不包括填充字节、MAC本身、起始位、CRC16和结束标志位。得到的MAC结果是256位(32个字节),同时嵌入请求或响应的数据帧中作为其中的一部分。如果几个数据帧作为一个请求或响应的一部分被发送,则到MAC的输入消息是按照发送数据帧的顺序的每个数据帧的字节[283:0]的级联。原创 2024-03-27 10:57:02 · 328 阅读 · 0 评论 -
【eMMC协议】6.6.15 - 6.6.22
写保护命令中的地址字段是以字节为单位的group address,容量最高可达2GB,容量大于2GB时为扇区单位。如果主机提供超出范围的地址作为CMD28、CMD29或CMD30的自变量,则设备将拒绝该命令,用address_out_of_range位集进行响应,并保持Tran状态。通过设置EXT_CSD USER_WP字节中的CD_PERM_WP_DIS、US_PERM_WP_DIS和US_PWR_WP_DIS位,可以禁用主机为整个设备设置永久保护以及为特定段设置永久和上电写保护的能力。原创 2024-03-26 14:13:01 · 718 阅读 · 0 评论 -
【eMMC协议】6.6.11 - 6.6.14
Sanitize操作的使用要求设备从未映射的用户地址空间中物理删除数据。通过向ECSD[165]Sanitize_START写入值来启动Sanitize操作。当设备正在执行Sanitize操作时,busy bit置位。除TRIM和Erase之外,Sanitize操作是用于根据安全删除类型从设备中删除数据的功能。原创 2024-03-26 12:19:34 · 843 阅读 · 0 评论 -
【eMMC协议】6.6.8.1 - 6.6.10
接收到擦除命令(CMD35、CMD36或CMD38),设备应设置状态寄存器中的erase_SEQ_ERROR位,并重置整个序列。如果主机提供。原创 2023-07-15 12:30:00 · 163 阅读 · 0 评论 -
【eMMC协议】6.6.6 - 6.6.8.1
6. 如果host 在固定数据块读取最后一个块后下发了停止数据传输的命令,则该命令被视为是非法命令,因为此时的EMMC 没有在数据传输状态中。如果设置了READ_BL_PARTIAL,则也可以发送起始地址和结束地址完全包含在一个物理块(如READ_BL_LEN所定义的)内的较小块。在DDR模式下,读取的块数据大小始终为512字节,不支持读取部分块数据,并且在每个块的末尾附加两个CRC,一个为偶数字节,一个为奇数字节。传输的数据块包含了,其实的low bit和后面的数据流。,还包含错误校正bits。原创 2023-07-15 11:30:00 · 125 阅读 · 0 评论 -
【eMMC协议】6.6.1 - 6.6.2
HS400工作在VCCQ为1.8V或者1.2V的IO电压下,HS400 模式下,总线宽度设置为8线双倍速率模式,HS400 支持与DDR52 相同的命令。host 完成对eMMC的初始化之后,再读取ext_csd 寄存器的DEVICE_TYPE 字段来查看eMMC 是否支持HS400 模式, 然后在设备中启用HS400模式,将时钟频率更改为高于52 MHz的频率。host在验证eMMC符合4.0或更高版本的标准后,必须在设备中先启用高速模式定时,然后将时钟频率更改为26MHz到52MHz之间的频率。原创 2023-07-15 11:00:00 · 395 阅读 · 0 评论 -
【eMMC协议】6.4.3 - 6.6
当参数为预留相对设备地址“0x0000”的CMD7 命令发送后,eMMC将会回到stand-by 模式,当eMMC处于传输状态时,接收到带有EMMC自身相对地址的CMD7命令会被忽略,且有可能被视为是非法命令。host 下发CMD12命令后,所有的读数据命令都被禁止,数据传输终止,且eMMC切换到stand-by 状态,读命令比如:CMD17(读block),CMD18(读取多个block),CMD21(发送tunning block),CMD30 (发送写保护命令)原创 2023-07-15 10:30:00 · 217 阅读 · 0 评论 -
【eMMC协议】6.3.5 - 6.4.2
在该模式下,host可以对EMMC 进行reset,验证操作电压范围和设置访问模式,识别EMMC并在总线上为EMMC分配相对设备地址(RCA)。所有操作都通过CMD命令进行交互。设置ext_csd register byte [179] 为0x111b配置 BOOT_PARTITION_ENABLE bit,来让设备从用户分区启动。4. 如果boot操作不成功,则恢复默认模式,寄存器设置将无效。CMD1的电压范围是无效的。原创 2023-07-14 17:22:48 · 264 阅读 · 0 评论 -
【eMMC协议】6.2.4 - 6.3.4
当ext_cd寄存器第177字段中的[4:3]被设置成’10’时,host 就可以选择双倍速率模式传输速率,同时ext_csd寄存器的第228字段的bit 1会通知host, 对应的EMMC 是否在boot 模式支持双倍传输速率。在boot 操作启动执行期间,EMMC(slave)会准备好用于CMD1操作的数据,同时host 需要发送CMD1,进而启动正常的MMC初始化序列,当所有用于boot 启动的数据全部发送至host后,boot 操作就会停下来。增强分区的起始地址,需要与写保护组对齐。原创 2023-07-14 17:18:02 · 317 阅读 · 0 评论 -
【eMMC协议】5.3.2 - 6.2.4
general purpose partions 通用分区:允许使用class 0,2,4,5,6这五类命令。每一个分区对应的写保护可以单独设置,因此呢,host 可以在每个写保护组中分别设置不同的写入保护类型。user data area 命令 --》增强用户数据区域5.扩展分区属性每个general purpose partition 都拥有一个扩展分区属性:Default 默认属性: 未进行扩展的System code 系统编码:很少更新改动且包含重要系统文件的分区。原创 2023-07-14 16:48:25 · 2082 阅读 · 0 评论 -
【eMMC协议】4 - 5.3.1
在对block写操作期间,引入了一种busy状态,一般当EMMC处理程序时候,会使data0加上busy状态。data是分为4根线传输的,但是CRC是每根线都有自己的CRC,并不是分为4根线传输。OCR:操作条件寄存器,用于特殊的广播命令,识别设备的电压类型。Ext_CSD:拓展设备特殊数据,设备的功能和所选模式的信息。DDR—上升沿和下降沿,上升为odd,下降为even。DSR:驱动阶段寄存器,用于配置设备的输出驱动。CSD:设备特殊数据,设备运行条件的相关信息。RCA:相对设备地址,设备的系统地址。原创 2023-07-14 11:50:57 · 683 阅读 · 1 评论