启动程序更新
PX4 引导加载程序 用于加载 Pixhawk 板(PX4FMU、PX4IO)的固件和 PX4FLOW.
本主题介绍更新 Pixhawk 引导加载程序的几种方法。
硬件通常会预装适当版本的引导加载器。安装 FMUv2 固件的较新 Pixhawk 电路板可能需要更新: 固件 > FMUv2 引导加载程序更新.
QGroundControl 引导加载程序更新
最简单的方法是首先使用 QGroundControl 以安装带有所需/最新引导加载程序的固件。然后,您可以通过设置参数,在下次重启时启动引导加载程序更新: SYS_BL_UPDATE.
这种方法只能在以下情况下使用 SYS_BL_UPDATE 存在于固件中(目前只有 FMUv2 和一些定制固件)。
步骤如下
- 插入 SD 卡(启用启动日志以调试任何问题)。
更新固件 包含新的/所需的引导加载程序的映像。
更新的引导加载程序可能在定制固件中提供(即开发团队提供),也可能包含在最新的主程序中。
- 等待载具重新启动。
- 查找并启用 参数 SYS_BL_UPDATE.
- 重新启动(断开/重新连接电路板)。更新引导加载程序只需几秒钟。
一般来说,此时您可能需要 更新固件 再次使用正确/新安装的启动加载程序。
Dronecode 探针引导加载程序更新
以下步骤说明了如何使用 dronecode 探头手动更新引导加载程序:
- 获取包含引导加载程序的二进制文件(从开发团队获取或自行构建)。
- 通过 USB 将 Dronecode 探头连接到电脑。
- 进入包含二进制文件的目录,在终端运行以下命令:
arm-none-eabi-gdb px4fmuv5_bl.elf
- gdb 终端 出现,并显示以下输出:
GNU gdb(GNU 工具 对于 Arm 嵌入式处理器 7-2017-Q4-主要) 8.0.50.20171128-git 版权 (C) 2017 自由软件基金会许可证 GPLv3+:GNU GPL 版本 3 或更高版本 <http://gnu.org/licenses/gpl.html> 本软件为免费软件:您可以自由修改和重新发布。在法律允许的范围内,不提供任何担保。 类型 "显示复制"和"显示保修"; 对于 详细信息。该 GDB 配置为 "--host=x86_64-linux-gnu--target=arm-none-eabi"。 类型 "显示配置"; 对于 配置详情。 对于 错误报告说明,请参见:<http://www.gnu.org/software/gdb/bugs/>。 查找 GDB 手册和其他在线文档资源 于: <http://www.gnu.org/software/gdb/documentation/>。 对于 帮助, 类型 ";帮助"。 类型 "贴切词"进行搜索 对于 与 "word" 相关的命令...从 px4fmuv5_bl.elf 读取符号...完成。
- 查找您的
<dronecode-probe-id>;
通过在 /dev/serial/by-id 目录。 - 现在用以下命令连接 Dronecode 探头:
tar ext /dev/serial/by-id/<dronecode-probe-id>;
用另一根 USB 电缆接通 Pixhawk 的电源,将 Dronecode 探头连接到 FMU-DEBUG 端口。
要将 Dronecode 探头连接到 FMU-DEBUG 端口,可能需要卸下外壳(例如,在 Pixhawk 4 上,需要使用 T6 梅花螺丝刀)。
使用以下命令扫描 Pixhawk’sswd 并与其连接:
(gdb) mon swdp_scan (gdb) attach 1
- 将二进制文件加载到 Pixhawk 中:
(gdb)加载
更新引导加载程序后,您可以 加载 PX4 固件 使用 QGroundControl.
其他电路板(非 Pixhawk)
不属于 Pixhawk 系列 它们将有自己的引导程序更新机制。
对于预闪存了 Betaflight 的电路板,请参见 在 Betaflight 系统上刷新引导加载程序.