您的位置:首页 > 其它

PX4最新版ubuntu编译环境搭建

2017-12-04 13:17 387 查看

PX4最新版ubuntu编译环境搭建

本博客的撰写主要也是博主的自己血泪之路,参考了各种博客,然而对于我并没有什么卵用,简直是成功的都一样,不成功的各有各的不同,最后在快要放弃而转去使用别人搭建好的环境时,成功了!!!下面就是自己的流程:

软件:VM12+ubuntu16.04

参考网址:https://dev.px4.io/en/setup/dev_env_linux.html

下面为实现步骤

- VM12安装+破解

- ubuntu16.04下载与安装

- 编译环境搭建

VM12安装+破解

软件下载:百度有提供



破解:百度搜索序列号

例如:5A02H-AU243-TZJ49-GTC7K-3C61N(如不行,再去搜)

ubuntu16.04下载与安装

下载地址:http://www.linuxidc.com/Linux/2017-08/146077.htm | http://cn.ubuntu.com/download/

(也可以去官网下载其他版本)

安装与实现文件共享:http://www.jb51.net/article/97387.htm安装的时候选择中文;当然这里可能会遇到安装成功后,打开老是出现安装时的界面,这个时候把打开电源时进入固件的设置回复默认就好了,如果没有就继续下一步)。文件共享实际上就是可以实现两个系统下文件可以互相拖,流程按照操作就好了。

下面就是非常重要的内容了,不过流程非常简单

编译环境搭建(我是在root下安装的)

注:
~$: sudo su -
切换到root

把用户添加到用户组 “dialout”(如果这步没做,会导致很多用户权限问题):

sudo usermod -a -G dialout $USER


然后点击电源键(右上角)注销后登陆,设置成功

下载官网脚本进行安装

打开最上面的参考链接,点击对应的脚本(提供的有多个,我下载的是ubuntu_sim_nuttx.sh )复制上方的链接,使用wget +链接 进行下载,当然可通过新建某个文件夹,然后在当前目录下进行下载:

mkdir ~/jiaoben
cd ~/jiaoben
:~/jiaoben# wget 链接


下载完成之后进行安装:

:~/jiaoben# source ubuntu_sim_nuttx.sh


这个时候保证网速良好,实在不行就可以开热点(说起来都是泪啊)

环境是否搭好了可以检验交叉编译工具是否安装成功

:~# arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


这样就表示成功了,但是安装完脚本之后会提示没有安装 arm-none-eabi-gcc,会提示使用apt-get insatll 进行安装,这个时候还是自己手动安装吧,因为按照提示安装的后面会出现 内存溢出的问题,至于为什么可以等成功之后再去研究,先把环境装好再说。

gcc下载与环境变量设置

gcc网址:https://launchpad.net/gcc-arm-embedded/+download(常用的)

linux版本的gcc下载:https://launchpad.net/gcc-arm-embedded/+download

安装路径:/usr/bin

下载与解压

:~# wget https://launchpad.net/gcc-arm-embedded/+download :~# tar jxvf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 -C /usr/bin
##寻找路径
:~# cd /usr/bin/gcc-arm-none-eabi-5_4-2016q3/bin
:~/usr/bin/gcc-arm-none-eabi-5_4-2016q3/bin# pwd ##获取路径
/root/usr/bin/gcc-arm-none-eabi-5_4-2016q3/bin


设置环境变量

(大家应该也搜到了设置环境变量不同教程在不同的文件下设置了吧,设置说明也可参照这个链接:http://www.linuxidc.com/Linux/2016-12/138771.htm)我是在 /etc/profile下设置的

~#:gedit /etc/profile


在最后一行 添加 export PATH=/root/usr/bin/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH

点击保存就好。

使环境变量设置生效

然后重启

~#:source /etc/profile
~#:reboot


当然其他操作,如切换其他版本gcc,推荐博客:http://blog.csdn.net/al86866365/article/details/47424727

下载源码

源码下载网站:https://github.com/PX4/Hardware

源码下载链接:https://github.com/PX4/Hardware.git

操作:

下载

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


编译成功:



找到箭头所指的文件,说明编译成功

到这里,环境搭建完毕就可以进行相应的开发了。

常见错误说明

1 /bin/.arm-none-linux-gnueabi-gcc: not found

环境变量都设置好了,但编译就是找不到

解决:ubuntu下所用工具基本默认安装在/usr/bin下,当然gcc安装在其他地方也行,只要环境变量设置好,但是设置好了,不成功就重新设置吧,按照上面gcc的安装方法

2 apt-get install E: 无法定位软件包问题

出现的原因:修改了某些东西,如环境变量或/var/lib/dpkg/info(因为安装的软件信息都会在这个文件夹下进行记录,如果做了修改或删掉了,对不起那就只能重装所有软件或是重新装系统把)根据情况,再改回来;软件源问题推荐博客:http://blog.csdn.net/wuzuodingfeng/article/details/76155829

其他问题自己各种搜就好

3 CMake error at /platforms/nuttx/Nuttx/CmakeLists.txt:100 XXX

Call stack (most recent call first:)XXX…这样的错误

解决:这个问题也困扰了我好久,这个实在ubuntu14.04上出现的错误,然后我换了16.04的版本就没有这样的错误,我也没搞明白,但是这样就解决了。

4.其他问题应该都有解决办法,参考教程不要混乱,指导自己每一步操作要解决什么,否则出错了,找不到错误的时候,就按原始的方法来吧:重装

5. 不要忽略网速

有些错误问题,其实可以归结到网速

有什么问题可以按照上一篇博客的联系方式进行沟通。

当然还有其他的编译环境搭建方式:

参考博客:

http://blog.csdn.net/Jackey_ONLYFORYOU/article/details/53698650
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息