Interrupts
51
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
System Resets, Interrupts, and Operating Modes, System Control Module
(SYS)
NOTE:
The types of interrupt sources available and their respective priorities change from device to
device. See the device-specific data sheet for all interrupt sources and their priorities.
1.3.1 (Non)Maskable Interrupts (NMIs)
In general, NMIs are not masked by the general interrupt enable (GIE) bit. Two levels of NMIs are
supported — system NMI (SNMI) and user NMI (UNMI). The NMI sources are enabled by individual
interrupt enable bits. When an NMI interrupt is accepted, other NMIs of that level are automatically
disabled to prevent nesting of consecutive NMIs of the same level. Program execution begins at the
address stored in the NMI vector as shown in
. To allow software backward compatibility to
users of earlier MSP430 families, the software may, but does not need to, reenable NMI sources. The
block diagram for NMI sources is shown in
A UNMI interrupt can be generated by following sources:
•
An edge on the RST/NMI pin when configured in NMI mode
•
An oscillator fault occurs
A SNMI interrupt can be generated by following sources:
•
FRAM errors (see the
chapter for details)
•
Vacant memory access
•
JTAG mailbox (JMB) event
NOTE:
The number and types of NMI sources may vary from device to device. See the device-
specific data sheet for all NMI sources available.
1.3.2 SNMI Timing
Consecutive SNMIs that occur at a higher rate than they can be handled (interrupt storm) allow the main
program to execute one instruction after the SNMI handler is finished with a RETI instruction, before the
SNMI handler is executed again. Consecutive SNMIs are not interrupted by UNMIs in this case. This
avoids a blocking behavior on high SNMI rates.
1.3.3 Maskable Interrupts
Maskable interrupts are caused by peripherals with interrupt capability. Each maskable interrupt source
can be disabled individually by an interrupt enable bit, or all maskable interrupts can be disabled by the
general interrupt enable (GIE) bit in the status register (SR).
Each individual peripheral interrupt is discussed in its respective module chapter in this manual.