基于ubuntu16.04 塔建PX4编译环境

基于ubuntu16.04 塔建PX4编译环境

Ubuntu Linux LTS 16.04是标准/首选的Linux开发操作系统。它使您能够针对大多数PX4目标(基于NutX的硬件,高通Snapdragon Flight硬件,基于Linux的硬件,仿真)进行构建。本文章根据px4官网教程结合编译过程出现的一些问题以及解决办法做一个记录。

环境塔建

官网网址:

https://dev.px4.io

进入网址后出现如下界面,当前分支处于主分支,然后选择坐上角的黑色三角形,选到 1.8.2版本
在这里插入图片描述
切换到1.8.2版本之后再找到工具链安装 Linux环境Ubuntu系统选项
在这里插入图片描述
根据网页教程开始安装依赖工具
在这里插入图片描述

权限设定

在Ubuntu中打开输入下面的指令给用户获取权限,之后reboot 重启

sudo usermod -a -G dialout $USER
reboot

在这里插入图片描述

删除modemmanager

Ubuntu附带了一个串行调制解调器管理器,该管理器会严重干扰与机器人相关的串行端口(或USB串行)使用。可以删除/卸载而没有副作用:

sudo apt-get remove modemmanager

在这里插入图片描述

更新软件包列表,并为所有PX4构建目标安装以下依赖项。

sudo apt-get update -y
sudo apt-get install git zip qtcreator cmake \
    build-essential genromfs ninja-build exiftool -y
# Required python packages
sudo apt-get install python-argparse \
    python-empy python-toml python-numpy python-yaml \
    python-dev python-pip -y
sudo -H pip install --upgrade pip 
sudo -H pip install pandas jinja2 pyserial cerberus

带 \ 的是换行符 与下方是同一条指令,不要分开

安装pyulog。

这是一个有用的python软件包,其中包含用于解析ULog文件并显示它们的脚本,后期查看飞行日志需要用到。

# optional python tools
sudo -H pip install pyulog

Ninja构建

Ninja是一个比Make更快的构建系统,PX4 CMake生成器支持它。在Ubuntu Linux上,可以从常规存储库自动安装它。编译PX4需要依赖它。

sudo apt-get install ninja-build -y

jMAVSim、gazabo等仿真工具暂时不安装,后期需要再安装也可以。

基于NuttX的硬件

安装以下依存关系以为基于NuttX的硬件构建

sudo apt-get install python-serial openocd \
    flex bison libncurses5-dev autoconf texinfo \
    libftdi-dev libtool zlib1g-dev -y

查看arm-none-eabi工具链版本。

arm-none-eabi-gcc --version

在这里插入图片描述
还未安装,1.8版本往后依赖GCC 7-2017-q4版本
可先安装默认版本再修改环境 使用GCC 7-2017-q4版本

sudo apt install gcc-arm-none-eabi

在这里插入图片描述
安装好了之后再次查看版本已经是4.9.3了。

arm-none-eabi安装

在home目录下新建一个tool文件夹,然后下载arm-none-eab,解压

mkdir tools
cd tools
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2

配置链接环境:

gedit .profile
#在最下方加入
export PATH="/home/xx/tools/gcc-arm-none-eabi-7-2017-q4-major/bin:$PATH"

上面的 xx 表示你的Ubuntu用户名
保存文件关掉,然后reboot重启
重启完成继续使用arm-none-eabi-gcc --version查看版本,如下图就已经配置完成到7.2.1了
在这里插入图片描述

源码编译

获取源码

先在home目录下新建一个wort_src文件夹,然后到文件夹中去 克隆源码
如果还没有安装git 则先安装

sudo apt install git

然后再克隆源码

mkdir wort_src
cd wort_src
git clone https://github.com/PX4/Firmware.git

加载子模块

目前PX4已经出v1.10.2稳定版本了,如想用其他版本也可自行切换,克隆下来的源码默认是主分支,切换到v1.10.2上再加载子模块。

cd Firmware/
#切换分支
git checkout -b v1.10.2
#加载子模块
git submodule update --init --recursive

加载过程中可能会出现网速过慢导致失败等问题,只需继续执行加载子模块指令即可。

编译

直接测试编译V5版本的固件,测试成功,其他版本可自行测试。

make px4_fmu-v5

在这里插入图片描述
查看build文件夹,已生成可执行文件
在这里插入图片描述
若编译过程报语法错误或者是找不到文件,都是子模块未加载完全
保存一下包没有就是没有安装好依赖,报错少什么就对应的安装什么。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值