# 将 PX4 引导加载程序闪存到 Betaflight 系统上

本页记录了如何将 PX4 引导加载程序闪存到已闪存 Betaflight 的电路板上(例如 OmnibusF4 SD卡库特 F7).

有三种工具可用于闪存 PX4 引导加载程序: Betaflight 配置器, dfu-util (打开新窗口) 命令行工具或图形 dfuse (打开新窗口) (仅限 Windows)。

备注

Betaflight 配置器 最简单,但新版本可能不支持非 betaflight 引导加载程序更新。您可以先尝试一下,如果固件更新不起作用,再使用其他方法。

# Betaflight 配置器引导加载程序更新

备注

Betaflight 配置器 可能不支持 PX4 引导加载程序更新(截至 2023 年 5 月)。旧版本应该可以工作,但具体版本不详。

要安装 PX4 引导加载程序,请使用 Betaflight 配置器:

  1. 下载或构建 引导加载器固件 您要闪存的电路板。

  2. 下载 Betaflight 配置器 (打开新窗口) 您的平台。

    TIP

    如果使用 一个简单的跨平台替代方法是将配置器安装为一个 从这里扩展 (打开新窗口).

  3. 将电路板连接到电脑,然后启动配置器。

  4. 按下 加载固件 [本地] 按钮 Betaflight 配置器 - 本地固件

  5. 从文件系统中选择启动加载程序二进制文件,然后闪存电路板。

现在应该可以在电路板上安装 PX4 固件了。

# DFU 引导加载程序更新

本节将介绍如何使用闪存编程器闪存 PX4 引导加载程序。 dfu-util (打开新窗口) 或图形 dfuse (打开新窗口) 工具(仅限 Windows)。

您首先需要下载或构建 引导加载器固件 您要闪存的电路板(以下称为 目标.bin>;).

备注

下面的所有方法都是安全的,因为 STM32 MCU 不会变砖!DFU 无法被闪存覆盖,即使闪存失败,也始终允许您安装新固件。

# DFU 模式

这两种工具都要求电路板处于 DFU 模式。要进入 DFU 模式,请在将 USB 电缆连接到计算机时按住启动按钮。可在电路板通电后松开按钮。

# dfu-util

备注

Holybro Kakute H7 v2 和微型飞行控制器可能要求您首先运行附加命令来擦除闪存参数(以解决参数保存问题):

dfu-util -a 0 --dfuse-address 0x08000000:force:mass-erase:leave -D build/<target>/<target>.bin

该命令可能会产生错误,可以忽略。完成后,再次进入 DFU 模式完成常规闪存。

将引导加载程序闪存到飞行控制器上:

dfu-util -a 0 --dfuse-address 0x08000000 -D build/<target>/<target>.bin

重新启动飞行控制器,无需按住启动按钮即可启动。

# dfuse

dfuse 手册可在此处找到: https://www.st.com/resource/en/user_manual/cd00155676.pdf

使用该工具闪存 目标>.bin 锉刀

# 引导加载器固件

上述工具可闪存预置的引导加载器固件。大多数目标可使用正常的 PX4 源代码构建引导加载器固件,而其他目标只能使用引导加载器资源库中的源代码构建。

装有 PX4-Autopilot 引导程序的飞行控制器 生产 可以从 PX4-Autopilot 源码构建引导加载程序。运行以下命令可获得适用于该功能的控制器列表 生产 命令,并注意到 生产_bootloader

$make list_config_targets ...cuav_nora_bootloader cuav_x7pro_bootloader cubepilot_cubeorange_bootloader holybro_durandal-v1_bootloader holybro_kakuteh7_bootloader holybro_kakuteh7v2_bootloader holybro_kakuteh7mini_bootloader matek_h743-mini_bootloader matek_h743-slim_bootloader modalai_fc-v2_bootloader mro_ctrl-zero-classic_bootloader mro_ctrl-zero-h7_bootloader mro_ctrl-zero-h7-oem_bootloader mro_pixracerpro_bootloader px4_fmu-v6u_bootloader px4_fmu-v6x_bootloader

要为这些飞行控制器构建,请下载并构建 PX4-自动驾驶仪源 (打开新窗口)然后使用以下命令创建目标:

Git clone --recursive https://github.com/PX4/PX4-Autopilot.git
CD PX4-自动驾驶仪
生产 <;目标>; # 例如:Holybro_kakuteh7mini_bootloader

如需其他飞行控制器,请下载 PX4/Bootloader (打开新窗口) 资源库,并使用适当的目标构建源代码:

git clone --recursive https://github.com/PX4/Bootloader.git cd Bootloader make <target> # 例如:omnibusf4sd_bl 或 kakutef7_bl

# 重新安装 Betaflight

为了切换回 Betaflight:

  1. 备份 PX4 参数。您可以通过以下方式进行备份 出口 将它们存储到 SD 卡中。
  2. 保持 引导程序 在连接 USB 电缆时按下按钮
  3. 闪光灯 Betaflight 像往常一样 Betaflight-configurator