马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 TwoOne 于 2018-4-14 16:39 编辑
Pixhawk原生固件在Linux下编译的资料网上很多,官网(http://dev.px4.io/starting-installing-linux.html)也有其具体流程,本文只是针对自己从安装ubuntu14.04.1操作系统到编译成功Pixhawk原声代码写了一个简单的文档,当然由于自己不是特别熟悉Linux环境及其命令,其中不乏一些多余的步骤,也希望大家指正出来,互相学习。
一. 安装vmware和ubuntu14.04.1操作系统 我使用的是Vmware 10,当前还可以使用更高级版本的,看自己需求,http://www.xiazaiba.com/html/24456.html
操作系统ubuntu的话,众网友推荐14版本的,其他版本的可能编译出问题,所以自己直接安装的ubuntu14.04.1,下载地址为http://drivers.mydrivers.com/drivers/484_193760.htm。 当然现在最新的系统是16.04版本了,我有不少项目都是在这个环境下开发的,稳定性也很不错! 官网地址贴上:https://www.ubuntu.com/download 具体利用vmware怎么安装系统,网上一大堆步骤,我可能过几天发一个安装的帖子。安装好之后,界面如下:
恩,最基本的做好了。确保主机可以上网,虚拟机才可以上网。 二. 根据官网搭建基础环境 官网:http://dev.px4.io/starting-installing-linux.html
打开ubuntu系统的调试终端(Ctrl+Alt+T),输入以下命令,逐条输入
- 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
- sudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-7-jdk openjdk-7-jre clang-3.5 lldb-3.5 -y
复制代码安装好上述之后,再安装基于硬件的Nuttx操作系统: - sudo apt-get remove modemmanager
- 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 gcc-arm-none-eabi -y
复制代码
三. 安装gcc 这一步尤为重要,很多编译过不了这一关,当然还是安装官网推荐的版本4.8.4或者4.9.2,本人安装的前者,操作如下: - pushd .
-
- cd ~
- //卸载当前版的gcc-arm-none-eabi
- sudo apt-get remove gcc-arm-none-eabi
- //下载需要的版本
- wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2014-q4-major/+download/gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
- //解压
- tar -jxf gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
- //将解压后的gcc,移动到自己想要的文件夹下
- sudo mv gcc-arm-none-eabi-4_9-2014q4 /opt
- //添加路径
- exportline="export PATH=/opt/gcc-arm-none-eabi-4_9-2014q4/bin:\$PATH"
- //使路径生效
- if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
-
- . ~/.profile
-
- popd
复制代码注意:我使用的ubuntu是64位的,还要增加如下补丁 (32位的跳过),执行如下命令: - sudo apt-get install lsb-core
复制代码最后,检查gcc是否安装成功,命令: 若出现如下界面,代表安装交叉编译环境成功,否则,继续执行如上步骤。
四. 安装cmake 此时可以查看自己目前系统的cmake版本是多少,命令:
当然,我已经安装cmake 3.4.3,所以显示是这样,3版本的都可以,若是其他的版本的,则按照以下步骤安装:
第一种方法(一步步执行):
第二种方法: 官网(https://cmake.org/download/)下载cmake,下图两个选择,自己根据方便选择,如果下载了第一个,则根据第一种方法去做,如果下载了第二个,则如下步骤:
1.解压 - niu88@ubuntu:/opt/tar -zxvf cmake-3.4.3-Linux-x86_64.tar.gz
复制代码2.然后 安装 - niu88@ubuntu:/opt/./bootstrap
- niu88@ubuntu:/opt/make
- niu88@ubuntu:/opt/make install
复制代码3.安装完毕后查看是否安装成功: - niu88@ubuntu:/opt/cmake --version
复制代码cmake version 3.4.3 此时,cmake安装成功。 五. 安装git 可以使用apt-get方式安装,也可以下载源代码安装,我们这里使用apt-git安装。但由于直接使用 sudo apt-get install git 安装的版本较老,或者会出现安装错误,因此我
们使用如下方法: - sudoadd-apt-repository ppa:git-core/ppa
- sudoapt-get update
- sudoapt-get install git
复制代码安装完成后,检查是否安装成功
六. 下载原生固件
关于这个官网已经给的很清楚了,http://dev.px4.io/starting-building.html - git clone https://github.com/PX4/Firmware.git
- cd Firmware
- git submodule update --init --recursive
复制代码七. 编译原生固件 更新完之后,在Firmware文件夹下: 此时还可能会出现如下问题:即could not find genromfs
执行: - sudoapt-get install genromfs
复制代码还有如下问题:
执行: - sudoapt-get install python-empy
复制代码其他问题,暂时没发现,那么最后的编译结果为:
终于看到了曙光,当然,步骤中还有其他没有涉及以及错的问题,以后再和众网友慢慢发现和弥补完善了。
本文转自:https://blog.csdn.net/niu_88/article/details/51752580 |