SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
MSPM0 devices share a common interrupt and exception mapping across devices. Specific devices can not implement all interrupt sources, but in the event that a peripheral is common to two devices, it will have the same mapping to the NVIC on both devices.
See the device-specific data sheet for a complete list of which interrupts a particular device supports.
The Arm Cortex-M0+ interrupt vector table is 48 words long (192 bytes). The complete platform interrupt and exception table with vector table addresses is given in Table 3-3.
Exception Number | NVIC Number(1) | Priority Group | Exception or Interrupt | Vector Table Address | Vector Description |
---|---|---|---|---|---|
- | - | - | - | 0x0000.0000 | Stack pointer |
1 | - | -3 | Reset | 0x0000.0004 | Reset vector |
2 | - | -2 | NMI | 0x0000.0008 | NMI handler |
3 | - | -1 | Hard fault | 0x0000.000C | Hard fault handler |
4 | - | - | Reserved | 0x0000.0010 | - |
5 | - | - | Reserved | 0x0000.0014 | - |
6 | - | - | Reserved | 0x0000.0018 | - |
7 | - | - | Reserved | 0x0000.001C | - |
8 | - | - | Reserved | 0x0000.0020 | - |
9 | - | - | Reserved | 0x0000.0024 | - |
10 | - | - | Reserved | 0x0000.0028 | - |
11 | - | Selectable | SVCall | 0x0000.002C | Supervisor call handler |
12 | - | - | Reserved | 0x0000.0030 | - |
13 | - | - | Reserved | 0x0000.0034 | - |
14 | - | Selectable | PendSV | 0x0000.0038 | Pended supervisor handler |
15 | - | Selectable | SysTick | 0x0000.003C | SysTick handler |
16 | 0 | Selectable | INT_GROUP0 | 0x0000.0040 | Combined peripheral group 0 handler (see INT_GROUP0 below) |
17 | 1 | Selectable | INT_GROUP1 | 0x0000.0044 | Combined peripheral group 1 handler (see INT_GROUP1 below) |
18 | 2 | Selectable | TIMG8 | 0x0000.0048 | Timer TIMG8 interrupt handler |
19 | 3 | Selectable | UART3 | 0x0000.004C | UART3 interrupt handler |
20 | 4 | Selectable | ADC0 | 0x0000.0050 | ADC0 interrupt handler |
21 | 5 | Selectable | ADC1 | 0x0000.0054 | ADC1 interrupt handler |
22 | 6 | Selectable | CANFD0 | 0x0000.0058 | CAN-FD controller interrupt handler |
23 | 7 | Selectable | DAC0 | 0x0000.005C | DAC0 interrupt handler |
24 | 8 | Selectable | Reserved | 0x0000.0060 | |
25 | 9 | Selectable | SPI0 | 0x0000.0064 | SPI0 interrupt handler |
26 | 10 | Selectable | SPI1 | 0x0000.0068 | SPI1 interrupt handler |
27 | 11 | Selectable | Reserved | 0x0000.006C | - |
28 | 12 | Selectable | Reserved | 0x0000.0070 | - |
29 | 13 | Selectable | UART1 | 0x0000.0074 | UART1 interrupt handler |
30 | 14 | Selectable | UART2 | 0x0000.0078 | UART2 interrupt handler |
31 | 15 | Selectable | UART0 | 0x0000.007C | UART0 interrupt handler |
32 | 16 | Selectable | TIMG0 | 0x0000.0080 | Timer TIMG0 interrupt handler |
33 | 17 | Selectable | TIMG6 | 0x0000.0084 | Timer TIMG6 interrupt handler |
34 | 18 | Selectable | TIMA0 | 0x0000.0088 | Timer TIMA0 interrupt handler |
35 | 19 | Selectable | TIMA1 | 0x0000.008C | Timer TIMA1 interrupt handler |
36 | 20 | Selectable | TIMG7 | 0x0000.0090 | Timer TIMG7 interrupt handler |
37 | 21 | Selectable | TIMG12 | 0x0000.0094 | Timer TIMG12 interrupt handler |
38 | 22 | Selectable | Reserved | 0x0000.0098 | - |
39 | 23 | Selectable | Reserved | 0x0000.009C | - |
40 | 24 | Selectable | I2C0 | 0x0000.00A0 | I2C0 interrupt handler |
41 | 25 | Selectable | I2C1 | 0x0000.00A4 | I2C1 interrupt handler |
42 | 26 | Selectable | Reserved | 0x0000.00A8 | - |
43 | 27 | Selectable | Reserved | 0x0000.00AC | - |
44 | 28 | Selectable | AES | 0x0000.00B0 | AES accelerator interrupt handler |
45 | 29 | Selectable | Reserved | 0x0000.00B4 | - |
46 | 30 | Selectable | RTC | 0x0000.00B8 | RTC interrupt handler |
47 | 31 | Selectable | DMA | 0x0000.00BC | DMA interrupt handler |
The CPU implements a non-maskable interrupt, which handles critical interrupts which must be serviced immediately by the processor. The NMI interrupt sources are managed by SYSCTL. See the corresponding NMI information in the SYSCTL section of the PMCU chapter.
The INT_GROUP0 peripheral interrupt group sources an interrupt to NVIC0 (exception 16) if any peripheral in the group has a pending interrupt. The peripheral interrupts mapped to INT_GROUP0 are given in Table 3-4.
Priority | IIDX Index | Interrupt | Description |
---|---|---|---|
0 | 1 | WWDT0 | WWDT0 interrupt handler |
1 | 2 | WWDT1 | WWDT1 interrupt handler |
2 | 3 | DEBUGSS | Debug subsystem interrupt handler |
3 | 4 | FLASHCTL | Flash controller interrupt handler |
4 | 5 | WUC FSUB0 | Generic event subscriber 0 interrupt handler |
5 | 6 | WUC FSUB1 | Generic event subscriber 1 interrupt handler |
6 | 7 | PMCU (SYSCTL) | PMCU (system controller) interrupt handler |
7 | 8 | Reserved | - |
The INT_GROUP1 peripheral interrupt group sources an interrupt to NVIC1 (exception 17) if any peripheral in the group has a pending interrupt. The peripheral interrupts mapped to INT_GROUP1 are given in Table 3-5.
Priority | IIDX Index | Interrupt | Description |
---|---|---|---|
0 | 1 | GPIO0 | GPIO0 interrupt handler |
1 | 2 | GPIO1 | GPIO1 interrupt handler |
2 | 3 | COMP0 | COMP0 interrupt handler |
3 | 4 | COMP1 | COMP1 interrupt handler |
4 | 5 | COMP2 | COMP2 interrupt handler |
5 | 6 | TRNG | TRNG interrupt handler |
6 | 7 | Reserved | - |
7 | 8 | Reserved | - |