Follow the below steps for error events
debug :
- Run the following scripts
ESM_CPU_Check_Status() GEL file hot menu function from CCS to check status of the error
events as shown in Figure 5-6. This function output indicates error events separated in two categories:
-
Active/Pending Error Events – Indicates error events that are active/pending
- When an error event is active
means the raw status of the error event is set, the function checks for RAW status
register (RAW_j) for each event stated in F29x TRM ESM error events table.
-
Active, Pending, and Enabled Error Events – Indicates error
events that are active/pending and enabled.
- When an error event is active,
pending and enabled means that the RAW status is set for the error event as well
as the Interrupt Enable Set Register is also set by the user to trigger interrupt
output from respective ESM module.
- Example output from the GEL output and
correlation to the ESM registers is shown in the figure below. This is continuation of the
same ESM Multicore example taken from F29 SDK.
- Figure 5-7 shows the CPU1_ERAD_NMI error event is both active and enabled. The ESM CPU1 -
Interrupt priority register (INT_PRIO) is also set for the CPU1_ERAD_NMI error event
to trigger NMI both for CPU1 (in ESM CPU1) and CPU3 (in ESM CPU3).
- In addition to this there are other
error events like ErrorAggregator_CPU3_HPERR (Error aggregator CPU3 high priority
error from security violation error on CPU3 DW bus as explained in sections above),
EPWMXBAR1, CPU1 High Priority interrupt and CPU3 High priority interrupt output also
active which is decoded using the ESM RAW Status register (RAW_j) value. CPU1 and CPU3
high priority interrupt outputs are CPU1 and CPU3 NMI output flags whereas EPWM XBAR
and ERAD NMI events are used in the NMI errata workaround implementation hence active
as expected, check details in the F29x device errata.
- Similar to EAM register flags, check for
the GEL output before RAW status register is cleared in NMI ISR or check the same
structure (nmiStatus) as shown before where they are saved for debug later. Clearing ESM
RAW status (RAW_j) register flags is necessary to avoid the NMIWD timeout in case
particular event is configured to trigger NMI when active.