You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于eMMC 5.1版本:U-Boot中mmc命令blk参数设为0x0时的写入目标分区咨询

U-Boot mmc命令中块地址0x0对应的分区说明

首先直接给你明确结论:在默认状态下,如果你没有提前切换到eMMC的boot0分区,使用mmc write(你问题里提到的mmc read是读取命令,写入对应mmc write)命令且blk#设为0x0时,数据会写入userarea分区**,而非boot0分区。**

为什么会这样?因为eMMC的boot0、boot1、rpmb这类专用分区,和userarea拥有完全独立的地址空间。U-Boot启动后,mmc命令默认绑定的是userarea分区——这也是绝大多数场景下的默认操作目标。只有当你主动切换到专用分区后,blk#参数才会映射到对应分区的块地址。

如果你的需求是往boot0分区写入数据,需要先完成分区切换操作,不同U-Boot版本的命令略有差异,常见的两种方式:

  • 方式一:通过设备编号+分区编号切换,比如你的eMMC是设备0,执行 mmc dev 0 1(这里的1代表boot0分区,2对应boot1分区)
  • 方式二:启用并切换到boot分区,执行 mmc bootpart enable 1 0 0(最后一个0是设备编号,1代表boot0)

切换完成后,再执行mmc write <addr> 0x0 <cnt>,此时的0x0就对应boot0分区的起始块了。

内容的提问来源于stack exchange,提问作者anikhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 04:47:36