目录
文章目录
摘要
本节主要学习如何配置编译iNavFlight的linux开发环境,我用的是ubuntu开发环境,版本是Ubuntu 18.04.4 LTS,之前配置过APM的开发环境,很多都可以直接不用配置。
1.官网
最好的学习资料就是官网:
官网代码网址
官网linux开发环境配置
2.形成Linux开发环境工具
2.1 简介
本文致力于提供在 Linux 上为 INAV 2.6 及更高版本编译 INAV 的通用指南。INAV 需要相当新的版本的 gcc-arm-none-eabi 交叉编译器。不同的 Linux 发行版将提供不同版本的交叉编译器。范围从过时版本(例如 Debian、Ubuntu LTS)到最新稳定版本(Arch Linux)。
为了提供统一且合理的交叉编译器,INAV 提供了“已知良好/工作正常”交叉编译器的安装,以及如果您的发行版提供了更新的选项(例如 Arch Linux)则覆盖此机制。一般来说,从安全角度来看,Linux 发行版不鼓励从官方发行版存储库和“批准”来源(Ubuntu PPA、Arch AUR)以外的来源安装软件。然而,INAV 提供推荐编译器的方法既合理又合理:
- 交叉编译器是从信誉良好的来源安装的(ARM,生产我们的飞行控制器中使用的 CPU 的公司)
- Disto 交叉编译器通常比推荐的 INAV 编译器旧安装的交叉编译器
- 已安装的交叉编译器仅用于构建 INAV,并且在 INAV 构建环境之外显然/通常不可用。
但是,在某些特殊情况下,应优先使用发行版交叉编译器,而不是 INAV 安装的编译器: - 您正在使用安装了更现代的编译器(Arch)的发行版
- 您正在使用 ARM 未提供编译器的主机平台(例如 Linux ia32)。
2.2 相关工具
除了交叉编译器之外,还需要安装一些其他工具:
- git :克隆和管理 INAV 代码存储库
- cmake :生成构建环境
- make :运行固件编译
- ruby : 根据 JSON 定义构建一些生成的源文件
- gcc :用于生成设置和运行测试的本机编译器
请注意,INAV 需要 cmake 3.13 或更高版本;任何提供 cmake 3.13 的发行版也将提供其他工具的适当版本。另请注意,Ubuntu 18.04 LTS 没有提供足够现代的 cmake;建议您升级到提供该功能的 Ubuntu 20.04 LTS。
请注意,您可能更喜欢使用 ninja 而不是 make 作为构建管理器。这将在下面描述。
2.2.1 Ubuntu / Debian系统配置命令
#第一步确保这个系统是更新 make sure the system is updated first
sudo apt update && sudo apt upgrade
sudo apt install git make ruby cmake gcc
这里要说下,我没有按照上面的步骤执行,我是提前知道自己的