SLAAEI9 December 2023 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1519 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3519 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1228
The MSPM0 and STM8 both register and map interrupt and exception vectors depending on the device’s available peripherals. A summary and comparison of the interrupt vectors for each family of devices is included in Table 3-10.
Features | STM8L & STM8S | MSPM0L & MSPM0C |
---|---|---|
Interrupt Types | Peripheral interrupts: determined by the particular devices | Peripheral interrupts: NVIC of MSPM0L supports up to 13 native peripheral interrupt vectorsNVIC of MSPM0C supports up to 10 native peripheral interrupt vectors(2) |
External interrupts: STM8L value line has 11 vectorsSTM8L101x has 10 vectorsSTM8S has 5 vectors(1) | ||
Non-maskable interrupts: RESET, TRAP (software interrupt), TLI (top level hardware interrupt)(3) | Reset, Hard Fault, SVCall, PendSV, SysTick | |
NMI: software trigger, hardware error signal from SYSCTL | ||
Priority Level | The hardware priority level: IRQ number of interrupt mapping | The default priority level: NVIC Number(4) |
Non-maskable interrupts are considered as having the highest software priority | System exceptions (Reset, NMI, Hard Fault) have fixed priority levels of -3, -2, and -1 | |
The maskable interrupts have 4 software priority levels: 0 (main), 1, 2, and 3 (software priority disabled) | The peripheral interrupts have 4 programmable priority levels: 0, 64, 128, 192 | |
Priority Set | ITC_SPRx register: used to define the software priority of each interrupt vector(5)CCR register: used to load the software priority of the current interrupt request automatically(6) | IPRx registers in the NVIC: used to set the peripheral interrupt priority level |
Interrupt mask | The corresponding interrupt enable bit is set in the peripheral control register | IMASK register in the peripheral side: used to configure which interrupt conditions propagate into an event(7) |
ISER and ICER register in the NVIC: used to enable or disable the peripheral interrupts |
For MSPM0 devices, a lower value of priority for an interrupt or exception is given higher precedence over interrupts with a higher priority value. When the processor is currently handling an interrupt, the processor can only be preempted by an interrupt with high priority. For STM8 devices, a higher value of priority for an interrupt or exception is given higher precedence over interrupts with a lower priority value. And STM8 devices feature two interrupt management modes: concurrent mode and nested mode. For details, see the device-specific data sheet.