12. Nested vectored interrupt controller (NVIC)

12.1 Main features

The NVIC and the processor core interface are closely coupled, which enables low-latency interrupt processing and efficient processing of late arriving interrupts.

All interrupts including the core exceptions are managed by the NVIC. For more information on exceptions and NVIC programming, refer to the programming manual PM0223.

12.2 SysTick calibration value register

The SysTick calibration value is set to 1000, which gives a reference time base of 1 ms with the SysTick clock set to 1 MHz.

12.3 Interrupt and exception vectors

Table 61 is the vector table. Information pertaining to a peripheral only applies to devices containing that peripheral.

Table 61. Vector table (1)

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000_0000
--3fixedResetReset0x0000_0004
--2fixedNMI_HandlerNon maskable interrupt. The SRAM parity err., flash memory ECC double err., HSE CSS and LSE CSS are linked to the NMI vector.0x0000_0008
--1fixedHardFault_HandlerAll class of fault0x0000_000C
----Reserved0x0000_0010
0x0000_0014
0x0000_0018
0x0000_001C
0x0000_0020
0x0000_0024
0x0000_0028
-3settableSVC_HandlerSystem service call via SVC instruction0x0000_002C
Table 61. Vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000_0030
0x0000_0034
-5settablePendSV_HandlerPendable request for system service0x0000_0038
-6settableSysTick_HandlerSystem tick timer0x0000_003C
07settableWWDGWindow watchdog interrupt0x0000_0040
18settablePVD / PVMPower voltage detector interrupt (EXTI line 16) and VDDIO2 power voltage monitor interrupt (EXTI line 34)0x0000_0044
29settableRTC / TAMPRTC and TAMP interrupts (combined EXTI lines 19 and 21)0x0000_0048
310settableFLASHFlash memory global interrupt0x0000_004C
411settableRCC / CRSRCC and CRS global interrupt0x0000_0050
512settableEXTI0_1EXTI line 0 and 1 interrupt0x0000_0054
613settableEXTI2_3EXTI line 2 and 3 interrupt0x0000_0058
714settableEXTI4_15EXTI line 4 to 15 interrupt0x0000_005C
815settableUCPD1 / UCPD2 / USBUCPD and USB global interrupt (combined with EXTI lines 32, 33, and 36)0x0000_0060
916settableDMA1_Channel1DMA1 channel 1 interrupt0x0000_0064
1017settableDMA1_Channel2_3DMA1 channel 2 and 3 interrupts0x0000_0068
1118settableDMA1_Channel4_5_6_7 / DMAMUX / DMA2_Channel1_2_3_4_5DMA1 channel 4, 5, 6, 7, DMAMUX, DMA2 channel 1, 2, 3, 4, 5 interrupts0x0000_006C
1219settableADC / COMPADC and COMP interrupts (ADC combined with EXTI 17 and 18)0x0000_0070
1320settableTIM1_BRK_UP_TRG_COMTIM1 break, update, trigger and commutation interrupts0x0000_0074
1421settableTIM1_CCTIM1 Capture Compare interrupt0x0000_0078
1522settableTIM2TIM2 global interrupt0x0000_007C
1623settableTIM3 / TIM4TIM3 global interrupt0x0000_0080
1724settableTIM6 / DAC / LPTIM1TIM6, LPTIM1 and DAC global interrupt0x0000_0084
1825settableTIM7 / LPTIM2TIM7 and LPTIM2 global interrupt0x0000_0088
1926settableTIM14TIM14 global interrupt0x0000_008C
2027settableTIM15TIM15 global interrupt0x0000_0090
2128settableTIM16 / FDCAN_IT0TIM16 and FDCAN_IT0 global interrupt0x0000_0094
Table 61. Vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
2229settableTIM17 / FDCAN_IT1TIM17 and FDCAN_IT1 global interrupt0x0000_0098
2330settableI2C1I2C1 global interrupt (combined with EXTI 23)0x0000_009C
2431settableI2C2 / I2C3I2C2 and I2C3 global interrupt0x0000_00A0
2532settableSPI1SPI1 global interrupt0x0000_00A4
2633settableSPI2 / SPI3SPI2 global interrupt0x0000_00A8
2734settableUSART1USART1 global interrupt (combined with EXTI 25)0x0000_00AC
2835settableUSART2 / LPUART2USART2 and LPUART2 global interrupt (combined with EXTI 26)0x0000_00B0
2936settableUSART3 / USART4 /
USART5 / USART6 /
LPUART1
USART3/4/5/6 and LPUART1 global interrupt (combined with EXTI 28)0x0000_00B4
3037settableCECCEC global interrupt (combined with EXTI 27)0x0000_00B8
3138settableAES / RNGAES and RNG global interrupts0x0000_00BC

1. The grayed cells correspond to the Cortex ® -M0+ system exceptions.