本文依据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)
本文详细介绍了eMMC设备锁的概念,包括设备锁的设置、密码管理、锁定与解锁过程,以及强制擦除操作。CMD42命令在不同状态下如何执行加锁、解锁和密码管理,并强调了在DDR模式下使用CMD42的非法性。通过理解这些内容,可以帮助开发者更好地管理和保护eMMC的user分区。
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



