Find out what information can be recovered and how we can use it to pinpoint the origin of the crash (ideally the address of the instruction that crashed and the contents of the stack and registers). We can use the map file to find the function that was being executed, and the contents of the stack and registers to identify the values of local variables and function parameters (although they may prove quite hard to do).
The debug data should be copied in RAM memory (in a non-initialized static buffer) and recovered on the next reboot. Then it can be saved to flash or send by BLE message.
A new flag should be added to the advertising data to signal that some debug data is available.
Find out what information can be recovered and how we can use it to pinpoint the origin of the crash (ideally the address of the instruction that crashed and the contents of the stack and registers). We can use the map file to find the function that was being executed, and the contents of the stack and registers to identify the values of local variables and function parameters (although they may prove quite hard to do).
The debug data should be copied in RAM memory (in a non-initialized static buffer) and recovered on the next reboot. Then it can be saved to flash or send by BLE message. A new flag should be added to the advertising data to signal that some debug data is available.