Herramienta diseñada para interactuar con dispositivos MMC [MultiMediaCard] y SD en el kernel de Linux. MMC es un estándar de tarjeta de memoria para almacenamiento de estado sólido. Esta herramienta facilita el desarrollo y la depuración de estos dispositivos al permitir leer y modificar registros de configuración, como CSD [Card Specific Data] y EXT_CSD [Extended CSD], habilitar particiones de arranque, gestionar protección de escritura, RPMB [Replay Protected Memory Block] para seguridad, y realizar actualizaciones de firmware.
# dmesg | grep mmc
# mmc extcsd read /dev/mmcblk0
# mmc extcsd read /dev/mmcblk0 | grep -i life
# mmc csd read /sys/block/mmcblk0/device
# mmc bootpart enable 1 1 /dev/mmcblk0
# mmc bootpart disable 1 /dev/mmcblk0
# mmc writeprotect status /dev/mmcblk0
# mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block - clave_secreta
Nota.- El dispositivo RPMB es un char device [/dev/mmcblk0rpmb], no block.
# echo -n "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH" | mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -
# mmc ffu /path/to/firmware.img /dev/mmcblk0
# mmc ffu /path/to/firmware.img 512000 /dev/mmcblk0`
Nota.- Algunas operaciones como escribir en registros o habilitar particiones pueden causar problemas al dispositivo si se usan incorrectamente.