跳到主要内容

固件烧写工具

该选项卡用于更新飞行控制器(FC)固件。

对于 Betaflight 4.4 及更高版本,固件更新采用在线构建流程:选择飞控、要刷写的固件版本和所需功能,系统会在线构建自定义固件 hex 文件,再下载并安装到飞控。

固件刷新选项卡

准备工作

  • 升级至最新版 Betaflight 地面站。
  • 升级飞控前,请在预设选项卡中选择 save backup,或通过 CLI 保存 diff 文件。这样会保存旧固件使用的配置,便于需要时回退。CLI 的 status 命令可显示当前硬件信息。
备注

要恢复到以前的固件,将应用相同的在线过程,但您需要选择原始固件版本,然后恢复保存的 diff 文件。

地面站仅支持 Betaflight 版本 4.0 及更高版本。可能需要旧版本的地面站来刷新旧固件。

基本刷机流程

警告

此操作将 始终 擦除飞控中的全部现有配置数据!

要刷新固件的最终发行版本:

  • 将“专家模式”关闭
  • 将“显示候选版本”关闭
  • 点击“自动检测”,确认列表中显示正确的目标板名称
  • 选择要刷写的固件版本

然后出现构建配置区域:

  • 选择无线电协议;若未自动包含,请同时选择遥测协议
  • 启用其他硬件选项,例如 OSD、VTX、GPS、LED Strip 等

对于包含 ELRS、GPS、LEDstrip、Mag、OSD (SD) 和 VTx 的 JHEF411,屏幕应如下所示:

固件刷新器基本

确认无误后,点击“从网络加载固件”,等待固件构建并下载。

然后点击“烧写固件”。

如果您尚未执行此操作,则会提供一个将当前配置保存为 diff 文件的对话框。

固件刷写完成后,重新连接飞控,校准加速度计并重新配置各项设置。

通常建议完全手动重新配置。若刷写前后属于同一补丁版本,通常可导入保存的预设或粘贴 Diff;也可将 Diff 的特定部分选择性粘贴到 CLI,例如图传表、模式和 AUX 设置。除非明确了解其影响,否则不要复制粘贴 dump 中的 profilesmaster 部分。

警告

刷写后,试飞前务必检查每一项设置是否正确。首次试飞应谨慎,并在安全环境中进行。

刷写候选发布版本

候选版本是特殊的固件版本,用于测试“即将完成”的固件。它们仅在新固件版本开发后期可用,此时我们认为它已基本准备就绪。例如,4.5.0-RC2是 Betaflight 4.5 的第二个 RC 版本;它于 2024 年 1 月 8 日发布进行测试。通常这些构建是稳定的。开发人员非常感谢 PR 版本的公开测试。

要查看候选版本:

  • 启用“专家模式”
  • 启用“显示候选版本”
  • 从新的下拉列表中选择“正式版和候选正式版”
  • 点击“自动检测”以选择正确的飞控
  • 选择您想要刷新的候选版本
  • 按照上面的基本闪烁进行。

刷写开发版本

开发版本包含对固件所做的最新更改。

通过此选项,您可以在将代码添加到 master 分支后立即测试新功能,或尝试对代码进行重大更改。例如,如果 Betaflight 4.5 是当前发布版本,则列表中可用的开发版本将为 2025.12.0,并且 4.5 的最新更新分支的最新代码,例如 4.5.3.

要查看开发版本:

  • 启用“专家模式”
  • 启用“显示候选版本”
  • 从新的下拉列表中选择“开发版”,然后点击“自动检测”以选择正确的飞控
  • 选择您想要刷新的开发版本(RC 也在那里)
  • 按照上面的基本闪烁进行。

其他“专家模式”选项

设置含义
无重启序列如果您的主板已处于 DFU 模式,请使用此选项。
连接时刷写(危险)立即刷写您插入的下一块板,而不检查其类型或提供备份。
全芯片擦除默认设置为“开启”,这是有充分理由的。请参阅下面的注释。
手动波特率默认设置通常合适,但有时使用较低波特率更可靠。
备注

“全芯片擦除”完全擦除 NVRAM,删除所有保存的配置数据,并将其替换为新固件的新默认值和新数据结构。

仅当您 100% 确定自上次刷写以来配置数据结构未发生更改时才应禁用“全芯片擦除”,否则新固件可能会检索到不正确的配置值,从而可能导致灾难性的结果。

构建配置

在“构建配置”部分中,用户选择将包含在其固件构建中的硬件支持代码。

有四种基本配置分组:

无线电协议

选择使用的接收机协议。最常见的是:

协议接收机
CRSFTBS Crossfire 或 ExpressLRS
GHST沉浸式遥控幽灵
系统总线FrSky 或 Futaba
备注

EXPRESSLRS SPI 接收机使用 CRSF 协议,主版本号必须匹配(例如 Betaflight 4.4 和 4.5 中的 ELRS SPI 接收机只能与遥控器中的 ELRS 3.x 配合使用)。

FrSky SPI 接收机使用 SBUS 或 FPORT 协议,具体取决于所使用的接收机固件。

SPI 配置细节通过软件解析(配置数据的一部分)。一些所需的信息可能通过板定义文件包含在闪存中。

遥测协议

选择您需要的遥测协议。 对于 CRSF、ELRS、FPORT 或 GHST 协议,默认情况下包含此选项以简化配置。

其他选项

这些是您可以添加到固件中的自定义功能或特性。

