Skip to main content

什么是 Compute Module 4

Raspberry Pi Compute Module 4 (CM4) 利用了流行的 Raspberry Pi 4 Model B 的计算能力,与其前代产品相比具有显著的性能变化:更快的 CPU 内核、更好的多媒体、更多的接口功能。而且这是首次发布提供多种 RAM 密度和无线连接选项的版本。

在外部尺寸方面,这个版本采用了全新的机械标准。模块在其载板上的整体占用面积减少,形成了更小、更紧凑的外形尺寸,适合集成到产品中。

pir

note

Raspberry Pi 4 的强大功能以紧凑的外形尺寸用于深度嵌入式应用。Raspberry Pi Compute Module 4 集成了四核 ARM Cortex-A72 处理器、双视频输出和广泛的其他接口选择。提供 32 种变体,具有一系列 RAM 和 eMMC Flash 选项,以及有或无无线连接功能。-- Raspbarry Pi CM4

Seeed Studio Compute Module 4 产品

reTerminalEdgebox-RPI-100EdgeLogix-RPI-1000reRouter双千兆以太网网卡载板
pirpirpirpirpir

如何更新 CM4 EEPROM

前提条件

所需硬件:

  • 基于 Linux 的主机(可以是以下之一):
    • 安装了 Raspberry Pi OS 的 Raspberry Pi 4B
    • 安装了最新 Ubuntu OS 的 PC
  • USB Type-C 数据线

适用的 Seeed Studio 硬件:

reTerminalreRouter双千兆以太网网卡载板
pirpirpir
note

此过程需要将 CM4 eMMC 存储器置于"USB 大容量存储"模式,目前仅适用于 reRouter 和 reTerminal。如果您有 Edgebox-RPI-200 或 EdgeLogix-RPI-1000,您需要一个能够将 CM4 eMMC 存储器置于 USB 存储模式的 CM4 开发板,例如双千兆以太网网卡载板

将 CM4 eMMC 存储器置于 USB 大容量存储模式

对于 reTerminal

  • 步骤 1: 打开外壳并移除 reTerminal 的散热器以访问启动选择开关,请按照 reTerminal 入门指南页面 中的步骤操作,直到您切换了启动模式开关。

对于 reRouter

  • 步骤 1: 通过移除底部 4 个螺丝和底盖来打开 reRouter 的外壳,如下所示:

pir

  • 步骤 2: 将 reRouter 板从外壳中滑出并取出

pir

  • 步骤 3: 找到 3 针接口并短接 GND 和 BOOT 引脚。
note

双千兆以太网网卡载板 与 reRouter 是相同的 PCB,只需执行 步骤 3 来选择启动模式。

pir

软件设置和更新 EEPROM 固件

在您的 PC 或 Raspberry Pi 4B(刷写工具)上

note

更新 raspberry pi 的 EEPROM 仅支持基于 Linux 的操作系统,以下步骤仅在 PC with Ubuntu 22.04Raspberry Pi 4B(刷写工具)with Raspberry Pi OS(64位) 上测试过

  • 步骤 1: 安装所需的系统软件包,请打开 终端 应用程序并输入以下命令:

sudo apt-get update

sudo apt install git pkg-config make gcc libusb-1.0-0-dev
  • 步骤 2: 克隆 usbboot 工具仓库
cd ~/

git clone --depth=1 https://github.com/raspberrypi/usbboot

cd usbboot
  • 步骤 3: 构建 usbboot 工具

make
  • 步骤 4: 更新 EEPROM
note

usbboot github 仓库应该有最新的 EEPROM 引导加载程序固件更新,所以以下步骤应该能让您更新到最新的 EEPROM 引导加载程序固件


cd recovery

./update-pieeprom.sh

您应该看到如下所示的类似消息:

pir

可选: 如果您想使用特定版本的引导加载程序固件,您可以访问 rpi-eeprom 仓库固件文件夹来选择和下载固件 bin 文件以替换 pieeprom.original.bin 文件,例如:

note

此可选步骤将用编写此 wiki 时最新的 stable 构建版本 pieeprom-2023-01-11.bin 替换 pieeprom.original.bin 文件。


