The firmware crashed earlier and left a crash dump
What ArduPilot says:
- Crash Dump incomplete, dumping what we got!
- PreArm: CrashDump data detected
- CrashDump data detected
At some earlier time the firmware hit a fatal fault, the kind that reboots the flight controller on the spot, and saved a snapshot of its memory, a crash dump, on the board. While a dump is present ArduPilot refuses to arm, because the same fault can happen again in the air. The dump is copied to the SD card as APM/crash_dump.bin (the message “Saved crash_dump.bin” confirms it) and can be read over MAVFTP as @SYS/crash_dump.bin.
What to do, most likely first
A fault in the firmware, most often in a development or custom build.
CheckThe firmware banner shows a version with “-dev”, or extra words after the version number.
FixKeep crash_dump.bin, then load the current stable firmware for your board. Send the file, with the exact firmware version, to whoever built the firmware or to the ArduPilot forum.
A hardware fault that corrupts memory: failing power, a damaged board.
CheckIt happens again on stable firmware, at different moments.
FixCheck the board's 5 V supply under load; if the crashes continue on stable firmware, replace the board.
ARMING_CRSDP_IGN 1 is the pilot's signed statement “I know, I fly anyway”: the check then passes, the warning is still sent, and the parameter goes back to 0 by itself at the first start with no dump present. It does not make the aircraft any safer.
Parameters to look at
| Parameter | What it is |
|---|---|
ARMING_CRSDP_IGN | Disable CrashDump Arming check |
The code that sends it
Crash Dump incomplete, dumping what we got!
libraries/AP_HAL_ChibiOS/Util.cpp Util::last_crash_dump_size() · Open in ArduPilot Copter-4.6.3
PreArm: CrashDump data detected
libraries/AP_Arming/AP_Arming.cpp AP_Arming::crashdump_checks() · Open in ArduPilot Copter-4.7.1
CrashDump data detected
libraries/AP_Arming/AP_Arming.cpp AP_Arming::crashdump_checks() · Open in ArduPilot Copter-4.7.1