永发信息网

ubuntu 环境下怎样编译pixhawk px4源码

答案:1  悬赏:10  手机版
解决时间 2021-01-03 06:57
ubuntu 环境下怎样编译pixhawk px4源码
最佳答案



Ubuntu环境下Pixhawk原生固件PX4的编译
分类:无人机ubuntu代码编译Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的编译这个问题困扰了两天时间,可能是博主脑力不够,主要是环境搭建不起来,主要原因应该是路径的原因,最后在大师傅的帮助下还好成功将路径搭建好,成功编译。

下面就跟大家分享一下环境搭建的过程。

1.操作环境

每次写文章,环境一定要介绍的,不同的环境总会出现不同的问题

我的环境是Windows下面安装虚拟机,虚拟机跑Ubuntu

Windows:win10 64位

虚拟机:VMware Workstation 12 Pro 12.1.0 build-3272444

Ubuntu:Ubuntu15.10

2.编译环境搭建

(1)权限设置

官方提示:

Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你会遇到权限问题,不要用sudo解决,那样会带来更多问题,但是我没听他的,我没用,最后也是实现了

官方提供指令

[plain] view plain copy

然后注销,重新登录生效

(2)安装

更新包列表,安装下面编译PX4的依赖包。PX4主要支持的系列:

NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL

注意:安装Ninja Build System可以比make更快进行编译。如果安装了它就会自动选择使用它进行编译。

[plain] view plain copy
卸载模式管理器

[plain] view plain copy

更新包列表和安装下面的依赖包。务必安装指定的版本的包

[plain] view plain copy

上面代码中红色部分大家需要一高警惕,gcc-arm-none-eabi版本导致PX4/Firmware编译错误,现在apt-get安装的gcc-arm-none-eabi基本上是4.9的版本,但是这个固件需要gcc-arm-none-eabi 4.8de 版本,所以最后安装好以后,查看你的gcc-arm-none-eabi版本,如果是4.9需要手动安装4.8的版本,安装gcc-arm-none-eabi 4.8的版本的方法如下:

[plain] view plain copy

【Warning】上面红色的路径一定要添加正确,不然问题很多,我第一次就输入错误,结果结果开不了机了,反复输入密码。博主装的是Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西
[plain] view plain copy
可以检查arm-none-eabi 4.8.4是否安装成功,输入以下指令:

[plain] view plain copy
如果出现如上信息,交叉编译环境搭建就搭建成功了
(3)代码编译
根据PX4中文维基官网教程。
安装Git

[plain] view plain copy
下载代码

[plain] view plain copy
初始化
先进入Firmware文件夹,进而进行初始化、更新子模块操作,耐心的等待……

[plain] view plain copy
权限
编译时会遇到权限问题,执行指令

[plain] view plain copy
-R 是对文件下面包含的子文件权限问题,* 是对所有文件的权限问题
编译

[plain] view plain copy
注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。
最后附一张编译成功的代码,如果这样你还有问题,请给我留言。

[plain] view plain copy
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submodules.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_modules_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙门县不动产登记局位置在什么地方啊,我要过
支付宝的CF游戏充值里面(优惠价)是什么意思
e31230v3的自带风扇如何
15000存款定期一年利息多少
买的东西显示已发货,但是没有物流信息,也没
酒店厨房热怎么办
为确保信息安全,信息需要加密传输,发送方由
单选题罗马法提倡“法律面前人人平等”, 对
2016内蒙古考研数学都考什么啊求解答
圆柱的底面半径3厘米,高8厘米,求表面积?
中国移动怎样用短信开通短号集群网(短号)
欧也妮?葛朗台阅读答案
上海英语口语培训哪里好?
广州市荔湾区不动产登记中心在什么地方啊,我
将抛物线y=-2x2+1向右平移3个单位,再向下平
推荐资讯
单选题小亮初次使用录音机录制了自己的歌声,
—I’m going to take my driving test tomor
下列关于动物细胞培养的叙述,说法正确的选项
美人鱼 这个电影讲述的是什么故事?
单选题罗斯福新政为增强美国在世界市场上的竞
陕州区烟草专卖局办公地址在什么地方?我要处
请问,请问关于装家电脑的事,我刚买了一台家用
下列划线字的注音全都正确的一项是(3分)A.
后街男孩bay bay bay歌词翻译
下列数据,最接近实际的是A.一个初中生的质量
周易起名打分网
如何查询微信红包记录
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?