
目录文章目录目录摘要1.官网2.形成Linux开发环境工具2.1 简介2.2 相关工具2.2.1 Ubuntu / Debian系统配置命令2.2.2 Fedora系统配置命令2.2.3 Fedora系统配置命令2.3 克隆存储库2.4 构建工具2.5 使用cmake2.6 构建固件2.7 清除2.8 cmake 缓存维护2.9 编译通过ninja2.10 更新和重建3.高级用法4.不受支持的平台摘要本节主要学习如何配置编译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 updatesudo apt upgrade sudo apt install git make ruby cmake gcc这里要说下,我没有按照上面的步骤执行,我是提前知道自己的cmake版本比较低,我直接按照cmake的按照教材直接配置到最新,具体cmake的配置可以看出:cmake环境配置还有需要安装gcc-arm-none-eabi开发