PX4飞控之编译环境搭建

本篇文档主要参考PX4官方开发教程https://dev.px4.io/zh/,结合自身实践过程中遇到的问题,介绍linux下PX4飞控编译环境搭建、固件编译、固件上传等。(注:在UBUNTU14.04、UBUNTU16.04、UBUNTU16.04麒麟版下亲测可用)
一、环境搭建及工具链安装
1、权限设置,将当前用户组权限设定为超级权限

sudo usermod -a -G dialout $USER

然后注销后,重新登录
注:有时会遇到该命令不可用的现象,不用担心,无伤大雅,只需在编译时,命令之前sudo即可
2.安装工具链
安装cmake、python、git等必备软件及idk、libopencv等仿真软件

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update
sudo apt-get install cmake
sudo apt-get upgrade
sudo apt-get install python-argparse git-core wget zip python-empy qtcreator cmake build-essential genromfs -y
sudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-8-jdk openjdk-8-jre clang-3.5 lldb-3.5-y

注:(1)由于每一次apt-get install 过程中会安装多个软件或工具,注意安装过程中是否会报错
(2)如果有某个软件install failed,会导致所有软件都无法成功安装,则每次只安装一个软件,例如sudo apt-get install python-argparse
(3)如果依旧安装失败,则采用Linux下软件包安装必备杀器——新立得
(4)附赠新立得安装教程:
①方法1:采用Linux的软件中心搜索synaptic,安装即可(有时候软件中心大姨妈来了,无法安装)
②方法2:终端安装,sudo apt-get install synaptic(推荐该方法,简单粗暴有效)
(5)打开新立得,搜索需要安装的工具,选择合适的版本,即可应用安装。
3.基于NuttX的硬件的端口管理(如pixhawk板)
卸载某个没用的端口管理器,貌似modemmanger并没有安装,管他呢。

sudo apt-get remove modemmanager

4.更新依赖包
执行以下命令更新依赖包:

sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded -y
sudo apt-get update

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

注:如果遇到问题,采用和2中相同的操作。
5.安装GCC
在安装前删除其他版本,保证系统干净

sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi gcc-arm-embedded
sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa

卸载之后安装arm-none-eabi工具链

sudo apt-get install gcc-arm-linux-gnueabihf

注:官方要求版本是4.9或者5.X,因此建议利用新立得安装而不是在终端利用命令安装

二、代码下载
环境搭建好之后,就可以从github上git下px4代码大干一场了,稳住,兄弟!
1.在主目录下创建了一个src的文件夹,并打开该文件夹

mkdir -p ~/src
cd ~/src

注:用windows久了,可以直接去合适的目录下,右键新建一个文件夹,打开这个文件夹,右键选择在终端打开,同样的效果。
(好啰嗦的感觉,捂脸)
2.克隆代码
git clone https://github.com/PX4/Firmware.git
3.选择合适的稳定的远程分支
默认选择的是master分支,为了保证代码的稳定性,建议选择release版或者stable版本
(1)查看当前分支

```
git branch
```
(2)查看所有分支
```
    git branch -a
```
(3)选择stable分支
    git checkout origin/stable

注:如果想选择其他分支,把origin/stable换成其他路径即可
4.子模块更新

cd Firmware
git submodule update --init --recursive

三、代码编译
1.编译(pixhawk板)

make px4fmu-v2_default

注:如果编译过程中出现缺少工具链的error的提示,例如提示缺少gcc-arm,即利用命令安装相应工具sudo apt install gcc-arm-none-eabi或者利用新立得安装缺少的工具。
2.固件上传
连接pixhawk飞控板后,执行命令,飞控板就烧进了固件。

make px4fmu-v2_default upload

注:为了提高编译效率,节省下来时间去打游戏,建议采用jinja进行编译sudo apt-get install python-jinja2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值