Dear Sirs,
We have implemented a function inside our code to detect and log Flash ECC faults. It is based on polling the status of the ESM flags and updating a status register accordingly, which is sent through telemetry.
In order to test proper behaviour, we inject an ECC error through the Linker option --ecc:ecc_error:[Address],[Mask].
But what we see instead is either a call to dabort() or a corruption in register R13, which causes a reset of the board when a function tries to return (ldm R13!, {PC}).
Is this an expected behaviour? If a wrong Flash ECC produces a reset, then what is the benefit of having an ESM module to capture these events?
Thank you.