技術共有

Ubuntu は PX4 ファームウェアをコンパイルします

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

序文

PX4 ファームウェアを自分でコンパイルしたい場合は、クロスコンパイラーが必要です。 x86 アーキテクチャ プラットフォーム上で書かれたプログラムはコンパイルされてコンパイルされ、コンパイルされた実行ファイルを使用できます。アームの構造 プラットフォーム上で。

この編集は以下に基づいています px4 v1.13.2 例えば。
私の構成は次のとおりです。
仮想マシン Ubuntu 18.04 (実行メモリ 4G、ハードディスク メモリ 80G)、クロス コンパイラ arm-none-eabi-gcc

準備する

  • ソースコードをダウンロード:
sudo apt-get install git  # 安装git
git clone https://github.com/PX4/PX4-Autopilot.git
mv PX4-Autopilot PX4_Firmware  # 更改目录名
cd PX4_Firmware
git checkout -b dev v1.13.2  # 切换版本
git submodule update --init --recursive   # 更新下载子模块
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

ダウンロードが遅い場合は、ネットワーク ディスクからダウンロードするか、QQ グループからダウンロードできます (961297255)
リンク: https://pan.baidu.com/s/1eNB9dWlKoVmRMAYsSPI0vw
抽出コード: s8uh

  • 依存関係とクロスコンパイラのインストール arm-none-eabi-gcc
sudo apt-get install libjpeg8-dev
cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-sim-tools # 大概要几分钟,跟个人网络情况而定
# 这是官方提供的脚本 有两个可选参数
# --no-sim-tools   不安装仿真环境
# --no-nuttx   不安装交叉编译环境
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

ここに画像の説明を挿入します

上の図のエラーの原因は、シェル スクリプトに実行権限がないことです (このエラーは、次のコマンドを実行し、実行権限を付与してから実行すると発生する可能性があります)。

chmod +x ubuntu.sh
./ubuntu.sh --no-sim-tools
  • 1
  • 2

スクリプトの実行結果を次の図に示します。
ここに画像の説明を挿入します

  • Ubuntuを再起動し、クロスコンパイラをテストします。
arm-none-eabi-gcc --version
  • 1

ここに画像の説明を挿入します

コンパイル

注: 接尾辞 _default はオプションです。たとえば、px4_fmu-v5 と px4_fmu-v5_default の使用は同じです。

下の図は、フライト コントロール ボードでサポートされているファームウェアのバージョンを示しています。
ここに画像の説明を挿入します

コンパイルをサポートするファームウェアを表示するには、次のコマンドを使用します。

cd ~/PX4_Firmware/
make list_config_targets
  • 1
  • 2

ここに画像の説明を挿入します

ここではPixhwak4を例として取り上げます

make px4_fmu-v5_default
  • 1

結果は下の図に示されています。赤いボックスは、コンパイルされたファームウェアが配置されているフォルダーです。
ここに画像の説明を挿入します

書き込みには、QGC を使用するか、次のコマンドを使用できます。

make px4_fmu-v4_default upload
  • 1

参照する

Ubuntu LTS/Debian Linux 向け開発環境ガイド (メイン)
PX4 ソフトウェアのコンパイル PX4 ガイド (メイン)

他にご質問がある場合、または記事内で間違いを見つけた場合は、コメント欄にメッセージを残してください。
学び続けます!