cm4不能在系统里通过 rpi-eeprom-update 指令进行升级,也不能通过 update 进行更新,只能通过recovery模式进行更新。

以下为Windows的升级方式。

Setp 1:下载recovery

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

Setp 2:安装rpiboot

进入usbboot\win32,双击rpiboot_setup.exe安装

Setp 3:修改启动顺序(可选)

如果你不想修改启动顺序,那么请跳过此步

修改启动顺序需要在Linux或WSL下进行,因为需要用到shell环境。

默认的启动顺序:SD CARD/eMMC > USB-MSD > NVME > BCM-USB-MSD > NETWORK > RESTART

BOOT_ORDER=0xf25641

修改的启动顺序:NVME > USB-MSD > BCM-USB-MSD > SD CARD/eMMC > NETWORK > RESTART

BOOT_ORDER=0xf21564

[all]
BOOT_UART=1
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0 # Boot Order Codes, from https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER
# 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

修改好执行脚本。脚本会从pieeprom.original.bin源文件生成pieeprom.bin和pieeprom.sig两个新的目标文件。

cd recovery
nano boot.conf
./update-pieeprom.sh

将pieeprom.bin和pieeprom.sig两个新的目标文件拷贝到C:\Program Files (x86)\Raspberry Pi\recovery,替换安装包里默认的文件。

Setp 4:从recovery更新

短接CM4的Boot到GND后上电,此时CM4就进入了Boot模式。

进入C:\Program Files (x86)\Raspberry Pi\recovery,并在此处打开powershell,执行以下指令:

./rpiboot -d recovery

执行结果如下:

PS C:\Program Files (x86)\Raspberry Pi> ./rpiboot -d recovery
RPIBOOT: build-date Dec 16 2022 version 20221215~105525 1afa26c5
Loading: recovery/bootcode4.bin
Waiting for BCM2835/6/7/2711...
Loading: recovery/bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes
Waiting for BCM2835/6/7/2711...
Loading: recovery/bootcode4.bin
Second stage boot server
Loading: recovery/config.txt
File read: config.txt
Loading: recovery/pieeprom.bin
Loading: recovery/pieeprom.bin
Loading: recovery/pieeprom.sig
File read: pieeprom.sig
Loading: recovery/pieeprom.bin
File read: pieeprom.bin
Second stage boot server done

执行完毕后active灯将每隔0.5s闪烁,HDMI输出绿色为升级成功。短闪两下,长闪一下, HDMI输出红色为升级失败。升级失败需要重新来过。

参考:

https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader

https://wiki.seeedstudio.com/Raspberry_pi_CM4_update_eeprom/

https://www.jeffgeerling.com/blog/2022/how-update-raspberry-pi-compute-module-4-bootloader-eeprom

树莓派cm4更新bootloader(eeprom)的更多相关文章

  1. 树莓派4B 更新wiringPi库到2.52的方法的wiringPi库2.5.2版本wiringpi-latest.deb下载

    树莓派4B 更新wiringPi库到2.52的方法 – 树莓派中文站 http://www.52pi.net/archives/1918 通过如上链接可知,需要通过如下命令下载wiringpi-lat ...

  2. [原创]树莓派CM4配置GPIO复用为i2c

    1.简介 项目中需要控制各种外设的电源,正常应该是通过GPIO进行控制,但是树莓派CM4的GPIO管脚有限,因此需要使用i2c扩展IO 查阅CM4-datesheet发现GPIO22和GPIO23可以 ...

  3. 树莓派3B更新软件

    因为软件是要不断更新的,所以半个月或者一个月要升级一下软件 升级软件非常简单 在终端或者SSH里输入 sudo apt-get update && apt-get upgrade -y ...

  4. 树莓派CM4 wifi频繁断开连接

    CM4核心板上自带的wifi模块连接上华为/小米的路由器5G热点以后,会频繁断开连接,断开连接前使用 iw dev 查看wifi信息如下: phy#0 Unnamed/non-netdev inter ...

  5. 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决

    树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...

  6. 在树莓派1B上编译安装lnmp服务器

    最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...

  7. 在树莓派2代B型/3代 上安装Fedora23 - Installing Fedora 23 on Raspberry Pi 2 model B or Raspberry Pi 3

    本文主要用于记录安装过程,以便日后查阅回顾. 之前在自己的树莓派上运行的一直是通过NOOB安装的Raspbian,但是本人平时更喜欢用Fedora作为开发和使用环境,而且Raspbian上的软件包通常 ...

  8. windows下一根数据线玩转树莓派zero(w)

    买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...

  9. IoT固/软件更新及开源选项

    会出什么问题呢?大多数这些设备的设计都不像是被恶意攻击的目标. 嵌入式系统传统上被认为是稳定的产品, 但实施起来成本高昂, 因为投资回报率(ROI)在的周期比较长. 在过去一旦发货, 就很少需要更新这 ...

  10. 新树莓派系统安装ROS记录

    树莓派系统更新了,作为版本控的我怎么能忍住不更新系统,为了提高系统的速度,买了张170M的告诉sd卡,我要说的是,这个高速SD卡的钱花的最值得了,千万不要觉得树莓派都买了4,还要什么高速SD卡(自行车 ...

随机推荐

  1. Machine Learning Week_8 K-means And PCA

    目录 1 K-means 1.1 Unsupervised Learning:Introduction 1.2 K-Means Algorithm 1.2.1 k-means algorithm 1. ...

  2. 无需等待Vue Release发布,就能在项目中体验最新版

    前言 两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,我们就可以在项目中体验最新版本的Vue啦. 关注公众号:[前端 ...

  3. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现一

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  4. AT开发HTTP应用:Air780EP低功耗4G模组

    ​ 已经写了一篇基于Air780EP模组AT开发的FOTA远程升级指南,有客户朋友询问能否讲讲HTTP应用部分?本期特别安排--涵盖HTTP基本应用流程.GET/POST/SSL请求示例.断点续传.常 ...

  5. Spring开闭原则的表现-BeanPostProcessor的扩展点-1

    上接Spring事务处理时自我调用的解决方案及一些实现方式的风险继续分析,在分析上篇的问题之前,我们需要了解下BeanPostProcessor概念和Spring容器创建Bean的流程. 一.Bean ...

  6. rsync之实战

    简介 rsync是远程(或本地)复制和同步文件最常用的命令. 借助rsync命令,你可以跨目录,跨磁盘和跨网络远程与本地数据进行复制和同步.举例来说:在两台Linux主机之间进行数据备份和镜像.本文介 ...

  7. C#/.NET/.NET Core优秀项目和框架2024年11月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...

  8. 【前缀和+开区间二分】codeforces 1187 B. Letters Shop

    题意 第一行,输入一个正整数 \(n(1 \leq n \leq 2*10^5)\),代表字符串 \(s\) 的长度. 第二行,输入一个字符串 \(s\). 第三行,输入一个正整数 \(m(1 \le ...

  9. k8s pod错误的排查步骤和处理方法

    查pod kubectl get pod -n amadeus -o wide 查pod日志 kubectl logs -f --timestamps -n amadeus weyo-server-6 ...

  10. 利用 Databend + COS助力 CDH 分析 | 某医药集团

    作者: 黄志武 某医药集团信息中心数据库组组长,13 年数据库行业从业经历,Oracle OCM,关注 Oracle.MySQL.Redis.MongoDB.Oceanbase.Tidb.Polard ...