选项描述
AKK(SA 修复)AKK 硬件的 SmartAudio 补丁。
手动模式训练器启用手动模式训练器(Acro Trainer)支持。
高度保持启用高度保持模式支持。请参阅 #13816
电池续航(Batt. Continue)请参阅 #11084
相机控制启用相机控制。
仪表板启用外部 I2C OLED 显示设备(已弃用)。
EMFAT(自动运行、图标)为板载闪存或 MSC 启用 FAT 模拟和图标。
ESC 串行(SK)Inc. 4way通过 4way 接口启用 SimonK 和 ESC 串行支持以进行刷写。
闪存存储仅限 4.4 及更早版本。启用黑匣子闪存存储支持。在 4.5 中,通过 FC 配置文件自动包含。要手动将闪存添加到 4.5 构建,请在“自定义定义”中输入 FLASH
FrSky OSD启用 FrSky OSD 支持。
GPS启用 GPS 和 GPS_PLUS_CODES。
LED 灯带启用 32 个 LED。
LED 灯带 64启用 64 个 LED。
磁力计启用磁力计(指南针)。
OSD(标清)启用标清 OSD(需要板载 MAX7456)。
OSD(高清)启用高清 OSD(例如 DJI、HDZero、Walksnail)。
PIN IO启用 PINIO。
位置保持启用位置保持模式支持。请参阅 #13975
RACE PRO请参阅 Betaflight 4.5 发布说明
软串口启用软件串口支持。
舵机启用舵机支持。
图传启用 VTX。
固定翼TPA 模式 PDS + 固定翼设定点衰减。请参阅 #14010

电机协议

选择要使用的电机控制 (ESC) 协议。 DShot 为默认值。

自定义

该字段仅在专家模式下可用,用于开发和测试。它允许用户输入“硬件定义”的编码“名称”,强制该代码包含在构建中。可以包含多个定义,并用空格分隔。

例如,在使用 RANGEFINDER ACCGYRO_LSM6DSO 进行云构建时,本地构建选项 -DUSE_RANGEFINDER -DUSE_ACCGYRO_LSM6DSO 可以作为自定义定义包含在内。

对于高级用户,我们开发部分中的 定义 页面提供了 2024 年初可用的自定义选项列表。

选择拉取请求或提交

该字段仅在专家模式下可用,用于开发和测试处于“拉取请求”状态的尚未合并的代码。当开发人员提议对代码库进行更改并将其进行测试时,就会发生这种情况。

它默认为最新提交(master),这意味着所选固件分支的最新提交。如果您想返回一点,下拉列表中包含一些最近的提交。

每个 GitHub 拉取请求都有一个唯一的 ID。用户可以通过键入拉取请求的编号(前面加上 # 字符,在 master 之上包含一个特定的、尚未合并的 Pull Request。例如,要包含 Pull Request #13605,只需在“自定义定义”字段中输入 #13605

还可以通过输入提交的 sha 从任何先前的时间点进行构建。

故障排除

提示
  • 使用优质数据线,而不是电源线。
  • 最新的计算机有时需要 USB 集线器或 OTG 电缆,但在其他情况下它们可能会导致问题。
  • 首先尝试断开 PC 上的所有电缆,尝试重新启动、其他端口、升级系统驱动程序。移除其他 USB 连接。
  • 尝试 DFU 模式(插入时使用 FC 上的启动按钮,使用设置选项卡中的 激活启动加载程序/DFU 按钮或在 CLI 中使用 bl 命令。)
  • 有时,飞控上的外围设备(例如接收机或 GPS 设备)可能会劫持端口通信,从而阻止进入 DFU 模式。这些可能需要拆焊。
  • Linux 需要配置以允许刷新。
  • MacOS 或 Windows 不需要任何驱动程序。
  • 如果仍然不起作用,请尝试 Windows 平台上的 IRC Driver Fix 或 Zadig。
信息

如果刷机后无法识别您的主板外设,请帮助我们添加所需的配置详细信息。有些主板的文件定义不充分,或者制造商更改了主板上的某些内容。


通过我们的 Discord 服务器 联系我们或在 Betaflight 统一目标存储库中创建问题。


要获取所需信息,请按照以下步骤操作:

  1. 在启用 Core Only 开关的情况下刷新您的主板
  2. 转至 CLI 选项卡,然后单击 提交支持数据 按钮。
  3. 通过生成的支持 ID,我们应该拥有所有必需的信息,但我们需要您的帮助来确认修复。

检查构建

“显示日志”链接将打开构建日志并显示应用于构建的定义、代码构建结果和文件大小详细信息。

日志文件包含一个完整的字符串,供在本地刷新相同的构建时使用(对于 Docker 和 Make)。

刷写后的任何时候,都可以使用地面站“设置”选项卡右下角的“日志”按钮重新加载日志。可以使用附近的“选项”按钮显示所包含的构建选项摘要。

本地闪烁

如果你有本地编译环境并且可以制作 hex 文件,或者你只有一个 hex 文件要烧写,那么可以直接烧写。

对于 4.4 和 4.5,十六进制文件必须是自定义构建或预构建的,并且已包含所有硬件选项。无需在下拉列表中选择板或设置任何选项,因为所有必需的默认值和选项都存在于自定义十六进制文件中。注意配置文件只包含默认配置值;用户必须在飞行前检查并更新设置。在实际刷新代码之前,将鼠标悬停在刷新选项卡中的“加载的在线固件”上,可以将固件十六进制文件下载到您的计算机,以便稍后在需要时进行本地刷新。

以前使用 MPU 特定的十六进制文件,用户必须确保选择了板,以便板特定的硬件详细信息将在十六 ​​ 进制后闪烁。

要使用可选的自定义配置刷写本地开发固件,请使用从本地电脑加载固件按钮加载板配置,点击“自动检测”,或在 DFU 模式下手动选择板。

备注

如果在刷新较旧的 MCU 通用固件时,并且您有本地配置文件,请先加载它,然后再次使用相同的按钮加载本地十六进制文件。