CM4 Burn EMMC

来自Waveshare Wiki
跳转至: 导航搜索


镜像烧录步骤

  • 注意:EMMC 版本不可以使用SD卡

rpiboot(引导加载程序)下载

  • 下载并以管理员权限打开软件rpiboot软件

二选一下载

安装

  • 关闭杀毒软件,双击rpiboot setup.exe以安装驱动程序和启动工具:

Cm4-burns.png

  • 安装成功之后在安装目录下有一个rpiboot.exe的应用

CM4 Burn EMMC 3.png

烧录软件

CM4 Burn EMMC 1 1.png

进入烧录模式

  1. 将BOOT和GND连接 或者 将BOOT开关拨至ON,可以在对应产品的WIKI的板载资源,查看BOOT管脚位置,例如如下:
    CM4 Burn EMMC 1.png
    CM4-NANO-A-BOOT.png CM4-NANO-B-BOOT.png
  2. 先通过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
    
  3. 此时连接电脑并且给主板供电,电脑设备管理器中会识别出一个BCMxxx的设备
    CM4 Burn EMMC 4.png
  4. 如果没安装 rpiboot_setup.exe ,接上USB 数据线后,通常在其他设备显示带感叹警告的设备,请安装驱动,注意安装驱动路径不要带中文,建议放在C盘根目录; Bcm-cm4!.png
  5. 然后运行rpiboot
    CM4 Burn EMMC 5.png
    如果出现“Failed to write correct length,returned -9” 然后卡死不动,可以尝试更新rpiboot.exe
  6. 等待运行结束,在我的电脑上面会出现一个U盘的盘符
    CM4 Burn EMMC 6.png
    注意:如果电脑没有识别出BCMxxx的设备 ,可能是上面哪一个步骤有问题。一定要识别出BCMxxx的设备运行rpiboot 才会有效,否则无效。
    • 如果你没办法正常烧录程序,请尝试以下步骤:
      • 使用WIN10系统进行烧录,多数客户反馈WIN7或linux系统烧录不稳定。
      • 确定你的CM4版本是否正常,eMMC正面会多一颗IC。只有eMMC版本的,才可以通过当前方式烧录。
        Compute-Module-4-5.png
      • 注意Power接口需要接入至少10W(5V/2A或者12V/1A)电源适配器。
      • 更换一条USB数据线。
      • 更换一个PC机的USB接口。
      • 尝试重启PC机。
      • 尝试重新拔插CM4
      • 尝试在另一台电脑烧录。
    注意:如果出现提示格式化不需要格式化

烧写镜像

打开Raspberry Pi Imager
CM4 Burn EMMC 1 2.png
1:选择要烧写的硬件(步骤1下载的),CM4选择PI4
2:选择镜像,多个版本选择适合自己的(下面也可以选择格式化或者选择自己的备份的系统)
3:选择要烧录的盘符,只支持移动盘符(USB扩展的盘符)
4:全部选择好就可以点击NEXT,如果选择是树莓派OS,那么会出现,如果不需要点“不”,如果之前配置保存过可以直接点“是”,第一次使用需要设置点“编辑设置”
CM4 Burn EMMC 1 3.png
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,部分系统没有提示这个错误可以忽略。

CM4 Burn EMMC 12.png

烧录完成并重启

  • 烧录完毕断开电源,断开和电脑的连接线,将BOOT断开 或者 将开关拨至OFF。重新上电即可

开发软件


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 基础功能正常
  • 只有客户自己的镜像无法启动时,应优先排查镜像版本和启动文件兼容性