cd ~/usbboot/recovery

rm -f pieeprom.original.bin

curl -L -o pieeprom.original.bin https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/stable/pieeprom-2023-01-11.bin

./update-pieeprom.sh

您应该看到如下所示的类似消息:

pir

  • 步骤 5: 将 USB Type-C 连接到 CM4 设备(reTerminal \ reRouter \ 双千兆以太网网卡载板)和 主机 PC/Raspberry Pi 4B(刷写工具) 设备,其中 CM4 设备 应该置于 USB 大容量存储模式

  • 步骤 6: 应用并更新 EEPROM 固件


cd ~/usbboot

./rpiboot -d recovery

您应该看到如下所示的类似消息:

pir

此时您的 CM4 设备 应该已经设置了新的启动顺序并更新了 EEPROM 固件。

更改启动顺序并更新 EEPROM

note

您应该已经按照上述设置步骤执行到 步骤 3

  • 步骤 1: 编辑 boot.conf
cd ~/usbboot/recovery

nano boot.conf

文件应该如下所示:


[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

# Try SD first (1), followed by, USB PCIe, NVMe PCIe, USB SoC XHCI then network
BOOT_ORDER=0xf25641

# Set to 0 to prevent bootloader updates from USB/Network boot
# For remote units EEPROM hardware write protection should be used.
ENABLE_SELF_UPDATE=1

其中 BOOT_ORDER=0xf25641 行是启动顺序设置,当前启动顺序设置为 SD CARD/eMMC > USB-MSD > NVME > BCM-USB-MSD > NETWORK > RESTART。如果您想将启动顺序更改为 NVME > USB-MSD > BCM-USB-MSD > SD CARD/eMMC > NETWORK > RESTART,启动顺序设置应为 BOOT_ORDER=0xf21564

因此新的启动顺序设置的 boot.conf 应如下所示:


[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

# Try SD first (1), followed by, USB PCIe, NVMe PCIe, USB SoC XHCI then network
BOOT_ORDER=0xf21564

# Set to 0 to prevent bootloader updates from USB/Network boot
# For remote units EEPROM hardware write protection should be used.
ENABLE_SELF_UPDATE=1

保存并退出 nano 编辑器。

以下是定义 BOOT_ORDER 不同启动模式设置属性的表格,供参考。

模式描述
0x0SD CARD DETECT尝试 SD 卡然后等待卡检测指示卡已更改 - 现在已弃用,因为 0xf (RESTART) 可用。
0x1SD CARD/eMMCSD 卡(或 Compute Module 4 上的 eMMC)。
0x2NETWORK网络启动
0x3RPIBOOTRPIBOOT
0x4USB-MSDUSB 大容量存储启动
0x5BCM-USB-MSD从 USB Type C 接口进行 USB 2.0 启动(CM4:CM4IO 板上的 USB type A 接口)。
0x6NVME仅限 CM4:从连接到 PCIe 接口的 NVMe SSD 启动。
0x7HTTP通过以太网进行 HTTP 启动。
0xeSTOP停止并显示错误模式。需要重新上电才能退出此状态。
0xfRESTART从 BOOT_ORDER 字段中的第一个启动模式重新启动,即循环

参考:BOOT_ORDER 属性表

  • 步骤 2: 获取最新固件

wget -O pieeprom.original.bin https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/stable/pieeprom-2023-01-11.bin
  • 步骤 3: 使用新的 boot.conf 更新 EEPROM 固件

./update-pieeprom.sh
  • 步骤 4: 将 USB Type-C 连接到 CM4 设备(reTerminal \ reRouter \ Dual Gigabit Ethernet NICs Carrier Board)和 主机 PC/Raspberry Pi 4B(刷写工具) 设备,其中 CM4 设备 应置于 USB 大容量存储模式

  • 步骤 5: 将固件应用到设备

cd ~/usbboot

sudo ./rpiboot -d recovery

您应该看到如下所示的类似消息:

pir

此时您的 CM4 设备 应该已经设置了新的启动顺序并更新了 EEPROM 固件。

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...