名称
mmc - 用于配置 MMC 存储设备的工具
语法
mmc [选项] [mmc 块设备]...
描述
mmc-utils 是一个单线程工具,可执行用户指定的特定类型 MMC 操作。
mmc-utils 的典型用途是访问 MMC 设备,以配置其配置寄存器或读取配置信息。
选项
help | --help | -h | (无参数)
在终端显示简明帮助菜单。
命令
extcsd read <设备>
从 <设备> 中打印扩展 CSD(extcsd)数据。
extcsd write <偏移量> <值> <设备>
向 <设备> 的扩展 CSD 中偏移量 < 偏移量 > 处写入 < 值 >。
writeprotect boot get <设备>
打印 <设备> 的引导分区写保护状态。
writeprotect boot set [-p] <设备> [<编号>]
设置 <设备> 的引导分区写保护状态。
若传入 < 编号 >(0 或 1),则仅保护该特定 eMMC 引导分区,否则保护两个分区。写保护状态将持续到下一次启动。
-p 永久保护分区。注意!-p 是一次性可编程(不可逆转)的更改。
writeprotect user get <设备>
打印 <设备> 的用户区域写保护配置。
writeprotect user set <类型> <起始块> <块数> <设备>
设置用户区域写保护。
csd read [-h] [-v] [-b 总线类型] [-r 寄存器] <设备路径>
从 <设备路径> 中打印 CSD 数据。设备路径应指定 CSD 系统文件目录。
若传入 [总线类型](mmc 或 sd),则必须同时传入 [寄存器] 内容,且无需设备路径。
这在没有实际平台但需要获取寄存器值的情况下非常有用。
cid read <设备路径>
从 <设备路径> 中打印 CID 数据。设备路径应指定 CID 系统文件目录。
若传入 [总线类型](mmc 或 sd),则必须同时传入 [寄存器] 内容,且无需设备路径。
这在没有实际平台但需要获取寄存器值的情况下非常有用。
scr read <设备路径>
从 <设备路径> 中打印 SCR 数据。设备路径应指定 SCR 系统文件目录。
若传入 [总线类型](mmc 或 sd),则必须同时传入 [寄存器] 内容,且无需设备路径。
这在没有实际平台但需要获取寄存器值的情况下非常有用。
ffu <镜像名称> <设备> [块字节数]
默认模式。使用 <镜像名称> 在 < 设备 > 上运行现场固件更新(Field Firmware Update)。[块字节数] 为可选参数,默认值为最大值 512k。该值应为十进制字节数且按扇区对齐。
opt_ffu1 <镜像名称> <设备> [块字节数]
可选 FFU 模式 1,与 'ffu' 相同,但使用 CMD23+CMD25 进行重复下载,并在完成前保持 FFU 模式。
opt_ffu2 <镜像名称> <设备> [块字节数]
可选 FFU 模式 2,使用 CMD25+CMD12 开放式多块写入进行下载,并在完成前保持 FFU 模式。
opt_ffu3 <镜像名称> <设备> [块字节数]
可选 FFU 模式 3,使用 CMD24 单块写入进行下载,每写入一个块后退出 FFU 模式。
opt_ffu4 <镜像名称> <设备> [块字节数]
可选 FFU 模式 4,使用 CMD24 单块写入进行重复下载,并在完成前保持 FFU 模式。
erase <类型> <起始地址> <结束地址> <设备>
向 <设备> 发送带有特定参数的擦除命令 CMD38。注意!这将删除设备指定区域中的所有用户数据。< 类型 > 必须是以下之一:legacy(传统)、discard(丢弃)、secure-erase(安全擦除)、secure-trim1(安全修剪 1)、secure-trim2(安全修剪 2)或 trim(修剪)。
gen_cmd read <设备> [参数]
发送通用命令(GEN_CMD,即 CMD56)以从 <设备> 读取厂商特定格式 / 含义的数据。注意![参数] 为可选参数,默认值为 0x1。若指定 [参数],则 [参数] 必须是 32 位十六进制数,前缀为 0x/0X,且 [参数] 的第 0 位必须为 1。
lock <参数> <设备> [密码] [新密码]
用法:mmc lock <s|c|l|u|e> < 设备 > [密码] [新密码]。< 密码 > 最多可为 16 个字符的明文或前缀为 0x 的十六进制字符串。s = 设置密码,c = 清除密码,l = 锁定,sl = 设置密码并锁定,u = 解锁,e = 强制擦除。
softreset <设备>
发出 CMD0 软复位,例如用于测试 UHS 的硬件复位是否正常工作。
preidle <设备>
发出 CMD0 进入预空闲(GO_PRE_IDLE)状态。
boot_operation <引导数据文件> <设备>
执行替代引导操作,并将指定的引导数据起始块写入请求的文件。注意一些限制:必须配置引导操作(例如为传统速度)。MMC 当前必须运行在为引导操作配置的总线模式下(完全不支持 HS200 和 HS400)。最多将传输 512K 字节的引导数据。MMC 将执行软复位,若您的系统无法处理此操作,请不要使用 mmc-utils 的引导操作。
mmc rpmb write-block <rpmb 设备> <地址> <256 字节数据文件> <密钥文件>
向 RPMB 分区写入一个数据块。
mmc rpmb read-counter <rpmb 设备>
从 RPMB 分区读取写入计数器。
mmc rpmb read-block <rpmb 设备> <地址> <块数> <输出文件> [密钥文件]
从 RPMB 分区读取数据块。
mmc rpmb secure-wp-mode-on <rpmb 设备> <密钥文件>
启用安全写保护模式。
mmc rpmb secure-wp-mode-off <rpmb 设备> <密钥文件>
禁用安全写保护模式(恢复为传统模式)。
mmc rpmb secure-wp-disable <rpmb 设备> <密钥文件>
允许更新与写保护相关的 EXT_CSD 和 CSD 字段。
仅当安全写保护模式已启用时适用。
mmc rpmb secure-wp-enable <rpmb 设备> <密钥文件>
禁止更新与写保护相关的 EXT_CSD 和 CSD 字段。
仅当安全写保护模式已启用时适用。
mmc cache flush <设备>
刷新 <设备> 的 eMMC 缓存。
仅当设备版本 ≥ eMMC5.0 时适用。