PX4源码分析12:怎样得到某个版本的PX4源码?(本文以v1.10.0为例)

2023-05-16

Get a Specific Release
To get the source code for a specific older release:
参考链接:https://blog.csdn.net/weixin_41869763/article/details/105238014

第一种方法

下载了PX4最新版固件之后,可以选择指定的版本编译。
使用以下命令:

git tag						# 查看可以选择的版本
git checkout v1.10.0    	# 比如此处选择 v1.10.0 版本
make list_config_targets 	# 查看可以选择的固件
make px4_fmu-v3_default 	# 此处选择编译 px4_fmu-v3_default, Pixhawk2 使用

如果之后想要更换成其他版本怎么办呢?比如现在我想使用 v1.10.1 版本,指令如下:

git checkout v1.10.1
git submodule sync --recursive
git submodule update --init --recursive
make px4_fmu-v3_default 

第二种方法(极力推荐):

我下载的是V1.10.0版本的,终端执行命令:.

mkdir -p ~/src
cd ~/src
git clone -b v1.10.0 https://github.com/PX4/Firmware.git 
cd Firmware
git submodule update --init --recursive

这里的mkdir -p是创建目录-p参数是为了当所创建目录存在时,不会报错.之后已经配置过的环境不用重新配置,直接编译:
make px4fmu-v3_default
验证一下下载的版本是否对应:

输入:git describe --always --tags
输出:v1.10.0	

第三种方法:

第1步:Clone the Firmware repo and navigate into Firmware directory:

输入下面这两个命令,下载最新的源码,并进入到Firmware文件夹

git clone https://github.com/PX4/Firmware.git
cd Firmware

第2步:List all releases (tags)

输入下面这个命令可以查看列表里有哪些版本,找到自己想要的版本,记住版本号,输入"Q"关闭

git tag -l

在这里插入图片描述

第3步:Checkout code for particular tag

切换tag,也就是下载自己想要的代码版本。
输入下面这个命令,通过创建分支,并保留在此状态下所做的提交,因此中间要添加-b参数来实现

git checkout -b v1.10.0

在这里插入图片描述
此刻,版本标签切换完成。

第4步:下载子模块

Many build problems are caused by either mismatching submodules or an incompletely cleaned-up build environment. Updating the submodules and doing a distclean can fix these kinds of errors:

git submodule update --recursive
make distclean

当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:
git submodule update --init --recursive
即可将子模块内容下载下来后工程才不会缺少相应的文件。
更新好了之后,你就可以对此版本进行为所欲为了!!!

第5步:验证一下版本是否切换成功:

输入:git describe --always --tags
输出:v1.10.0							

在这里插入图片描述
说明版本切换成功!!!
下面我们就开始为所欲为吧!!!哈哈哈!!!

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

PX4源码分析12:怎样得到某个版本的PX4源码?(本文以v1.10.0为例) 的相关文章

  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    无人机仿真 PX4编译 xff0c gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中 xff0c 已经对整体的PX4仿真环境有了一定的了解 xff0c 现如今就要开始对无人机进行起飞等仿真环境工作 xff0c
  • 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模块设计之十八:Logger模块

    PX4模块设计之十八 xff1a Logger模块 1 Logger模块简介2 模块入口函数2 1 主入口logger main2 2 自定义子命令Logger custom command2 3 日志主题uORB注册 3 重要实现函数3
  • 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
  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma
  • 关于github px4 gps 驱动的开发的总结

    源码编译上边已经写过文章了 遇到的几个问题 1 解决虚拟机不能共享文件夹的问题 一开始虚拟机的更新 vmware tools 是灰色的 xff0c 不能点 xff0c 然后通过关掉虚拟机 xff0c 然后再开启的时候 xff0c 在没有启动
  • [JavaSE 源码分析] 关于HashMap的个人理解

    目录 HashMap是什么 HashMap的底层数据结构是什么 table容量为什么必须是二的倍数 table容量怎么做到二的倍数 Entry是怎样的结构 Node Entry在HashMap中的具体实现处理hash冲突的方法HashMap
  • PX4-4-任务调度

    PX4所有的功能都封装在独立的模块中 xff0c uORB是任务间数据交互和同步的工具 xff0c 而管理和调度每个任务 xff0c PX4也提供了一套很好的机制 xff0c 这一篇我们分享PX4的任务调度机制 我们以PX4 1 11 3版
  • px4仿真无法起飞问题(Failsafe enabled: no datalink)

    报错信息 问题描述 xff1a 使用JMAVSim和gazebo仿真px4起飞时报错如下 xff1a WARN commander Failsafe enabled no datalink 说不安全 解决方法 打开QGC 就可以起飞了
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • PX4:Policy “CMP0097“ is not known to this version of CMake.

    make px4 fmu v3 时报的错 CMake版本的问题 由https blog csdn net zhizhengguan article details 118380965推测 xff0c 删除cmake policy也没事 ma
  • 四、无人机知识笔记(初级:基本运动原理)

    笔记来源于 沈阳无距科技 工业级无人机的中国名片 编程外星人 目录 一 多旋翼直升机 二 基本飞行姿态 三 多旋翼飞行原理 四 反扭力与偏航运动 五 螺旋桨 六 有刷电机和无刷电机 七 电调与PWM信号 八 动力电池 九 遥控器 十 机架设
  • kaldi中SHELL调用C++程序过程源码分析

    引入 kaldi真正的核心源码 都是C 写成的 这个结论可以从如下两点得以确认 1 在kaldi的源码kaldi src目录下 能看到很多扩展名为 cc的源程序 这是linux下C 源码 2 在源码中 比如kaldi src featbin
  • Spring创建Bean的全过程(一)

    Spring测试环境搭建 Spring模块概览 Spring中八大模块 黑色表示该模块的jar包 也就是组件 例如我们想要使用IOC容器 也就是绿色的CoreContainer 我们需要导入Beans Core Context SpEL s
  • GTest源码剖析(六)——RUN_ALL_TESTS

    GTest源码剖析 RUN ALL TESTS GTest源码剖析RUN ALL TESTS RUN ALL TESTS源码分析 1 UnitTestRun 2 HandleExceptionsInMethodIfSupported 3 U
  • Faster RCNN 源码解读(1) -- 文件结构分析

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

    继之前研究了一些飞行姿态理论方面的问题后 又找到了之前很流行的一段外国大神写的代码 来分析分析 第二篇文章的最后 讲到了文章中的算法在实际使用中有重大缺陷 大家都知道 分析算法理论的时候很多情况下我们没有考虑太多外界干扰的情况 原因是很多情
  • 【ClickHouse内核】对于分区、索引、标记和压缩数据的协同工作

    目录 概述 写入过程 生成分区目录 生成索引 生成标记和数据压缩文件 各个底层物理文件生成的过程 查询过程 借助索引文件降低扫描范围 借助标记文件降低解压数据的大小 数据标记与压缩数据块的对应关系 多个数据标记对应一个压缩数据块 一个数据标

随机推荐