跳到主要内容

Mars CM Bootloader 引导程序升级

Mars CM 无论是通过 SD 卡启动系统,还是通过 eMMC 模组启动系统,都要通过 Bootloader 引导程序来启动,这个引导程序存储在板上的一个 SPI Flash 中,包含 SPLU-Boot 两个部分

提示

Mars CM 中的这个 Bootloader 您可以理解为我们电脑中的 BIOS

Mars CM 出厂时已经预置了一个初始的 Bootloader 程序,正常使用中无须升级该程序。只有出现如下情况时,需要升级 Bootloader

  1. SPI Flash 中的 Bootloader 程序意外损坏,导致无法正常启动系统时
  2. 官方系统镜像升级(比如 Debian),必须配合新的 Bootloader,否则无法启动时
  3. U-Boot 修复了一些 Bug,或者增加了新功能,您需要使用这些新功能时

更新 Mars CM 上 SPI Flash 中 Bootloader 的方法有几种,比如 Windows 烧录工具、TFTP、flashcp 命令等,这里先介绍在 Windows 系统中使用 UsbFlashTool 烧录工具的方法

Mars CM 可以搭配不同的底板使用,这里以搭配树莓派 CM4 IO Board 底板为例进行说明。

使用 UsbFlashTool Windows 工具升级 Bootloader

下载 UsbFlashTool 烧录工具和 Bootloader 固件

烧录工具 UsbFlashTool

Bootloader 固件

SPL:    u-boot-spl.bin.normal.out
U-BOOT: visionfive2_fw_payload.img

安装驱动

提示

仅首次使用时需要安装驱动程序

请参考 启动 Mars CM安装驱动 章节安装驱动后,返回这里继续操作。

升级 Bootloader

烧录 Bootloader 的前 6 步与前面安装驱动的前 6 步是一致的

  1. USB 转 TTL 串口线连接到底板的 40PIN 排针上,USB 端连接 PC 并记录下串口号

    mars-cm

    mars-cm

    注意,如果有其他串口程序打开了该串口,请先将程序退出,不要占用该串口

  2. 将 CM4 IO Board 的 J12 排针的 1,2 脚用跳线帽短接 (USB 烧录模式)

    mars-cm

  3. 用 Mirco USB 接口的数据线连接 PC 和底板 J11 USB Slave 接口

    mars-cm

  4. 打开刷机工具目录中的 UsbFlashTool-*-Windows.exe 烧录程序

    mars-cm

  5. 右侧串口设置中的串口号,设置为第 1 步中记录的串口号

    mars-cm

  6. 绐底板的 12V DC 接口上电

  7. 烧录 SPL

    点击 File Select, 选择要烧录的 SPL 固件 u-boot-spl.bin.normal.out ,在 File Type 中选择 SPLMemory Type 中选择 FLASH,再点击 Load 开始烧录固件

    mars

    烧录成功后会显示 SUCCEEDComplete

    mars

  8. 烧录 U-BOOT

    点击 File Select, 选择要烧录的 U-BOOT 固件 visionfive2_fw_payload.img ,在 File Type 中选择 U-BootMemory Type 中选择 FLASH,再点击 Load 开始烧录固件

    mars

    烧录成功后会显示 SUCCEEDComplete

    mars

  9. 烧录完成后,将 UsbFlashTool 窗口关闭,底板断电,取下步骤 2 中的跳线帽

重新上电后,可根据串口日志中的时间信息判断 Bootloader 是否已经更新

U-Boot SPL 2021.10 (Aug 31 2023 - 12:55:45 +0800)
U-Boot 2021.10 (Aug 31 2023 - 12:55:45 +0800), Build: jenkins-github_visionfive2-17
  • carbonfix