Команда стирания linx mmc-utils не работает должным образом
У меня есть система с картой eMMC, и я пытаюсь использовать функцию стирания, определенную в спецификации eMMC (6.6.9 Стирание), используя инструмент пользовательского пространства mmc-utils .
Имплантация правильная для меня. Но когда я запускаю команду, стирание не работает должным образом.
mmc erase secure-erase <start address in erase blocks> <end address in erase blocks> <device/path>
root@sys:~# # write 0x02 to every byte on the on block device
root@sys:~# tr '\0' '\2' < /dev/zero > /dev/mmcblk0
root@sys:~# mmc erase secure-erase 0 2 /dev/mmcblk0
Executing Secure Erase from 0x00000000 to 0x00000002
High Capacity Erase Unit Size=524288 bytes
High Capacity Erase Timeout=300 ms
High Capacity Write Protect Group Size=8388608 bytes
Secure Erase Succeed
root@sys:~# hexdump /dev/mmcblk0
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0080000 0202 0202 0202 0202 0202 0202 0202 0202
*
Я ожидал, что 2 блока 524288 (0x0080000) будут стерты. Но только один блок был стерт. Я попробовал несколько других значений, и они также не стерли более одного блока.
Правильно ли я использую инструмент? это работает для других? Может ли это быть проблемой с моим драйвером mmc? или проблема в прошивке на eMMC?