黑猫带你学eMMC协议第29篇:eMMC设备锁详解(CMD42)

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。
文章为个人辛苦整理,付费内容,已加入原创侵权保护,禁止私自转载。
文章所在专栏:《黑猫带你学:eMMC协议详解》

1 设备锁简介

通过cmd42命令,可以给emmc设置密码,并且锁定emmc。这时候就不能对emmc的user分区进行读写数据访问了。

设备锁在V4.3版本后的emmc里面,就只能保护user area分区,因此,被锁定的emmc,依旧可以正常访问BOOT\RPMB\GPP分区。

emmc内部有128 bit PWD寄存器,用来存放密码,以及有8bit PWD_LEN寄存器,用来密码长度。这两个寄存器非易失性,掉电也不会丢失。

通过设置PERM_PSWD_DIS bit in the EXT_CSD byte [171]来永久性禁止密码保护功能。
如果该emmc已经设置了密码,此时再设置寄存器禁止密码保护功能,这会失败,并会报ERROR (bit 19)。
如果emmc已经禁止了密码保护功能,host使用cmd42密码保护功能将会失败,并且 LOCK_UNLOCK_FAILED (bit 24) error bit会置位。

被锁定的设备,可以响应class 0命令和锁定设备相关的命令,host此时不能访问数据了。
如果先前给emmc设置了密码(也就是PWD_LEN的值不是0),emm

你可能感兴趣的:(黑猫带你学:eMMC协议详解,嵌入式硬件,emmc,jedec,嵌入式,单片机)