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
说明版本切换成功!!!
下面我们就开始为所欲为吧!!!哈哈哈!!!