(飞行)控制器硬件固件限制

某些配置中的 ArduPilot 固件大小超过 1 MB。某些(飞行)控制器可能没有足够的闪存来存储完整的固件。

对于受影响的(飞行)控制器,会生成一个缩小的固件。该固件省略了不常用的功能,以便将固件大小减小到 1 MB 以下。

本页列出了缺失的功能 针对每种电路板类型的当前 "最新 "固件。如果您需要这些功能中的任何一个,可以尝试使用 定制固件构建服务器.电路板缺失功能列表的分组和标签与定制固件编译服务器上显示的相同。

备注

目前,上述缺失功能页面是自动生成的,并且存在一个错误,我们正在对其进行调查和修正。 固件服务器 在其 "features.txt "文件中。

使用该服务器时,您需要了解哪些功能是您确实想要的,并对其进行检查,以及目前缺少的哪些功能。当前可选择的所有构建选项表如下所示 这里.

内存限制

某些(飞行)控制器的可用内存可能不足以支持所有已启用的固件功能。可能出现的症状包括

  • MAVFTP 不工作。在 GCS 尝试建立 MAVFTP 链接时,由于无法设置,下载到 GCS 的参数会延迟启动,然后使用正常下载方法缓慢下载参数。

  • 罗盘校准无法启动

  • 日志记录无法启动

  • 无法开始从 GCS 下载地形

  • 接口无法初始化,如 CAN:"初始化 CAN 接口 xx 失败"。

如果出现这种情况,有几个可能的选项可供选择:允许临时使用 MAVFTP、下载地形图、允许加载驱动程序和/或指南针校准。所有选项都需要重新启动才能生效:

  • 确保 IMU 批量采样(用于 FFT 分析)没有运行,方法是设置 ins_log_bat_mask = 0.

  • 尝试通过设置 日志后端类型 为 0,校准后返回 1(默认值)。

  • 缩小 日志文件大小.不过,将日志降低到 16KB 以下可能会导致日志中出现小的间隙。这可用于临时下载地形或校准指南针。

  • 通过设置 TERRAIN_ENABLE 为 0。

  • 通过以下设置禁用旋翼飞行器上的 SmartRTL SRTL_POINTS = 0.

  • 如果使用 DroneCAN,请尝试使用 CAN_Dx_UC_POOL 参数

备注

在Mission Planner地面站的 "状态 "选项卡中,您可以监控当前可用内存的 "freemem "状态。请注意,这是未分配内存的总和,所有需要分配内存的内容都必须是一个连续的块。但该状态会显示可用的内存。例如,MAVftp 需要 ~ 12K 连续内存块才能启动。