Upon an error generated by the LCM module, a system-level NMI is triggered. The LCM
error can be triggered by any of the following:
- Functional failure: LCM detecting an error (functional failure between the two
modules).
- Self-test failure: LCM self-test failure detected (functional failure on one or
both of the modules).
- Force Compare Error Request:
Running LCM_CONTROL.CMPx_ERR_FORCE to force a compare error.
- If the force compare error test passes, the LCM module generates an
NMI. Inside the NMI routine, to differentiate between a functional
failure of the device and a "force compare error test" induced failure,
the LCM_STATUS.CMPx_ERR_FORCE_DONE flag can be read. This bit determines
if the error-force test completed successfully (bit = 1, test complete)
or never ran (bit = 0, test not completed). If the test never ran, then
the NMI was triggered by an actual functional failure.
To determine the specific cause of the LCM error-induced NMI, the LCM_STATUS register
bits can be read. Particularly:
- CMP_FAIL
- STPASS
- CMPx_ERR_FORCE_PASS
- CMPx_ERR_FORCE_DONE
For details on system-level NMIs vector locations and interrupt-handling, see the
System Control and Interrupts chapter.