有用的废话

经历了许久的磨难,我终于搭建成功PX4开发环境,入了太多的坑,这里我一一介绍一番。今天笔者就来总结一下ubuntu系统下搭建PX4开发环境的过程。亲测 、真实有效!!!!有效!!!!Let’s go.

添加用户到dialout工作组

别问为什么,装就对了。
你非要问的话,就是创建独立用户的目的是这样可以让开发环境分离开来,避免出现不同用户间的版本冲突等情况。将用户加入dialout用户组的目的是dialout拥有对串口tty的操作权限

sudo usermod -a -G dialout $USER

注意:注销后重新登录!!!

安装软件包

#更新软件源列表:

  1. sudo apt-get update -y

#安装git、zip、cmake、qt、ninja等必用软件包:

  1. sudo apt-get install git zip qtcreator cmake build-essential genromfs ninja-build exiftool -y

注:添加源操作一般成功后会跳出一个“OK”,update成功后会有个“done”。

安装常用python依赖包及管理工具:

  1. sudo apt-get install python-argparse python-empy python-toml python-numpy python-yaml \
    python-dev python-pip -y
  1. sudo -H pip install --upgrade pip
    sudo -H pip install pandas jinja2 pyserial cerberus

安装正确版本的gcc-arm-none-eabi!!!

用户在ubuntu系统下编译的固件要在arm系统中运行,所以一定会用到交叉编译器,先到下面这个网站下一个比较高版本的安装文件:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

亲测有效,强烈建议2017-q4版本!!!

解压缩:

  1. tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2

配置编译环境,将编译器的路径放到.bashrc或者.profile文件中:

  1. gedit .bashrc
    #在最后一行加入下列代码。注意:gcc-arm-none-eabi-7-2017-q4-major替换成你的
  2. export PATH=$HOME/gcc-arm-none-eabi-7-2017-q4-major/bin:$PATH

查看编译器版本确认是否配置成功:

  1. echo $PATH
    arm-none-eabi-gcc --version

运行指令且结果如下:

环境配置检测

编译源码

  1. #克隆源码
    git clone https://github.com/PX4/Firmware.git
  2. #更新子模块:
    git submodule update --init --recursive
  3. #编译:
    make px4_fmu-v3_default

下面的列表显示了通用板的构建命令:

Pixhawk 4: make px4_fmu-v5_default
Pixracer: make px4_fmu-v4_default
Pixhawk 3 Pro: make px4_fmu-v4pro_default
Pixhawk Mini: make px4_fmu-v3_default
Pixhawk 2: make px4_fmu-v3_default
mRo Pixhawk: make px4_fmu-v3_default (supports 2MB Flash)
HKPilot32: make px4_fmu-v2_default
Pixfalcon: make px4_fmu-v2_default
Dropix: make px4_fmu-v2_default
MindPX/MindRacer: make airmind_mindpx-v2_default
mRo X-2.1: make auav_x21_default
Crazyflie 2.0: make bitcraze_crazyflie_default
Intel® Aero Ready to Fly Drone: make intel_aerofc-v1_default
Pixhawk 1: make px4_fmu-v2_default

固件编译:

在这里插入图片描述

成功

在这里插入图片描述

坑!!!!!!!!!!!

1.无法make,或者如下图:
在这里插入图片描述
方案:

#make是操作字符 px4fmu是固件名称 -v2是版本号 _default是默认配置
#实际make之后是一个文件名称,需要编译的模块都在其中
#可以输入make p 然后按Tab键,会跳出一连串p开头的文件

在这里插入图片描述
2.缺少模板
在这里插入图片描述
方案:
缺什么补什么,根据提示补模板。中途会出现如下问题:
在这里插入图片描述
方案:终端输入如下:

python2 --version #查看python2安装版本
python3 --version #查看python3安装版本
python --version#查看系统正在使用的版本

现在改为python3

终端输入:

echo alias python=python3 >> ~/.bashrc

source一下:

source ~/.bashrc

版本查看:

python --version

如下图:
在这里插入图片描述
紧接着升级pip,

python -m pip install --upgrade pip

在这里插入图片描述
3.交叉环境出错

重装交叉环境,切记强烈建议2017-q4版本!!!
在这里插入图片描述

总结

第一次发博客,尽量让入pix坑的小伙伴少走弯路吧,我是C先森。。。

Logo

更多推荐