Partage de technologie

Ubuntu compile le firmware PX4

2024-07-12

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

Préface

Si vous souhaitez compiler vous-même le firmware PX4, vous avez besoin d'un compilateur croisé. architecture x86 Les programmes écrits sur la plateforme sont compilés et compilés, et les fichiers exécutables compilés peuvent être utilisésarchitecture des bras Sur la plateforme.

Cette compilation est basée sur px4 v1.13.2 Par exemple.
Ma configuration est la suivante :
Machine virtuelle Ubuntu 18.04 (mémoire courante 4G, mémoire disque dur 80G), compilateur croisé arm-none-eabi-gcc

Préparer

  • Télécharger le code source :
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

Si le téléchargement est lent, vous pouvez le télécharger depuis le disque réseau ou le télécharger depuis le groupe QQ (961297255)
Lien : https://pan.baidu.com/s/1eNB9dWlKoVmRMAYsSPI0vw
Code d'extraction : s8uh

  • Installer les dépendances et le compilateur croisé 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

Insérer la description de l'image ici

La raison de l'erreur dans l'image ci-dessus est que le script shell ne dispose pas d'autorisations exécutables (cette erreur peut se produire si vous utilisez le fichier que j'ai fourni). Exécutez la commande suivante, accordez les autorisations exécutables, puis exécutez :

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

Le résultat de l'exécution du script est présenté dans la figure ci-dessous :
Insérer la description de l'image ici

  • Redémarrez Ubuntu et testez le compilateur croisé
arm-none-eabi-gcc --version
  • 1

Insérer la description de l'image ici

compiler

Remarque : Le suffixe _default est facultatif. Par exemple, utiliser px4_fmu-v5 et px4_fmu-v5_default est identique.

L'image ci-dessous montre les versions du firmware prises en charge par la carte de commande de vol :
Insérer la description de l'image ici

Utilisez la commande suivante pour afficher le micrologiciel prenant en charge la compilation :

cd ~/PX4_Firmware/
make list_config_targets
  • 1
  • 2

Insérer la description de l'image ici

Ici, nous prenons Pixhwak4 comme exemple

make px4_fmu-v5_default
  • 1

Le résultat est présenté dans la figure ci-dessous,La case rouge est le dossier où se trouve le firmware compilé
Insérer la description de l'image ici

Pour la gravure, vous pouvez utiliser QGC ou utiliser la commande suivante

make px4_fmu-v4_default upload
  • 1

faire référence à

Environnement de développement pour Ubuntu LTS/Debian Linux Guide PX4 (principal)
Compiler le logiciel PX4 | Guide PX4 (principal)

Si vous avez d'autres questions ou trouvez des erreurs dans l'article, veuillez laisser un message dans la zone de commentaire
Continue d'apprendre!