Skip to content

Середовище розробки CentOS ​

WARNING

This development environment is community supported and maintained. Це може працювати або не працювати з поточними версіями PX4.

Дивіться Встановлення інструментарію для інформації про середовища та інструменти, що підтримуються основною командою розробників.

Збірка потребує Python 2.7.5. Тому потрібно використовувати CentOS 7 на момент написання. (Для попередніх релізів CentOS можна встановити python v2.7.5 поряд із версією із дистрибутиву. Але це не рекомендується тому що можна зламати yum.)

Загальні залежності ​

Репозиторії EPEL необхідні для пакетів openocd libftdi-devel libftdi-python

sh
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
sudo yum install epel-release-7-5.noarch.rpm
yum update
yum groupinstall “Development Tools”
yum install python-setuptools python-numpy
easy_install pyserial
easy_install pexpect
easy_install toml
easy_install pyyaml
easy_install cerberus
yum install openocd libftdi-devel libftdi-python python-argparse flex bison-devel ncurses-devel ncurses-libs autoconf texinfo libtool zlib-devel cmake vim-common

INFO

You may want to also install python-pip and screen.

Встановлення інструментарію GCC. ​

Виконайте скрипт нижче для встановлення GCC 7-2017-q4:

WARNING

This version of GCC is very outdated. PX4 now uses the gcc-arm-none-eabi package from the current Ubuntu LTS (GCC 13.2.1 on Ubuntu 24.04). This CentOS guide is community-maintained and may not produce working builds.

sh
pushd .
cd ~
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
exportline="export PATH=$HOME/gcc-arm-none-eabi-7-2017-q4-major/bin:\$PATH"
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
popd

Тепер перезавантажте комп'ютер.

Troubleshooting

Перевірте версію, ввівши наступну команду:

sh
arm-none-eabi-gcc --version

Результат повинен бути схожий на:

sh
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Система збірки Ninja ​

Ninja is a faster build system than Make and the PX4 CMake generators support it.

На Ubuntu Linux ви можете встановити її автоматично зі звичайних репозиторіїв.

sh
sudo apt-get install ninja-build -y

Інші системи можуть не включати Ninja в менеджер пакетів. В цьому випадку альтернатива - завантажити бінарний файл і додати його до вашого шляху:

sh
mkdir -p $HOME/ninja
cd $HOME/ninja
wget https://github.com/martine/ninja/releases/download/v1.6.0/ninja-linux.zip
unzip ninja-linux.zip
rm ninja-linux.zip
exportline="export PATH=$HOME/ninja:\$PATH"
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
. ~/.profile