# 飞行控制器移植指南
本主题适用于希望将 PX4 移植到与 新 飞行控制器硬件。
# PX4 结构
PX4 主要由两层组成:层 电路板支持和中间件层 在主机操作系统(NuttX、Linux 或任何其他 POSIX 平台,如 Mac OS)和应用程序(Flight Stack,即 "飞行算法池")之上。 src/modules (打开新窗口)).请参考 PX4 结构概述 了解更多信息。
本指南仅侧重于主机操作系统和中间件,因为应用程序/飞行算法池可在任何板载目标上运行。
# 飞行控制器配置文件布局
电路板启动和配置文件位于 /板 (打开新窗口) 在每块板的供应商特定目录中(即 板/供应商/型号/)).
例如,对于 FMUv5:
- (所有)电路板专用文件: /boards/px4/fmu-v5 (打开新窗口).
- 构建配置: /boards/px4/fmu-v5/default.px4board (打开新窗口).
- 特定于电路板的初始化文件: /boards/px4/fmu-v5/init/rc.board_defaults (打开新窗口)
- 启动脚本中会自动包含特定于电路板的初始化文件,如果在电路板目录下的 init/rc.board.
- 该文件用于启动仅存在于特定电路板上的传感器(以及其他设备)。它还可用于设置电路板的默认参数、UART 映射和其他特殊情况。
- 对于 FMUv5,您可以看到所有 Pixhawk 4 传感器都已启动,而且还设置了更大的 LOGGER_BUF。
# 主机操作系统配置
本节介绍了每种支持的主机操作系统所需的配置文件的用途和位置,以便将其移植到新的飞行控制器硬件上。
# NuttX
参见 NuttX 板移植指南.
# 利纳克斯
Linux 板不包括操作系统和内核配置。这些已由电路板的 Linux 映像提供(需要支持开箱即用的惯性传感器)。
- boards/px4/raspberrypi/default.px4board (打开新窗口) - RPI 交叉编译。
# 中间件组件和配置
本节将介绍各种中间件组件,以及将它们移植到新飞行控制器硬件所需的配置文件更新。
# QuRT / 六角形
- 启动脚本位于 posix-configs/ (打开新窗口).
- 操作系统配置是默认 Linux 映像的一部分(待办事项:提供 LINUX 映像的位置和闪存说明)。
- PX4 中间件配置位于 src/boards (打开新窗口).待办事项:添加总线配置
# RC UART 接线建议
一般建议通过单独的 RX 和 TX 引脚将 RC 连接到微控制器。但如果 RX 和 TX 连接在一起,则必须将 UART 设置为单线模式,以防止出现任何争用。这可以通过电路板配置和清单文件来实现。其中一个例子是 px4fmu-v5 (打开新窗口).
# 官方支持的硬件
PX4 项目支持并维护了 FMU 标准参考硬件 以及任何与该标准兼容的电路板。这包括 Pixhawk 系列 有关 官方支持硬件的完整列表).
每个获得官方支持的董事会都能从中受益:
- PX4 存储库中的 PX4 端口
- 自动固件构建,可从 QGroundControl
- 与生态系统其他部分的兼容性
- 通过 CI 进行自动检查 - 安全对社区来说仍然至关重要
- 飞行测试
我们鼓励电路板制造商努力做到完全兼容 调频单元规格 (打开新窗口).由于完全兼容,您可以从 PX4 的日常开发中获益,但无需承担因支持规格偏差而产生的维护成本。
TIP
制造商在偏离规范之前,应仔细考虑维护成本(制造商的成本与偏离程度成正比)。
我们欢迎任何个人或公司提交他们的端口,将其纳入我们的支持硬件,只要他们愿意遵循我们的 行为准则 (打开新窗口) 并与开发团队合作,为客户提供安全、满意的 PX4 体验。
同样重要的是要注意,PX4 开发团队有责任发布安全的软件,因此我们要求任何板卡制造商投入必要的资源,以保持其端口的最新状态和工作状态。
如果您想让您的电路板在 PX4 中获得官方支持:
- 您的硬件必须可以在市场上买到(即任何开发人员都可以不受限制地购买)。
- 必须向 PX4 开发团队提供硬件,以便他们验证端口(请联系 [email protected] 以获得有关将硬件运往何处进行测试的指导)。
- 董事会必须全面通过 测试套件 和 飞行测试.
PX4 项目保留拒绝接受不符合项目要求的新端口(或删除现有端口)的权利。
您可以在 官方支持渠道.
# 相关信息
- 设备驱动程序 - 如何支持新的外设硬件(设备驱动程序)
- 构建代码 - 如何构建源代码和上传固件
- 支持的飞行控制器:
- 自动驾驶仪硬件
- 支持的电路板列表 (打开新窗口) (Github) - PX4-Autopilot 有特定代码的板卡
- 支持的外设