编译PX4固件的详细步骤

本文编译环境:win11,wsl2,ubuntu22.04 本文视频教程已上传至B站: 《PX4源码的编译》 1.1下载WFG100硬件配置文件并解压。 访问: 0199a3ef-6738-7cdb-ba80-1e5530dd389a 将W...

本文编译环境:win11,wsl2,ubuntu22.04


本文视频教程已上传至B站:《PX4源码的编译》


1.1下载WFG100硬件配置文件并解压。

访问:0199a3ef-6738-7cdb-ba80-1e5530dd389a

将WFG100飞控的APM固件硬件配置文件下载至本地电脑,并解压,所下图所示:

解压后,可以看到有一个“wuwei”命名的文件夹,在后面的步骤中,会将该文件夹放到PX4源码的指定目录中。


1.2 下载PX4源码

git clone --recursive https://github.com/PX4/PX4-Autopilot.git

回车执行,等待下载完成


1.3 进入下载好的PX4文件夹中

cd PX4-Autopilot


1.4 切换分支

PX4固件中默认下载的代码是在main分支下,这个分支是开发版的固件(可能会存在一些BUG),不是稳定的版本。


通常我们需要切换到稳定版本的分支,使用git checkout命令。截止至2025年11月04日,PX4固件的稳定发布版本是v1.16.0。

因此,我们以切换至v1.16.0版本分支为例进行编译演示。输入以下命令

git checkout v1.16.0

回车执行后,终端显示如下:

注:其他版本如下:

编译稳定版, git checkout v1.16.0

编译预发布版,git checkout v1.16.1-rc1

编译最新测试版,git checkout v1.17.0-alpha1


1.5 确认分支切换成功

输入以下指令,确认切换分支成功。

git branch

确认*号位于自己切换的分支上!


1.6 执行子模块更新

更新子模块是将上述切换的分支版本相关的模块补全,此步骤非常重要!没下载好会导致后续报错。

注:每次切换了版本分支,都要执行一次更新子模块的命令。

git submodule update --init --recursive


1.7 将解压后的 “wuwei” 文件夹,拷贝至PX4源码项目中

将WFG的硬件配置文件,拷贝到/PX4-Autopilot/boards文件夹下




1.8 安装cmake工具

sudo apt update              #注释:更新
sudo apt install cmake       #安装cmake
cmake --version              #查看cmake版本


1.9 安装python3 相关工具

sudo apt-get install python3-pip

 sudo -H python3 -m pip install kconfiglib jinja2 jsonschema empy pyros-genmsg packaging toml numpy future


1.10 安装gcc交叉编译工具

sudo apt update
sudo apt install gcc-arm-none-eabi


1.11  编译bootloader

make wuwei_wfg100_bootloader


1.12  编译固件

make wuwei_wfg100_default


注:清除编译缓存文件

如果出现编译无法通过,可以尝试清理下编译缓存文件,再次执行编译!

make clean
make disclean

或
cd ~/PX4-Autopilot
rm -rf build

#再次编译
make wuwei_wfg100_bootloader
make wuwei_wfg100_default