I am experimenting with some aerodynamically unstable designs. The drone lost stability in flight and started tumbling (this was expected), got back under control, and landed softly.
On the next turn-on, I received the crash dump message.
The tumbling itself does not appear to have directly caused the flight controller to reboot. The log shows an EKF3 lane switch and vibration compensation during the unstable flight, but the vehicle continued running afterward and was normally disarmed.
However, the crash dump does indicate that a firmware/CPU fault occurred at some point.
One thing that stands out is:
PC = 0x30001FB8 LR = 0x0815DEFF
The PC appears to point into RAM rather than the normal firmware code region, while the LR is still in the flash/code region.
This could indicate something like an invalid branch/return, stack corruption, or memory corruption, although it would need to be symbolized against the exact ArduCopter 4.6.3 ELF file to determine the actual cause.
So I donβt think the crash dump was simply caused by the drone tumbling. The unstable flight definitely caused significant EKF/vibration events, but the actual crash dump looks more like a separate software/CPU fault.
It would be useful for an ArduPilot developer to decode the crash dump using the exact firmware ELF.