This tutorial will cover integrating the coredump collection functionality of the Memfault Firmware SDK into your system.
With coredumps integrated, variable, register, & task state can all be collected at the time a fault, assert, or unexpected error takes place.
This guide assumes you have already completed the minimal integration of the Memfault SDK. If you have not, please complete the appropriate Getting Started guide.
Platform specific storage region for crash data
When a crash takes place, a snapshot of the state needs to be stored in a storage area that persists across a device reboot.
We typically recommend starting with the RAM backed Coredump port from
By default this will only save the top of the stack at the time of crash but it lets you quickly get coredumps up and running and get a feel for how things work.
Coredump data can also be stored to any other backing storage (eMMC, external
NOR flash, internal flash, etc). We have a number of ports available for
different MCUs in the
directory of the memfault-firmware-sdk or you can add your own port by
implementing the required