CM4 Burn EMMC
来自Waveshare Wiki
镜像烧录步骤
- 注意:EMMC 版本不可以使用SD卡
rpiboot(引导加载程序)下载
- 下载并以管理员权限打开软件rpiboot软件
二选一下载
安装
- 关闭杀毒软件,双击rpiboot setup.exe以安装驱动程序和启动工具:
- 安装成功之后在安装目录下有一个rpiboot.exe的应用
烧录软件
进入烧录模式
- 将BOOT和GND连接 或者 将BOOT开关拨至ON,可以在对应产品的WIKI的板载资源,查看BOOT管脚位置,例如如下:

-
先通过Micro USB /Type C 接口(SLAVE 接口) 转USB接口 连接电脑,再连接电源,部分板子需要额外供电,请根据下文,找到自己的型号并供电
- 需要额外供电的有:
Compute Module 4 PoE Board Compute Module 4 IO Board CM4-DUAL-ETH-BASE Compute Module 4 PoE 4G Board
- 不需要而外供电的有:
CM4-IO-BASE-B CM4-IO-BASE-A Compute Module 4 PoE Board (B) CM4-NANO-A CM4-NANO-B
-
此时连接电脑并且给主板供电,电脑设备管理器中会识别出一个BCMxxx的设备

如果没安装 rpiboot_setup.exe ,接上USB 数据线后,通常在其他设备显示带感叹警告的设备,请安装驱动,注意安装驱动路径不要带中文,建议放在C盘根目录;
-
然后运行rpiboot

如果出现“Failed to write correct length,returned -9” 然后卡死不动,可以尝试更新rpiboot.exe -
等待运行结束,在我的电脑上面会出现一个U盘的盘符
烧写镜像
打开Raspberry Pi Imager

1:选择要烧写的硬件(步骤1下载的),CM4选择PI4
2:选择镜像,多个版本选择适合自己的(下面也可以选择格式化或者选择自己的备份的系统)
3:选择要烧录的盘符,只支持移动盘符(USB扩展的盘符)
4:全部选择好就可以点击NEXT,如果选择是树莓派OS,那么会出现,如果不需要点“不”,如果之前配置保存过可以直接点“是”,第一次使用需要设置点“编辑设置”

