本章介绍如何向飞控中烧录PX4固件。


飞控拿到手后,建议先刷写PX4固件,再将飞控安装上飞机,飞机组装完毕后,再在QGC中配置参数。这是因为将飞控连接电脑刷写固件时需要按住飞控上的按键,如果飞控已经安装在了机架中,这一操作可能有些费力。

飞控刷写PX4固件

以下操作在自己的Ubuntu电脑上进行:

我的飞控板:Kakute H7 mini V1.3

需要烧录两样东西:

  1. PX4 bootloader firemare
  2. PX4 firmware

第1步:下载并配置PX4源码

文档更新于2023.12.22,此时稳定版本固件为v1.14.0

git clone -b v1.14.0 https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

参考:

Ubuntu Development Environment | PX4 User Guide (main)

第2步:烧录PX4 bootloader

按住飞控上的BOOT按键,将飞控连接到电脑,这样飞控将被识别为DFU模式,可以烧录固件(这应该是本项目中将飞控连接到电脑时唯一一次需要进入DFU模式)。执行以下命令:

cd PX4-Autopilot
make holybro_kakuteh7mini_bootloader
sudo apt install dfu-util
sudo dfu-util -a 0 --dfuse-address 0x08000000:force:mass-erase:leave -D ./build/holybro_kakuteh7mini_bootloader/holybro_kakuteh7mini_bootloader.bin
sudo dfu-util -a 0 --dfuse-address 0x08000000 -D ./build/holybro_kakuteh7mini_bootloader/holybro_kakuteh7mini_bootloader.bin

执行倒数第二行命令将以error结束:dfu-util: Error during special command "MASS_ERASE" get_status,这没有关系,继续执行下一条命令即可。执行完命令后,PX4 bootloader被烧录进飞控板。执行成功的结果如下:

Downloading to address = 0x08000000, size = 41872
Download	[=========================] 100%        41872 bytes
Download done.
File downloaded successfully

关于DFU模式: