PX4源码分析1_PX4源码的下载和编译

2023-05-16

一.基本信息:

1.软件系统:

Ubuntu 14.04 64bit

2.源码位置:

https://github.com/PX4/Firmware

3.参考博客:

(1)libing403的博客

(2)yangcs2009的博客

二.编译过程:

1.权限设置:

// 把用户添加到用户组“dialout”:
sudo usermod -a -G dialout $USER

2.安装依赖包:

(1)安装相应依赖:

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

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

sudo apt-get remove modemmanager

(3)继续安装相关依赖包:

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

3.安装编译工具cmake:

(1)下载cmake:

cmake下载地址

(2)安装cmake:

cd /usr/local

tar -zxv -f cmake-3.2.2.tar.gz

cd cmake-3.2.2

./configure

make

make install

mv cmake-3.2.2 cmake

(3)添加环境变量:

// 打开profile文件:
vi /etc/profile
// 在文件末尾追加以下两行代码:
PATH=/usr/local/cmake/bin:$PATH  

export PATH 
// 使修改生效并添加环境变量:
source /etc/profile

echo $PATH

(4)检验是否安装成功:

cmake --version

注意:cmake出现问题,如:

CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.

这种情况请make clean或者重新安装cmake,重新安装方法如下:

wget https://cmake.org/files/v3.4/cmake-3.4.3-Linux-x86_64.sh

chmod +x cmake-3.4.3-Linux-x86_64.sh

sudo mkdir /opt/cmake-3.4.3

sudo ./cmake-3.4.3-Linux-x86_64.sh --prefix=/opt/cmake-3.4.3 --exclude-subdir

export PATH=/opt/cmake-3.4.3/bin:$PATH

4.安装genromfs:

sudo apt-get instrall genromfs

5.编译代码:

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

6.上传程序:

make px4fmu-v2_default upload

注意:如果编译或者upload显示未安装cmake或者cmake需要更新,说明cmake的全局路径没有配置,需要执行如下命令:

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

PX4源码分析1_PX4源码的下载和编译 的相关文章

  • PX4进入系统控制台以及运行程序

    这里提供进入控制台两种办法 1 运行 Tools mavlink shell py dev ttyACM0 是我进入Px4系统控制台的命令 xff0c 进入之后应该是这样 Pixhawk src Firmware Tools mavlink
  • 【ROS】源码分析-消息订阅与发布

    说明 本文通过NodeHandle subscribe和Publication publish 源码作为入口 xff0c 来分析PubNode SubNode之间是网络连接是如何建立的 xff0c 消息是如何发布的 xff0c topic队
  • PX4 ---- Indoor Flight

    文章目录 室内飞行ROS amp PX4Pose Data 飞机配置MAVROS 基于工训赛 VIO 飞行总结 室内飞行 ROS amp PX4 Pose Data 飞机配置 VIO 参考此处 xff0c 采用 T265 配置 相机与飞控机
  • PX4模块设计之三:自定义uORB消息

    PX4模块设计之三 xff1a 自定义uORB消息 1 新增自定义uORB消息步骤2 应用ext hello world消息示例3 编译执行结果4 参考资料 基于PX4开源软件框架简明简介和PX4模块设计之二 xff1a uORB消息代理
  • PX4模块设计之四:MAVLink简介

    PX4模块设计之四 xff1a MAVLink简介 1 MAVLink PX4 应用简介2 MAVLink v2 0新特性3 MAVLink协议版本4 MAVLink通信协议帧4 1 MAVLink v1 0 帧格式4 2 MAVLink
  • PX4模块设计之九:PX4飞行模式简介

    PX4模块设计之九 xff1a PX4飞行模式简介 关于模式的探讨1 需求角度1 1 多旋翼 MC multi copter 1 1 1 RC控制模式1 1 1 1 Position Mode1 1 1 2 Altitude Mode1 1
  • PX4模块设计之三十:Hysteresis类

    PX4模块设计之三十 xff1a Hysteresis类 1 Hysteresis类简介2 Hysteresis类成员变量介绍3 Hysteresis类迟滞逻辑4 Hysteresis类重要方法4 1 Hysteresis bool ini
  • PX4模块设计之三十三:Sensors模块

    PX4模块设计之三十三 xff1a Sensors模块 1 Sensors模块简介2 模块入口函数2 1 主入口sensors main2 2 自定义子命令custom command2 3 模块状态print status 重载 3 Se
  • PX4模块设计之四十三:icm20689模块

    PX4模块设计之四十三 xff1a icm20689模块 1 icm20689模块简介2 模块入口函数2 1 主入口icm20689 main2 2 自定义子命令custom command2 3 模块状态print status 重载 3
  • mavros连接px4失败的usb-ttl原因

    问题描述 xff1a 最近在搞mavros xff0c 以方便协处理器和pixhawk通讯 xff0c 在按照官网教程安装mavros xff0c 设置px4 xff0c 连接硬件之后发现mavros卡在中间下不去 xff1a MAVROS
  • PX4-4-任务调度

    PX4所有的功能都封装在独立的模块中 xff0c uORB是任务间数据交互和同步的工具 xff0c 而管理和调度每个任务 xff0c PX4也提供了一套很好的机制 xff0c 这一篇我们分享PX4的任务调度机制 我们以PX4 1 11 3版
  • Px4源码框架结构图

    此篇blog的目的是对px4工程有一个整体认识 xff0c 对各个信号的流向有个了解 xff0c 以及控制算法采用的控制框架 PX4自动驾驶仪软件 可分为三大部分 xff1a 实时操作系统 中间件和飞行控制栈 1 NuttX实时操作系统 提
  • px4下载指定版本的固件、git用法

    https hub fastgit org PX4 PX4 Autopilot git describe tag 查看当前版本号 git tag l 查看所有版本 xff0c 也就是打个tag git checkout v1 9 1 跳转到
  • PX4中自定义MAVLink消息(记录)

    简单记录一下这个过程 一 自定义uORB消息 这一步比较简单 xff0c 首先在msg 中新建ca trajectory msg文件 uint64 timestamp time since system start span class t
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • kaldi中SHELL调用C++程序过程源码分析

    引入 kaldi真正的核心源码 都是C 写成的 这个结论可以从如下两点得以确认 1 在kaldi的源码kaldi src目录下 能看到很多扩展名为 cc的源程序 这是linux下C 源码 2 在源码中 比如kaldi src featbin
  • Faster RCNN 源码解读(1) -- 文件结构分析

    基本介绍 Faster RCNN 在目标检测及其相关领域得到了广泛的运用 其原型RCNN是将CNN引入到目标检测的开山之作 此外基于region proposal是一种十分值得学习的思想 因此将在后续的系列章节中 基于源码 对Faster
  • Mybatis整合Spring源码分析

    一 整合配置 POM
  • Wifi模块—源码分析Wifi热点扫描2(Android P)

    一 前言 这次接着讲Wifi工程流程中的Wifi热点扫描过程部分的获取扫描结果的过程 也是Wifi扫描过程的延续 可以先看前面Wifi扫描的分析过程 Wifi模块 源码分析Wifi热点扫描 Android P 二 图示调用流程 这次的调用流
  • android 休眠唤醒机制分析(一) — wake_lock

    Android的休眠唤醒主要基于wake lock机制 只要系统中存在任一有效的wake lock 系统就不能进入深度休眠 但可以进行设备的浅度休眠操作 wake lock一般在关闭lcd tp但系统仍然需要正常运行的情况下使用 比如听歌

