Exceptions and Interrupts Control
99
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
System Control and Interrupts
1.5.3.1
Master Subsystem NMI Sources
This section explains all the possible NMI sources on the master subsystem.
1.5.3.1.1 Clock Fail Condition
A main oscillator verification circuit is provided that generates an error condition if the oscillator is running
too fast or too slow or goes missing. This logic is referred to as Missing Clock Detection logic and is
explained in detail in
. When a missing clock error is generated, the CLOCKFAIL bit (bit 1) of
the MNMIFLG register is set, the clock source is switched to the 10 MHz internal oscillator, and the PLL is
bypassed.
The CLOCKFAIL NMI is triggered to both the master and control subsystems. Since this NMI is enabled
by default on power up, it makes it necessary for boot ROM to handle this NMI. Refer to the
Boot ROM
chapter of this document for more details on how boot ROM handles this NMI.
1.5.3.1.2 External GPIO Input Signal is Requesting an NMI
The NMI signal is the alternate function for GPIO port pin, PB7. The alternate function must be enabled in
the GPIO register for the signal to be used as an interrupt, as described in the
GPIOs
chapter of this
document. Note that enabling the NMI alternate function requires the use of the GPIO lock and commit
function. The NMI signal is active high and asserts the enabled NMI signal above VIH to initiate the NMI
interrupt sequence.
Since this NMI is enabled by default on power-up, it is necessary for boot ROM to handle this NMI. The
M-Boot ROM does not configure GPIO PB7 for this NMI function on power-up, so it is not possible for this
NMI to occur while boot ROM is executing after a POR or XRS reset. However, the user application can
configure PB7 for NMI operation, give a warm reset, and execute through boot ROM. In which case this
NMI could occur while M-Boot ROM is executing. However, the boot ROM simply ignores this NMI by
clearing the required NMI flags and continues the boot process. Refer to the
Boot ROM
chapter for more
details.
1.5.3.1.3 Error Condition Generated on PIE NMI Vector Fetch in the Control Subsystem
Please refer to
for more details on how this NMI can be generated.
This NMI is enabled by default on power up and the user cannot disable this NMI. Please refer to the
Boot
ROM
chapter for more details on how boot ROM handles this NMI.
1.5.3.1.4 CNMIWD Timed Out and Issued a Reset to C28 CPU
The Cortex-M3 CPU on the master subsystem can detect if the control subsystem is reset by CNMIWD
using this NMI. The control subsystem is not held in reset when CNMIWD causes a reset, and will reset
and continue executing C-Boot ROM. However, the master subsystem can choose to reset the control
subsystem and hold the control subsystem in reset using the CRESCNF register. The master subsystem
will only know that the control subsystem was reset because it was not able to handle an NMI. It will not
know specific details on which NMI was unserviced and why, but considering any NMI on the control
subsystem is serious, effective action can be taken by the user on the master subsystem.
This NMI is enabled by default on the master subsystem. Refer to the
Boot ROM
chapter on how boot
ROM handles this NMI if it occurrs during the execution time of boot ROM.
1.5.3.1.5 ACIBERR NMI
This NMI is disabled by default and the user can enable this NMI by setting the ACIBERRE bit in the
MNMICFG register. However, even when this NMI is disabled (ACIBERRE bit in MNMICFG register is
"0"), if the error condition that triggers this NMI occurs, the ACIBERR bit is set in the MNMIFLG register.
This error is generated if a stuck condition is detected on the ACIB INTS or READY signals.