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
說明版本切換成功!!!
下面我們就開始爲所欲爲吧!!!哈哈哈!!!