Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
99
3.7.1.9
Software Trigger Interrupt Register
Write to the STIR to generate an interrupt from software. See the register summary in
for the STIR attributes.
When the USERSETMPEND bit in the SCR is set to 1, unprivileged software can access the STIR, see
Note:
Only privileged software can enable unprivileged access to the STIR.
The bit assignments are:
Figure 29 •
IABR Register Bit Assignments
3.7.1.10 Level-sensitive and Pulse Interrupts
The processor supports both level-sensitive and pulse interrupts. Pulse interrupts are also described as
edge-triggered interrupts.
A level-sensitive interrupt is held asserted until the peripheral de-asserts the interrupt signal. Typically
this happens because the ISR accesses the peripheral, causing it to clear the interrupt request. A pulse
interrupt is an interrupt signal sampled synchronously on the rising edge of the processor clock. To
ensure the NVIC detects the interrupt, the peripheral must assert the interrupt signal for at least one
clock cycle, during which the NVIC detects the pulse and latches the interrupt.
When the processor enters the ISR, it automatically removes the pending state from the interrupt, see
Hardware and Software Control of Interrupts,
page 100. For a level-sensitive interrupt, if the signal is not
deasserted before the processor returns from the ISR, the interrupt becomes pending again, and the
processor must execute its ISR again. This means that the peripheral can hold the interrupt signal
asserted until it no longer needs servicing.
See <reference required> for details of which interrupts are level-sensitive and which are pulsed.
3.7.1.10.1 Hardware and Software Control of Interrupts
The Cortex-M3 processor latches all interrupts. A peripheral interrupt becomes pending for one of the
following reasons:
•
the NVIC detects that the interrupt signal is HIGH and the interrupt is not active
•
the NVIC detects a rising edge on the interrupt signal
•
software writes to the corresponding interrupt set-pending register bit, see
page 97, or to the STIR to make an interrupt pending, see
A pending interrupt remains pending until one of the following occurs:
•
The processor enters the ISR for the interrupt. This changes the state of the interrupt from pending
to active. Then:
•
For a level-sensitive interrupt, when the processor returns from the ISR, the NVIC samples the
interrupt signal. If the signal is asserted, the state of the interrupt changes to pending, which
might cause the processor to immediately re-enter the ISR. Otherwise, the state of the interrupt
changes to inactive.
Table 48 •
STIR Bit Assignments
Bits
Field
Function
[31:9]
Reserved.
[8:0]
INTID
Interrupt ID of the interrupt to trigger, in the range 0-239. For example, a value
of 0x03 specifies interrupt IRQ3.
9
31
0
Reserved
INTID
8