Pixhawk--Ardupliot固件編譯

官方指導(dǎo)

具體操作說(shuō)明-基于war


從 GitHub 克隆項(xiàng)目:

git clone --recursive https://github.com/ArduPilot/ardupilot.git

cd ardupilot

git submoduleupdate--init--recursive


-------------------

切換版本的正確方式

git clone https://github.com/ArduPilot/ardupilot.git

上述命令下載的源碼,默認(rèn)處在master分支,若想切換到指定版本,需要使用git checkout來(lái)切換。比如切換到3.5.7版本并拉出一個(gè)新的分支,以便在其上做修改并且提交。

git checkout -b Rover-4.2.3-test Rover-4.2.3

# 切換了分支后,需要同步對(duì)子模塊的引用。

git submodule update --init --recursive


安裝工具鏈:

Tools/environment_install/install-prereqs-ubuntu.sh -y

更新路徑:

. ~/.profile

然后運(yùn)行

gedit ~/.bashrc

把下面這兩段話放在文件末尾并且保存

export PATH=$PATH:$HOME/ardupilot/Tools/autotest

export PATH=/usr/lib/ccache:$PATH

然后執(zhí)行一下

~/.bashrc


至此APM的工具鏈安裝即完成。

如果某些防火墻不允許 ssh 訪問(wèn),這可能導(dǎo)致上述子模塊更新失敗,在這種情況下,您可以通過(guò)以下命令告訴 git 單方面使用 https:

git config --global url."https://".insteadOf git://


Ardupilot 正在逐漸從基于 make 的構(gòu)建系統(tǒng)轉(zhuǎn)向?Waf。下面的說(shuō)明應(yīng)該足以讓您構(gòu)建 Ardupilot,但您也可以在?Waf Book中閱讀有關(guān)構(gòu)建系統(tǒng)的更多信息。

應(yīng)始終從 ardupilot 的根目錄調(diào)用 Waf。

a.可以使用以下命令獲取 ArduPilot 上支持的板的列表

./waf list_boards


可用的板子

我們以Rover編譯到Pixhawk1 為例:

./waf configure --board Pixhawk1

./waf rover


編譯成功

編譯后目錄結(jié)構(gòu)為:


build目錄下

燒錄到Pixhawk 板子中:

./waf --targets bin/ardurover --upload


燒錄過(guò)程



在生成后的build文件夾下面:


在構(gòu)建目錄中,您將找到以下類(lèi)型的文件:

*.apj文件:這些是“ArduPilot JSON”固件,其中包含可以由 ArduPilot 兼容的地面站軟件加載的固件

*.px4文件:這些是 apj 文件的舊名稱(chēng),并使用相同的格式

*.hex文件:這些是 Intel 十六進(jìn)制格式的固件,用于使用 DFU 加載工具加載。這些用于不帶有 ArduPilot 兼容引導(dǎo)加載程序的電路板

*_with_bl.hex文件:這些是內(nèi)置引導(dǎo)加載程序的十六進(jìn)制文件的變體。它們可用于使用 DFU 加載工具一步安裝引導(dǎo)加載程序和 ArduPilot 車(chē)輛固件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容