PX4

編譯與燒錄PX4的基本教學

韌體編譯

0. 前置條件

作業系統為Ubuntu或Windows WSL

1. 構建PX4開發環境

PX4是一個開源的飛控韌體,主要用於無人機和遙控飛行器。以下是構建 PX4開發環境的步驟:

2. 複製PX4 Github儲存庫

  1. 開啟終端。

  2. 執行以下命令以複製 Betaflight 儲存庫:

    git clone https://github.com/PX4/PX4-Autopilot.git --recursive
  3. 執行PX4開發環境配置腳本,等待安裝完成:

    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

3. 編譯PX4韌體

  1. 先將工作目錄切換到PX4儲存庫中

    cd PX4-Autopilot
  2. 執行以下命令進行韌體編譯:

    make <Board Name>

    Board Name替換為飛控板的具體名稱。

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

韌體燒錄

燒錄PX4韌體目前提供兩種方法

此方法應用於已安裝PX4或Ardupilot的韌體

  1. 開啟QGroundControl,開啟左上角的Icon,確保目前沒有連接飛控

  2. 選擇Vehicle Configuration

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

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

  5. 按下OK即可開始燒錄

  6. 回到QGC連線,觀察是否有數據,有數據表示成功


如何編譯自定義的飛控板

  1. 確認已經成功配置PX4開發環境

  2. 移動到PX4-Autopilot/board中,複製已經存在的飛控板定義,重新命名新飛控板名稱的資料夾,此處以Morakot為例。

  3. 修改nuttx-config資料夾中的nsh/defconfig以及bootloader/defconfig

    nsh/defconfig,修改CONFIG_ARCH_BOARD_CUSTOM_DIR="<nuttx-config所在的路徑>"

    bootloader/defconfig,修改CONFIG_ARCH_BOARD_CUSTOM_DIR="<nuttx-config所在的路徑>"

  4. 修改飛控板資料夾內部的檔案(目前尚未測試完成)

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

  6. 修改完畢後,開啟終端機,切換到PX4儲存庫的資料夾

  7. 首先,編譯新飛控板的Bootloader,此步驟不可跳過。:

    make <Board Name>_bootloader

  8. 接著編譯PX4韌體,此步驟不可跳過。

    make <Board Name>_default

  9. 編譯完成的PX4韌體將會位於PX4-Autopilot/build/<Board Name>_default裡面

Last updated