5:使用全新的系统默认不配置用户名和密码,用户可以直接在配置界面需配置用户名和密码,如果不配置则需要再开机后连接键盘鼠标配置用户名和密码
- 注意:
- 如果使用最新的树莓派OS, USB2.0是默认是OTG模式,不过在部分底板上面添加的HUB芯片,如果发现CM4报错:
config failed, hub doesn't have any ports! (err -19)
- 不过USB还是可以使用的,如果想移除这个错误,在config.txt的[cm4]中移除otg_mode=1,并且添加dtoverlay=dwc2,dr_mode=host,部分系统没有提示这个错误可以忽略。
- 如果使用最新的树莓派OS, USB2.0是默认是OTG模式,不过在部分底板上面添加的HUB芯片,如果发现CM4报错:
烧录完成并重启
- 烧录完毕断开电源,断开和电脑的连接线,将BOOT断开 或者 将开关拨至OFF。重新上电即可
开发软件
- Panasonic_SDFormatter-格式化软件
- Win32DiskImager-下载镜像软件
- CP2102驱动
- putty
- Xshell 6.0
- 高级IP扫描器
- bcm2835-1.45
- wiringPi-5edd177
- RPi.GPIO-0.5.11
- spidev-3.1
FAQ
- 请确认 BOOT 开关已经置于 ON,或 nRPIBOOT / EMMC-DISABLE 已正确短接
- 请确认连接的是底板的 USB SLAVE / DEVICE 接口,不要接到普通 USB HOST 接口
- 请更换支持数据传输的 USB 线测试,部分 USB 线只能充电不能传输数据
- 建议更换电脑 USB 口、USB 线,并换另一台电脑交叉测试
- 说明 CM4 已经进入 USB Boot 模式,但 eMMC 还没有成功映射成 USB 存储设备
- 请更换 USB 数据线和电脑 USB 口,尽量直接连接电脑,不要经过 USB HUB
- Windows 安装 rpiboot 后请先重启电脑,再重新连接 CM4 测试
- 请改用最新的rpiboot 工具
- 仍无法加载时,建议换多一至两台电脑交叉测试
- 这是正常过程,rpiboot 会先连接 BCM Boot 设备,再向 CM4 加载 Mass Storage Gadget
- 成功后原来的 BCM Boot 设备会重新枚举成 USB 大容量存储设备
- 请检查资源管理器、磁盘管理或 Raspberry Pi Imager 中是否已经出现新的磁盘
- 表示 rpiboot 正在等待处于 USB Boot 模式的设备
- 请确认 BOOT 已置于 ON,然后完全断电再重新上电
- 检查 USB SLAVE 接口、USB 数据线和底板供电
- CM4 必须在上电前进入 nRPIBOOT 模式
- 请先确认设备管理器是否能识别到 Broadcom / BCMxxxx Boot 设备
- 如果 BCM 设备都没有出现,应先排查 BOOT 设置、USB 数据线、USB 接口和供电
- 如果已经有 BCM 设备,请重新安装最新版 rpiboot,并重启电脑后测试
- Raspberry Pi 官方说明部分 USB HUB 会导致主机无法正确识别 Compute Module
- 排查烧录问题时请先让 CM4 直接连接电脑 USB 接口
- 确认直接连接可以正常烧录后,再判断 HUB 是否存在兼容问题
- 必须使用支持数据传输的 USB 线,仅支持充电的线无法进行 rpiboot 烧录
- Raspberry Pi 官方推荐使用质量可靠、长度较短的 USB 数据线
- 遇到偶发掉盘、写入失败或校验失败时,应优先更换 USB 线测试
- 需要,Raspberry Pi 官方 Windows 烧录步骤中明确要求安装驱动和 rpiboot 后重启电脑
- 重启后再连接 CM4,Windows 会重新发现设备并配置对应驱动
- 然后再运行 rpiboot - Mass Storage Gadget
- 不要关闭
- Raspberry Pi 官方说明安装过程中出现的驱动安装窗口需要正常完成
- 驱动没有正确安装,可能出现能看到 BCM 设备但无法继续加载 eMMC 的情况
- 建议优先使用 Raspberry Pi 官方 usbboot 仓库提供的最新版本
- 新版 CM4、较新的硬件 Revision 或新的 Windows 环境更建议使用最新版工具
- Windows 可使用最新 rpiboot 安装程序
- Raspberry Pi 官方已说明 Ubuntu 24.04 及更早版本仓库中的部分 rpiboot 版本存在无法通信的问题
- 出现这种情况建议不要继续使用系统仓库中的旧版本
- 请从 Raspberry Pi 官方 usbboot 源码重新编译最新版 rpiboot 后测试
- 运行 rpiboot 成功后,CM4 应作为 USB 大容量存储设备出现
- 可以执行 lsblk 查看磁盘列表
- 根据容量判断对应设备,例如 /dev/sda 或 /dev/sdb
- 请确认磁盘容量与 CM4 的 eMMC 容量一致后再进行写入
- 先关闭并重新打开 Raspberry Pi Imager,让软件重新扫描磁盘
- 再通过 Windows 磁盘管理或 Linux lsblk 确认系统是否已经识别 eMMC
- 如果系统本身也没有磁盘,请重新运行 rpiboot,并检查 USB 连接
- 表示烧录过程中电脑与 CM4 映射出来的存储设备通信中断
- 优先更换 USB 数据线、USB 接口,并取消 USB HUB 后重新测试
- 重新断电后按 BOOT ON → 上电 → rpiboot → Imager 的顺序重新烧录
- 仍反复出现时建议更换另一台电脑交叉测试
- 这属于 USB 存储链路中断,应先排查 USB 数据线、电脑 USB 接口和供电稳定性
- 不要直接继续写入已经掉线的设备
- 完全断电后重新进入 USB Boot 模式,再运行 rpiboot 重新加载 eMMC
- 建议重新烧录一次,并优先更换 USB 数据线和 USB 接口
- 烧录时尽量直接连接电脑,不要经过 USB HUB 或扩展坞
- 可以更换电脑重新烧录,排除电脑 USB 驱动或接口稳定性问题
- 建议先使用官方 Raspberry Pi OS 做交叉测试
- 不能,USB 线、USB 口、电脑驱动、rpiboot 版本和供电都会造成类似现象
- 请至少更换 USB 线、USB 口、电脑,并使用最新版 rpiboot 完成交叉测试
- 多种环境下均无法稳定识别或写入 eMMC,再进一步排查 CM4 硬件
- 烧录完成后需要完全断电
- 将 BOOT 开关置于 OFF,或移除 nRPIBOOT / EMMC-DISABLE 跳线
- 断开用于烧录的 USB SLAVE 数据线
- 然后重新上电,CM4 才会正常从 eMMC 启动
- 需要
- BOOT ON 是用于让 CM4 进入 USB Boot 烧录模式
- 正常从 eMMC 启动时需要将 BOOT 设置回 OFF
- 修改开关状态前建议先完全断电
- 建议拔掉
- Raspberry Pi 官方正常启动流程要求退出 nRPIBOOT 模式,并断开 USB Slave 连接
- 然后重新上电,让 CM4 从刚写入的 eMMC 系统启动
- 这表示 Bootloader 没有从前面的启动设备成功进入系统,于是继续按照 BOOT_ORDER 查找其他启动设备
- 最后停在 NETWORK 不代表网络有问题
- 应重点检查 eMMC 中的系统镜像、启动文件和镜像兼容性
- 不一定,旧镜像可能与较新的 CM4 硬件 Revision 不兼容
- CM4 Rev 1.1 官方要求使用 2021 年 7 月之后的 firmware
- 建议先烧录当前最新版 Raspberry Pi OS 测试
- 最新版能够正常启动,则重点检查原旧镜像的软件和 firmware 版本
- 表示镜像中的启动 firmware 太旧,无法支持当前硬件 Revision
- 请优先更换较新的 Raspberry Pi OS 镜像重新烧录
- 如果项目必须使用旧系统,则需要同步更新对应的启动 firmware
- 先使用最新版 Raspberry Pi OS 验证 CM4 硬件和 eMMC 是否正常
- 确认硬件正常后,再处理旧系统的启动 firmware 兼容问题
- 新版 CM4 使用旧镜像时,需要重点检查 start4.elf、fixup4.dat 等启动文件版本
- 不可以,CM4 Lite 本身没有板载 eMMC
- Lite 版本应使用 microSD 卡或其他支持的启动存储设备
- 只有带 eMMC 的 CM4 型号才需要通过 rpiboot 映射板载 eMMC 进行烧录
- CM4 eMMC 版本的主存储是板载 eMMC
- CM4 IO Board 上的 microSD 卡槽主要用于 CM4 Lite
- 带 eMMC 的 CM4 烧录系统时应通过 rpiboot 访问板载 eMMC
- CM4 Lite 没有板载 eMMC,需要使用 microSD 卡
- 普通 CM4 eMMC 版本带有板载 8GB、16GB、32GB、64GB 等容量
- 也可以根据完整型号或 Raspberry Pi 官方产品编码确认具体配置
- 先不要进行烧录,确认当前选中的磁盘是不是 CM4 eMMC
- 电脑上同时连接 U 盘、移动硬盘、SD 卡时容易选错设备
- 建议断开其他不必要的存储设备,再重新运行 rpiboot 确认容量
- 可以
- rpiboot 成功后 CM4 eMMC 会被电脑识别成标准 USB 大容量存储设备
- 之后可以像普通磁盘一样使用 Raspberry Pi Imager 写入系统镜像
- 可以,Raspberry Pi 官方也支持使用 dd 写入原始 img 镜像
- 先使用 lsblk 确认 CM4 eMMC 对应的 /dev/sdX
- 确认设备无误后再执行写入,避免误写电脑中的其他磁盘
- 这是正常现象
- Raspberry Pi OS 写入完成后通常包含启动分区和 Linux 根文件系统分区
- /dev/sdX 表示整个 eMMC,/dev/sdX1、/dev/sdX2 表示其中的分区
- 这是 Raspberry Pi 官方烧录步骤中会出现的正常提示
- 点击 Ignore,不要初始化或修改磁盘
- 随后 CM4 应继续作为 USB 大容量存储设备出现
- CM4 的两个板对板连接器需要完全扣合,安装后核心板应与底板保持平行
- 安装不到位可能导致供电、USB 或 eMMC 烧录异常
- 重新安装前请先完全断电
- 应按照对应底板的供电要求正常给 CM4 供电
- USB Slave 主要用于 rpiboot 数据通信,不应默认作为所有底板的主供电方式
- 具体供电接口和输入要求请以对应底板 Wiki 为准
- 不需要
- 基本烧录只需要 CM4、对应底板、正常供电、BOOT 设置和 USB Slave 数据连接
- 排查问题时建议先移除不必要的 USB 外设,减少干扰因素
- rpiboot 依赖电脑 USB 控制器、USB 驱动和系统环境与 CM4 通信
- 不同电脑的 USB 控制器、驱动和 HUB 链路存在差异
- 因此更换电脑是判断主机 USB 环境问题最快的交叉测试方法之一
- 不同 USB 口可能连接到不同 USB 控制器或内部 HUB
- Raspberry Pi 官方也说明部分 USB 主机或 HUB 会影响 USB Boot 设备识别
- 请优先使用电脑主板直出的 USB 接口,并更换多个 USB 口测试
- 至少说明 CM4 的 USB Boot ROM、基本供电和 USB 通信已经可以工作
- 但不能仅凭这一点确认 eMMC 读写和系统启动全部正常
- 还需要完成 eMMC 映射、镜像写入、校验和正常启动测试
- 这时可以基本确认 CM4、eMMC 和底板的基础启动链路正常
- 应重点检查客户镜像中的 boot firmware、内核、设备树和系统版本
- 老镜像尤其需要确认是否支持当前 CM4 Hardware Revision
- 先确认不同 CM4 是否属于不同 Hardware Revision
- 较新的硬件 Revision 可能需要更新的启动 firmware
- 建议先统一使用当前 Raspberry Pi OS 或统一更新镜像中的启动文件后再测试
- 第一步:确认 BOOT ON / nRPIBOOT 已正确设置
- 第二步:确认使用 USB SLAVE 接口和可靠的数据线
- 第三步:确认设备管理器出现 BCMxxxx
- 第四步:运行最新版 rpiboot,确认 eMMC 加载为磁盘
- 第五步:使用最新版 Raspberry Pi OS 烧录并校验
- 第六步:BOOT OFF、断开 USB Slave、重新上电启动
- 更换一根可靠 USB 数据线
- 更换电脑上的两个以上 USB 接口
- 不要经过 USB HUB
- 使用最新版 rpiboot
- 再换另一台电脑测试
- 多种环境结果一致后,再判断 CM4 或底板硬件问题
- 先使用最新版 Raspberry Pi OS 完整烧录并启动一次
- 官方系统可以正常启动,说明 CM4 和 eMMC 基础功能正常
- 只有客户自己的镜像无法启动时,应优先排查镜像版本和启动文件兼容性