随机推荐

  • linux c++ 服务器端开发面试必看书籍

    摘自别人博客 xff0c 地址 xff1a http blog csdn net qianggezhishen article details 45951095 打算从这开始一本一本开始看 题外话 xff1a 推荐一个 github 上的
  • K8s网络实战分析之service调用

    在上一篇文章K8s网络实战分析之Calico ipip模式中 xff0c 我们通过Pod之间进行ping操作 xff0c 对基于Calico IPIP模式的K8s网络进行了实战学习与分析 单单进行Pod Pod的访问只是K8s的基础功能 x
  • RTK(Real - time kinematic,实时动态)载波相位差分技术

    GPS和RTK区别在于 xff1a 二者bai指代du不同 二者作用不同 二者原理不同 1 二者指代不同 xff1a RTK是载波dao相位差分技术 xff0c 是实时处理两个测量站载波相位观测量的差分方法 xff1b GPS是全球定位系统
  • RTK+GPS提高定位精度原理解析

    RTK 43 GPS提高定位精度原理解析 xff08 一个小白写给另一个小白系列 xff09 GPS定位原理回顾RTK基本概念RTK组成RTK传输差分示意RTK数据链接坐标转换RTK应用后记 我们在上一篇文章导航定位系统的原理解析 xff0
  • GPS、RTK、PPK三种定位技术的原理及应用

    一 GPS技术 1 原理 之前做过集成GPS功能的产品 xff0c 对这种不以定位为主要功能的产品 xff0c 精度是没有要求的 xff0c 例如我只是用它来得到当前社区的位置 xff0c 一般的GPS模块都能满足要求 理论上 xff0c
  • AT命令与ppp协议

    AT 即Attention xff0c AT指令集是从终端设备 Terminal Equipment xff0c TE 或数据终端设备 Data Terminal Equipment xff0c DTE 向终端适配器 Terminal Ad
  • 无人机开发-图传技术

    2016年 xff0c 是中国无人机市场的元年 xff0c 无人机能够一跃进入大众视野 xff0c 并迅速在大众市场火热发展 xff0c 是很多人始料未及的 从刚开始的空中摄录 xff0c 到后来的实时摄录 xff0c 方便的无人机图传功能
  • 无人机飞行原理

    一 无人机的飞行原理 旋翼和轮子一样 xff0c 是一项神奇的发明 四旋翼无人机更是化作了航拍机 xff0c 满足了许多普通人关于天空的想象 旋翼之所以能飞 xff0c 玩过竹蜻蜓的朋友应该都知道 xff1a 当手的搓动给了竹蜻蜓一个旋转的
  • 汽车电子(一)--- 整车CAN网络介绍

    在了解can网络之前 先了解1个问题 什么是智能硬件与ECU 何为智能硬件 就是包含智能控制单元的硬件 比如发动机 发动机上有一块儿专门负责控制发动机进气量 喷油量 排气量的控制单元 这块单元相当于发动机的大脑 他具有信号发送 信号接收 参
  • 三大框架之hibernate入门学习教程增删改查

    好久没更新分享了 xff01 现在发下三大框架的hibernate便于初学者学习 xff01 另外struts2的那些配置文件代码可以找我要 xff0c 里面包括如何自定义拦截器等等 开始hibernate的学习吧 xff01 首先不多说先
  • 程序员工作5年以上,找工作还看学历吗?

    很多程序员都有这样的觉悟 xff1b 找工作学历是敲门砖 xff0c 没有211 985起步的学历 xff0c 想进一家大公司不太可能 举个例子好了 xff1b 如果你是大厂面试官 xff0c 参与面试的有10个刚刚毕业没有工作经验的普通学
  • jquery ajax无刷新请求Struts2验证用户名密码数据库是否存在

    通过ajax请求验证后台数据是否存在 首先导入struts2的核心包 后台Action代码 import com opensymphony xwork2 ActionSupport public class CodeCheckAction
  • 手把手教你们通过jquery ajax调用查询java struts2后端数据+js拼接字符串

    1 首先新建一个web项目 xff0c 创建一个User实体 package com qm entity public class User private String id private String name private Str
  • python检查URL是否能正常访问

    今天 xff0c 项目经理问我一个问题 xff0c 问我这里有2000个URL要检查是否能正常打开 xff0c 其实我是拒绝的 xff0c 我知道因为要写代码了 xff0c 正好学了点python xff0c 一想 xff0c python
  • js自己写脚本自动操作注册插件,基于chrome浏览器

    大家好 xff01 又到了一周的福利时间 xff0c 今天给大家一个福利 xff0c 以后抢票不需要手动刷新页面了 xff0c 直接用你自己写的插件来控制 xff0c 事先声明 xff0c 本人是js菜鸟 xff0c 所以今天带来的例子都是
  • VMware Workstation Proa安装mac镜像

    首先你得有一个VMware 然后下载好mac镜像文件还有for OS X插件补丁 我这里都已经下载好了 xff0c 又需要的可以在评论里留下邮箱地址 xff0c 我分享给你 现在该有的文件都有了 xff0c 那么我们开始 首先VMware镜
  • Spring事务管理的四种方式(以银行转账为例)

    文章转自 https blog csdn net daijin888888 article details 51822257 本文配套示例代码下载地址 xff08 完整可运行 xff0c 含sql文件 xff0c 下载后请修改数据库配置 x
  • redis秒杀系统数据同步(保证不多卖)

    原文链接 http www cnblogs com shihaiming p 6062663 html 东西不多卖 秒杀系统需要保证东西不多卖 xff0c 关键是在多个客户端对库存进行减操作时 xff0c 必须加锁 Redis中的Watch
  • csdn过滤广告谷歌浏览器插件

    首先要知道浏览器插件的原理 通过访问网站 xff0c 加载我们写的js脚本 这样我们就可以对你所要操作的网站进行操作啦 xff01 首先看看谷歌的广告的代码块 如果换成你在开发这个网站 xff0c 肯定直接隐藏这个class 为 csdn
  • PX4源码分析1_PX4源码的下载和编译

    一 基本信息 xff1a 1 软件系统 xff1a Ubuntu 14 04 64bit 2 源码位置 xff1a https github com PX4 Firmware 3 参考博客 xff1a xff08 1 xff09 libin