PX4
編譯與燒錄PX4的基本教學
韌體編譯
0. 前置條件
作業系統為Ubuntu或Windows WSL
1. 構建PX4開發環境
PX4是一個開源的飛控韌體,主要用於無人機和遙控飛行器。以下是構建 PX4開發環境的步驟:
2. 複製PX4 Github儲存庫
開啟終端。
執行以下命令以複製 Betaflight 儲存庫:
git clone https://github.com/PX4/PX4-Autopilot.git --recursive執行PX4開發環境配置腳本,等待安裝完成:
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
3. 編譯PX4韌體
先將工作目錄切換到PX4儲存庫中
執行以下命令進行韌體編譯:
將 Board Name替換為飛控板的具體名稱。

編譯的韌體位置在PX4-Autopilot/build/<Board Name>/底下,包含PX4的韌體檔案(<Board Name>.bin, <Board Name>.px4)

韌體燒錄
燒錄PX4韌體目前提供兩種方法
此方法應用於已安裝PX4或Ardupilot的韌體
開啟QGroundControl,開啟左上角的Icon,確保目前沒有連接飛控

選擇Vehicle Configuration

選擇Firmware,提示表示請插入USB

飛控板使用USB連接到電腦,出現以下畫面,選擇PX4 Pro字串的選項。

按下OK即可開始燒錄
回到QGC連線,觀察是否有數據,有數據表示成功
此方法可以應用於原先安裝Betaflight或其他非PX4與Ardupilot的韌體
先下載並安裝STM32CubeProgrammer,下載來源
飛控板開啟DFU模式,USB 連接到電腦。
開啟STM32CubeProgrammer,選擇USB並按下Connect,連線到飛控板

按下Open file,開啟包含px4韌體的檔案(此處以Ardupilot為例,可以選擇.px4檔案)


下載/燒錄韌體到飛控板上

燒錄中

完成下載/燒錄
燒錄完成

開啟Mission Planner,連線到飛控

如何編譯自定義的飛控板
確認已經成功配置PX4開發環境
移動到PX4-Autopilot/board中,複製已經存在的飛控板定義,重新命名新飛控板名稱的資料夾,此處以Morakot為例。

修改nuttx-config資料夾中的nsh/defconfig以及bootloader/defconfig
nsh/defconfig,修改
CONFIG_ARCH_BOARD_CUSTOM_DIR="<nuttx-config所在的路徑>"
bootloader/defconfig,修改
CONFIG_ARCH_BOARD_CUSTOM_DIR="<nuttx-config所在的路徑>"
修改飛控板資料夾內部的檔案(目前尚未測試完成)

修改飛控板資料夾其中的內容,根據實際板子所使用的腳位定義與接線,撰寫自己的飛控板配置(目前尚未測試完成)

修改完畢後,開啟終端機,切換到PX4儲存庫的資料夾
首先,編譯新飛控板的Bootloader,此步驟不可跳過。:
make <Board Name>_bootloader
接著編譯PX4韌體,此步驟不可跳過。
make <Board Name>_default
編譯完成的PX4韌體將會位於
PX4-Autopilot/build/<Board Name>_default裡面
Last updated