22.3.6 Clearing Error Signals

After an error has been handled (in a way that depends on the source of the error), the error flag must be cleared at its source. The clearing procedure for an error flag is specific to the failing module. Typically, this happens by clearing the Interrupt Flags (peripheral.INTFLAGS) register in the failing module. This may be unnecessary if the error caused the entry to Safe State (i.e., a reset) since a reset will typically clear most interrupt flags. The Error Status Flags (ERRCTRL.ESF) register must also be cleared.

Clearing the failing module error input must happen before clearing the ERRCTRL.ESF register since the ERRCTRL.ESF is just a registered version of the error input from the failing module, which usually means that the failing module’s peripheral.INTFLAGS register must be cleared before the ERRCTRL.ESF is cleared.