Functional Description
124
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Cortex-M4 Peripherals
When the processor enters the ISR, it automatically removes the pending state from the interrupt. For
more information, see
. 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. As a result, the peripheral can hold the interrupt signal asserted until it no longer needs
servicing.
2.2.2.2
Hardware and Software Control of Interrupts
The Cortex-M4 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, or to the Software Trigger
Interrupt (SWTRIG) register to make a Software-Generated Interrupt pending. For more information,
see the INT bit in the PEND0 register on
or SWTRIG on
A pending interrupt remains pending until one of the following:
•
The processor enters the ISR for the interrupt, changing 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.
–
For a pulse interrupt, the NVIC continues to monitor the interrupt signal, and if this is pulsed the
state of the interrupt changes to pending and active. In this case, when the processor returns from
the ISR the state of the interrupt changes to pending, which might cause the processor to
immediately re-enter the ISR.
If the interrupt signal is not pulsed while the processor is in the ISR, when the processor returns
from the ISR the state of the interrupt changes to inactive.
•
Software writes to the corresponding interrupt clear-pending register bit.
–
For a level-sensitive interrupt, if the interrupt signal is still asserted, the state of the interrupt does
not change. Otherwise, the state of the interrupt changes to inactive.
–
For a pulse interrupt, the state of the interrupt changes to inactive, if the state was pending or to
active, if the state was active and pending.
2.2.3 System Control Block (SCB)
The System Control Block (SCB) provides system implementation information and system control,
including configuration, control, and reporting of the system exceptions.
2.2.4 Memory Protection Unit (MPU)
This section describes the Memory protection unit (MPU). The MPU divides the memory map into a
number of regions and defines the location, size, access permissions, and memory attributes of each
region. The MPU supports independent attribute settings for each region, overlapping regions, and export
of memory attributes to the system.
The memory attributes affect the behavior of memory accesses to the region. The Cortex-M4 MPU defines
eight separate memory regions, 0 to 7, and a background region.
When memory regions overlap, a memory access is affected by the attributes of the region with the
highest number. For example, the attributes for region 7 take precedence over the attributes of any region
that overlaps region 7.
The background region has the same memory access attributes as the default memory map, but is
accessible from privileged software only.
The Cortex-M4 MPU memory map is unified, meaning that instruction accesses and data accesses have
the same region settings.