# 如果出现问题

## 当问题出现时[¶](https://ardupilot.org/plane/docs/common-when-problems-arise.html#when-problems-arise)

ArduPilot，非常有能力和灵活。但是，随着高性能和灵活性的提高，带来了许多配置、参数和复杂性。

本 WIKI 文档试图通过提供有关配置、参数和操作模式的尽可能多的准确信息来减少配置和操作基于 ArduPilot 的车辆的工作量，并且随着新版本的发布或需要进一步解释的领域出现而不断更新。欢迎并请求你们协助这一努力。请参阅[维基编辑指南](https://ardupilot.org/plane/docs/common-wiki_editing_guide.html#common-wiki-editing-guide)

### 遇到问题该怎么办[¶](https://ardupilot.org/plane/docs/common-when-problems-arise.html#what-to-do-if-you-have-an-issue)

1. 确保您已遵循车辆的“首次设置”和“首次飞行/驾驶”部分，并仔细阅读提供的文档。如果处理高级配置或硬件选项，请仔细阅读相应的文档。
2. 如果这不能帮助您解决问题，请在适合您的车辆或地面站的讨论[论坛](https://discuss.ardupilot.org/)部分寻求帮助。不要在 GitHub 软件存储库中输入问题，除非已在代码或文档中确认为实际问题。将在相应的讨论论坛中提供支持。
3. 拥有[数据闪存日志](https://ardupilot.org/plane/docs/common-diagnosing-problems-using-logs.html#common-diagnosing-problems-using-logs)将帮助您或帮助您的人诊断问题。

注意

监视狗重置（“WDG：”）应在此[页面上](https://github.com/ArduPilot/ardupilot/issues/15915)报告，内部错误（“内部错误：”）应[在此处](https://github.com/ArduPilot/ardupilot/issues/15916)报告

### 可用内存问题[¶](https://ardupilot.org/plane/docs/common-when-problems-arise.html#free-ram-issues)

在初始化期间，某些功能/子系统可能无法分配足够的 RAM。有时会宣布这一点，例如在内存不足的情况下启动 LUA 脚本：“脚本需要更大的最小堆栈大小”，或者对于地形：“地形：分配失败”等。此外，可用内存不足可能导致指南针校准失败或 MAVftp 无法初始化。有关详细信息[，请参阅 RAM 限制](https://ardupilot.org/plane/docs/common-limited-firmware.html#ram-limitations)。

### H7 自动驾驶仪无法初始化[¶](https://ardupilot.org/plane/docs/common-when-problems-arise.html#h7-autopilot-will-not-initialize)

在极少数情况下，使用 H7 系列处理器的自动驾驶仪可能会进入不再完成初始化的状态。症状是：从不退出引导加载程序（电源应用永不停止后立即快速闪烁 LED）或自动驾驶仪在初始化期间冻结，并且无法连接到它。

据信，这可能是内存损坏问题，可能是由中断闪存写入（如更改参数时）引起的。不幸的是，由于处理器的架构，固件中无法自动更正此问题。如果自动驾驶仪看起来“砖砌”，请尝试此操作以将自动驾驶仪完全重置为完全未编程的状态。这应该允许安装固件并解决损坏问题。

* 首先，通过加载[包含](https://firmware.ardupilot.org/Tools/STM32-tools/2MByte_allzero.bin)所有零数据的文件，用零对整个2MB闪存空间进行编程。使用[此处](https://ardupilot.org/plane/docs/common-loading-firmware-onto-chibios-only-boards.html#common-loading-firmware-onto-chibios-only-boards)的说明，但使用上面的文件。
* 接下来，从[这里](https://firmware.ardupilot.org/Tools/Bootloaders/)下载适用于您的AutoPilot的ArduPilot引导加载程序。然后使用该引导加载程序文件重复上述步骤。这会将引导加载程序置于自动驾驶仪上。重新打开自动驾驶仪的电源。此时，它将通电并保留在引导加载程序中，直到安装操作固件。
* 最后，使用Mission Planner的“设置/安装固件”选项卡或[Uploader](https://raw.githubusercontent.com/ArduPilot/ardupilot/master/Tools/scripts/uploader.py) python脚本来加载所需的ArduPilot固件版本。

这应该可以解决由内存损坏引起的问题，并且将恢复正常操作。
