物唯仓库-PX4固件-编译说明

本文编译环境:win11,wsl2,ubuntu22.04 1.1说明 物唯科技后续将会在PX4-Autopilot源码 v1.17.0的基准上,逐步对PX4的飞控源码进行功能增减及优化!部分功能需要在多个文件夹上新增.cpp文件或.h文件...

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


1.1说明

物唯科技后续将会在PX4-Autopilot源码 v1.17.0的基准上,逐步对PX4的飞控源码进行功能增减及优化!部分功能需要在多个文件夹上新增.cpp文件或.h文件!因此物唯科技新建了一个独立于官方固件的仓库进行源码管理,并开源!

另外在物唯的代码仓库中,也会默认增加物唯的WFG100、WFG001、WFG120这几个系列的飞控板卡配置文件,无需额外进行硬件配置文件夹的增加与配置!

编译PX4官方固件和物唯科技仓库中的PX4固件大体步骤,基本是一样的,只是部分指令有所区别!如果要编译PX4官方的固件,请参考此页面的内容:《PX4官方固件编译说明》


物唯科技PX4固件源码仓库如下:

https://github.com/WWKJ-FX/WW-PX4-Autopilot/tree/v1.17.0-1.0.0

image.png


1.2 下载PX4源码

git clone https://github.com/WWKJ-FX/WW-PX4-Autopilot.git

回车执行,等待下载完成

image.png


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

cd WW-PX4-Autopilot

image.png


1.4 切换至物唯1.17.0分支

截止到2026年4月29日,物唯维护的PX4固件的稳定版本是v1.17.0输入以下命令切换分支

git checkout ww-px4-v1.17

因为默认就在这个分支下,所以可能会提示

image.png


1.5 确认分支切换成功

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

git branch

image.png


1.6 执行子模块更新

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

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

git submodule update --init --recursive


1.7 安装cmake工具

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

确认cmake 安装完毕,如下图所示。(可能后装的朋友版本号会更新一点)

image.png


1.8 安装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 ww_wfg100_bootloader


1.12  编译固件

make ww_wfg100_default


1.13  固件生成目录

将PX4源码编译后,会分别生成bootloader文件以及固件文件。其生成目录如下:

其路径为:/PX4-Autopilot/build

image.png

分别进入两个文件夹又能看到有3种格式bootloader和固件,如下图所示:

然后分别烧录bootloader与固件,烧录.elf格式固件,这种格式的固件是包含地址的!

image.png

image.png



1.14  将bootloader和固件合并为一个.hex文件。

由于PX4默认编译出来的固件分别是bootloader  和固件,需要分别烧录2次。

我们可以将两者进行合并,只需烧录一次即可!

具体方法如下:

先安装srecord工具

sudo apt-get install srecord


再回到PX4源码的根目录下

cd ~
cd PX4-Autopilot/


执行以下命令:

srec_cat \
build/wuwei_wfg100_bootloader/wuwei_wfg100_bootloader.bin -Binary -Offset 0x08000000 \
build/wuwei_wfg100_default/wuwei_wfg100_default.bin -Binary -Offset 0x08020000 \
-o build/WFG100_PX4_Firmware_with_bl.hex -Intel


最终生成合并后的固件如下:

image.png































相关文档