Pixhawk原生固件Linux环境下编译

2023-05-16

       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。

          具体利用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是否安装成功,命令:

arm-none-eabi-g++ -v

若出现如下界面,代表安装交叉编译环境成功,否则,继续执行如上步骤。

 

四.    安装cmake

此时可以查看自己目前系统的cmake版本是多少,命令:

cmake --version

当然,我已经安装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

安装完成后,检查是否安装成功

git--version

 

六.    下载原生固件

关于这个官网已经给的很清楚了,http://dev.px4.io/starting-building.html

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

七.    编译原生固件

更新完之后,在Firmware文件夹下:

make px4fmu-v2_default

       此时还可能会出现如下问题:即could not find genromfs


       执行:

sudoapt-get install genromfs

       还有如下问题:


       执行:

sudoapt-get install python-empy

其他问题,暂时没发现,那么最后的编译结果为:


    终于看到了曙光,当然,步骤中还有其他没有涉及以及错的问题,以后再和众网友慢慢发现和弥补完善了。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pixhawk原生固件Linux环境下编译 的相关文章

随机推荐

  • 二维数组的输入、输出、转置

    这里我将在二维数组中的一些基本操作进行一次整理 xff1a 编码思路 xff1a 1 inputTwoArry 输入函数 用于二维数组的初始化 xff08 也就是赋值 xff09 实现 xff1a 给函数中传入要初始化数组的地址 xff0c
  • 输入一句话,找出其中最长的单词,并输出

    理解题意 xff1a 1 先输入一句话 2 在这句话中找到最长的那个单词并输出显示 这个题是我们老师上课的时候给我们留的作业 因为刚好学过了二维数组所以果断采用二维数组来解题 个人觉得 xff0c 这个逻辑思路其实相较一维数组来解会更简单一
  • C语言:将学生信息存储到文件中

    描述 xff1a 从键盘输入两个学生的有关数据 xff0c 然后把它们转存到磁盘文件上去 基础知识点 xff1a 1 定义结构体变量 xff0c 存储复杂一点的变量 xff08 对象 xff09 2 用到了C语言中对文件的处理 3 排序 文
  • Maven的安装、配置以及在Eclipse中安装maven插件

    一 需要准备的东西 xff08 原文链接 xff09 1 首先确保安装了JDK xff0c 并且成功配置了JDK的环境变量 2 已安装Eclipse 3 Maven程序包 二 maven下载与安装 1 前往https maven apach
  • ros多机通信配置

    ros多机通信配置 xff0c 以两台计算机为例 xff0c 主机hostname为master从机hostname为slaver 1 在主机和从机 etc hosts内添加ip和hostname 例如两台计算机ip和hostname分别为
  • RS422接线方法

  • ORB-SLAM2的编译运行以及TUM数据集测试

    近段时间一直在学习高翔博士的 视觉SLAM十四讲 xff0c 学了以后发现自己欠缺的东西实在太多 xff0c 好多都需要深入系统的学习 ORB SLAM2是一套完整的SLAM方案 xff0c 提供了单目 xff0c 双目和RGB D三种接口
  • 【VINS论文翻译】VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator

    回到目录 写在前面 港科大的VINS Mono作为目前state of the art的开源VIO项目 xff0c 是研究视觉与IMU紧耦合的必读算法 xff0c 网上的论文解读与代码实现也非常丰富 xff08 感谢 xff01 xff09
  • 视觉SLAM十四讲(第二版)章节总结+课后习题分析

    感谢博主nullwh 的分享 xff0c 原文链接 视觉SLAM十四讲 视觉SLAM十四讲 第二版 笔记及课后习题 xff08 第一讲 xff09 视觉SLAM十四讲 第二版 笔记及课后习题 xff08 第二讲 xff09 视觉SLAM十四
  • FFMPEG 编解码失败 non-existing PPS 0 referenced

    最近在尝试用ffmpeg进行编解码 大部分的rtsp拉流正常 编解码正常 但是有的rtsp不能解码 提示如下 xff1a 后来把把packet数据打印出来发现是没有sps pps信息 导致 ffmpeg不能正常解码 程序里面 经过测试 把
  • ROS主从机配置

    目标 xff1a 小车上运行SLAM算法 xff0c 在PC上使用rviz可视化观察 第一步 xff1a 分别在两台机器上使用 hostname 指令查看用户名 ifconfig 指令查看ip地址 wlp3s0是我的pc的无线网卡 xff0
  • Docker入门指南

    https yeasy gitbook io docker practice
  • STL迭代器模版详解

    1 STL iterator迭代器 STL xff08 Standard Template Library xff0c 标准模板库 是惠普实验室开发的一系列软件的统称 它是由Alexander Stepanov Meng Lee和David
  • 4种YOLO目标检测的C++和Python两种版本实现

    本文原创首发于极市平台公众号 xff0c 如需转载请私信作者 2020年 xff0c 新出了几个新版本的YOLO目标检测 xff0c 在微信朋友圈里转发的最多的有YOLOv4 xff0c Yolo Fastest xff0c YOLObil
  • Activity的任务栈Task以及启动模式与Intent的Flag详解

    什么是任务栈 Task 官方文档是这么解释的 任务是指在执行特定作业时与用户交互的一系列 Activity 这些 Activity 按照各自的打开顺序排列在堆栈 xff08 即 返回栈 xff09 中 其实就是以栈的结构 先进后出 将依次打
  • 什么是标记化?令牌?

    什么是标记化 xff1f 标记化就是 xff1a 将敏感数据元素 xff08 例如银行帐号 xff09 替换为非敏感替代项 xff08 称为令牌 xff09 令牌是一个随机数据字符串 xff0c 没有基本或可利用的值或含义 它是一个唯一的标
  • 如何使用c语言解析httppost请求

    头文件 ifndef UPLOAD define UPLOAD include 34 fastcgi fcgiapp h 34 include 34 sysinc h 34 ifdef WIN32 def GRCALL the callin
  • STM32F103ZET6单片机双串口互发程序设计与实现

    STM32库函数开发系列文章目录 第一篇 xff1a STM32F103ZET6单片机双串口互发程序设计与实现 文章目录 STM32库函数开发系列文章目录前言一 STM32F103ZET6单片机双串口互发程序设计与实现是什么 xff1f 二
  • STL的一些常见应用场景

    set 集合 去除重复元素并从小到大排序 平衡二叉树 xff08 红黑树 xff09 维护 span class token comment 华为机试 gt HJ3 span span class token macro property
  • Pixhawk原生固件Linux环境下编译

    Pixhawk原生固件在Linux下编译的资料网上很多 xff0c 官网 http dev px4 io starting installing linux html 也有其具体流程 xff0c 本文只是针对自己从安装ubuntu14 04