기술나눔

우분투는 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 소프트웨어 컴파일(기본)

다른 질문이 있거나 기사에 오류가 있으면 댓글 영역에 메시지를 남겨주세요.
계속 공부하다!