PIX学习路径-4-使用Ubuntu 16.04 LTS搭建PIXHAWK二次开发环境

首先说明参考地址:
http://blog.csdn.net/oqqenvy12/article/details/52035127 ——Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法。
其实这篇最终参考来源还是英文原版本的PX4 Devguide
不过幸运的是现在有人将其翻译为中文了,版本虽然与最新英文版有些差别但是能够参考着看:

http://dev.px4.io/ ——PX4 Devguide原版
https://fantasyjxf.gitbooks.io/px4-wiki/content/index.html ——PIX Dev中文版本

现在说一下我的安装过程:
1. 把用户添加到用户组 “dialout”(如果这步没做,会导致很多用户权限问题):

sudo usermod -a -G dialout $USER

然后注销后,重新登录,因为重新登录后所做的改变才会有效

2.安装CMake

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

3.卸载模式管理器
Ubuntu配备了一系列代理管理,这会严重干扰任何机器人相关的串口(或usb串口),卸载掉它也不会有什么影响。

sudo apt-get remove modemmanager

更新包列表和安装下面的依赖包

sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
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 gcc-arm-embedded -y

/×××××××××××××××如果没出错请跳过×××××××××××××××××××××××××××××/
//注意:如果安装过程中间出现如下出错
Linux dpkg: 处理软件包 runit (–configure)时出错——解决办法
来源:http://www.w2bc.com/article/180200
1.备份目录
mv /var/lib/dpkg/info /var/lib/dpkg/infobak
2.创建新目录
mkdir /var/lib/dpkg/info
3.执行 apt-get install update
我在执行这个步骤的时候,出错了.
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
E: 无法定位软件包 update
我干脆直接跳过这步
4.执行apt-get -f install
这时出现了日志
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 294 个软件包未被升级。
有 2 个软件包没有被完全安装或卸载。
解压缩后会消耗 0 B 的额外空间。
正在设置 runit (2.1.2-3ubuntu1) …
正在设置 git-daemon-run (1:2.7.4-0ubuntu1) …

表示问题已经修复.
再安装其他软件就没问题了.
/×××××××××××××××××××××××××××××××××××××××××××××××××/

4.安装git

sudo apt-get install git-all

5.下载代码
下载代码前需要创建文件夹

mkdir -p ~/src
cd ~/src
git clone https://github.com/PX4/Firmware.git
cd Firmware
git submodule update --init --recursive
cd ..

接下来就可以进行编译了。

cd Firmware
make px4fmu-v2_default

注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。

成功编译的最后输出是这样的:

[100%] Linking CXX executable firmware_nuttx
[100%] Built target firmware_nuttx
Scanning dependencies of target build_firmware_px4fmu-v2
[100%] Generating nuttx-px4fmu-v2-default.px4
[100%] Built target build_firmware_px4fmu-v2

通过在命令后面添加‘upload’,编译的二进制程序就会通过USB上传到飞控硬件:

make px4fmu-v2_default upload

上传成功时输出情况如下:

Erase  : [====================] 100.0%
Program: [====================] 100.0%
Verify : [====================] 100.0%
Rebooting.

[100%] Built target upload

至此编译环境已经搭建完成。

当然在图形界面下推荐使用QtCreator进行查看文档并进行编译和Upload,都可以进行,具体操作这里就不赘述了,大家完全可以参考
http://dev.px4.io/ ——PX4 Devguide原版
https://fantasyjxf.gitbooks.io/px4-wiki/content/index.html ——PIX Dev中文版本
这两个指导书搭建环境中有提及如何使用QtCreator

这是新版本的界面

PIX学习路径-4-使用Ubuntu 16.04 LTS搭建PIXHAWK二次开发环境_第1张图片

——JackeyLiu 2016/12/16

你可能感兴趣的:(PIXHAWK学习路径)