R01UH0823EJ0100 Rev.1.00
Page 302 of 1823
Jul 31, 2019
RX23W Group
15. Interrupt Controller (ICUb)
15.5
Non-maskable Interrupt Operation
There are six types of non-maskable interrupt: the NMI pin interrupt, oscillation stop detection interrupt, WDT
underflow/refresh error, IWDT underflow/refresh error, voltage monitoring 1 interrupt, and VBATT voltage monitoring
interrupt. Non-maskable interrupts are only usable as interrupts for the CPU; that is, they are not capable of DTC or
DMAC trigger. Non-maskable interrupts take precedence over all interrupts, including the fast interrupt.
Non-maskable interrupt requests are accepted regardless of the states of the I (interrupt enable) bit and IPL[3:0]
(processor interrupt priority level) bits in the PSW of the CPU. The current states of the non-maskable interrupts can be
checked in the non-maskable interrupt status register (NMISR).
Confirm that all bits in the NMISR have returned to 0 from within the handler for the non-maskable interrupt, before
ending the handler.
Non-maskable interrupts are disabled by default. If a system is to use non-maskable interrupts, the following procedure
must be followed at the beginning of program processing.
Non-maskable interrupt usage procedure:
1. Set the stack pointer (SP).
2. To use the NMI pin, clear the NMIFLTE.NFLTEN bit to 0 (digital filter disabled).
3. To use the NMI pin, set the digital filter sampling clock with the NMIFLTC.NFCLKSEL[1:0] bits.
4. To use the NMI pin, set the NMI pin detection sense with the NMICR.NMIMD bit.
5. To use the NMI pin, write 1 to the NMICLR.NMICLR bit to clear the NMISR.NMIST flag to 0.
6. To use the NMI pin, set the NMIFLTE.NFLTEN bit to 1 (digital filter enabled).
7. Enable the non-maskable interrupt by writing 1 to the corresponding bit in the non-maskable interrupt enable
register (NMIER).
Note 1. To use the digital filter function, settings must be made beforehand.
After 1 is written to the NMIER register, subsequent write access to the NMIEN bit in NMIER is ignored. The NMI
interrupt cannot be disabled. It can be disabled only by a reset.
For the flow of non-maskable interrupt processing, see
section 14, Exception Handling
.
Writing 1 to the NMICLR.NMICLR bit clears the NMI status flag (NMISR.NMIST) to 0.
Writing 1 to the NMICLR.OSTCLR bit clears the oscillation stop detection interrupt status flag (NMISR.OSTST) to 0.
Writing 1 to the NMICLR.WDTCLR bit clears the WDT underflow/refresh error status flag (NMISR.WDTST) to 0.
Writing 1 to the NMICLR.IWDTCLR bit clears the IWDT underflow/refresh error status flag (NMISR.IWDTST) to 0.
Writing 1 to the NMICLR.LVD1CLR bit clears the voltage monitoring 1 interrupt status flag (NMISR.LVD1ST) to 0.
Writing 1 to the NMICLR.VBATCLR bit clears the VBATT voltage monitoring interrupt status flag (NMISR.VBATST)
to 0.