Technologieaustausch

Ubuntu kompiliert die PX4-Firmware

2024-07-12

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

Vorwort

Wenn Sie die PX4-Firmware selbst kompilieren möchten, benötigen Sie einen Cross-Compiler x86-Architektur Auf der Plattform geschriebene Programme werden kompiliert und kompiliert, und die kompilierten ausführbaren Dateien können verwendet werdenArmarchitektur auf dem Bahnsteig.

Diese Zusammenstellung basiert auf px4 v1.13.2 Zum Beispiel.
Meine Konfiguration ist wie folgt:
Virtuelle Maschine Ubuntu 18.04 (laufender Speicher 4G, Festplattenspeicher 80G), Cross-Compiler arm-none-eabi-gcc

Vorbereiten

  • Quellcode herunterladen:
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

Wenn der Download langsam ist, können Sie ihn von der Netzwerkfestplatte oder von der QQ-Gruppe (961297255) herunterladen.
Link: https://pan.baidu.com/s/1eNB9dWlKoVmRMAYsSPI0vw
Extraktionscode: s8uh

  • Installieren Sie Abhängigkeiten und Cross-Compiler 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

Fügen Sie hier eine Bildbeschreibung ein

Der Grund für den Fehler im obigen Bild ist, dass das Shell-Skript keine ausführbaren Berechtigungen hat (dieser Fehler kann auftreten, wenn Sie die von mir bereitgestellte Datei verwenden, den folgenden Befehl ausführen, ausführbare Berechtigungen erteilen und dann ausführen:

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

Das Ergebnis der Skriptausführung ist in der folgenden Abbildung dargestellt:
Fügen Sie hier eine Bildbeschreibung ein

  • Starten Sie Ubuntu neu und testen Sie den Cross-Compiler
arm-none-eabi-gcc --version
  • 1

Fügen Sie hier eine Bildbeschreibung ein

kompilieren

Hinweis: Das Suffix _default ist optional. Beispielsweise ist die Verwendung von px4_fmu-v5 und px4_fmu-v5_default dasselbe.

Das Bild unten zeigt die von der Flugsteuerungsplatine unterstützten Firmware-Versionen:
Fügen Sie hier eine Bildbeschreibung ein

Verwenden Sie den folgenden Befehl, um Firmware anzuzeigen, die die Kompilierung unterstützt:

cd ~/PX4_Firmware/
make list_config_targets
  • 1
  • 2

Fügen Sie hier eine Bildbeschreibung ein

Hier nehmen wir Pixhwak4 als Beispiel

make px4_fmu-v5_default
  • 1

Das Ergebnis ist in der folgenden Abbildung dargestellt:Das rote Kästchen ist der Ordner, in dem sich die kompilierte Firmware befindet
Fügen Sie hier eine Bildbeschreibung ein

Zum Brennen können Sie QGC verwenden oder den folgenden Befehl verwenden

make px4_fmu-v4_default upload
  • 1

beziehen auf

Ubuntu LTS/Debian Linux-Entwicklungsumgebung |.
Kompilieren Sie die PX4-Software |. PX4-Anleitung (Haupt)

Wenn Sie weitere Fragen haben oder Fehler im Artikel finden, hinterlassen Sie bitte eine Nachricht im Kommentarbereich
Lerne weiter!