15. Nested vectored interrupt controller (NVIC)

15.1 NVIC 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 PM0214 programming manual for Cortex™-M4 products.

15.2 SysTick calibration value register

The SysTick calibration value is set to 0x4000 3A97, which gives a reference time base of 1 ms with the SysTick clock set to 15 MHz (max \( f_{HCLK}/8 \) ).

15.3 Interrupt and exception vectors

The gray rows in the following tables describe the vectors without specific position.

Table 76. STM32L4Rxxx and STM32L4Sxxx vector table

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000 0000
--3fixedResetReset0x0000 0004
--2fixedNMINon maskable interrupt. The RCC CSS on HSE, Flash ECCD and SRAM parity error are linked to NMI vector.0x0000 0008
--1fixedHardFaultAll classes of fault0x0000 000C
-0settableMemManageMemory management0x0000 0010
-1settableBusFaultPre-fetch fault, memory access fault0x0000 0014
-2settableUsageFaultUndefined instruction or illegal state0x0000 0018
----Reserved0x0000 001C -
0x0000 0028
-3settableSVCallSystem service call via SWI instruction0x0000 002C
-4settableDebug MonitorDebug Monitor0x0000 0030
----Reserved0x0000 0034
-5settablePendSVPendable request for system service0x0000 0038
-6settableSysTickSystem tick timer0x0000 003C
07settableWWDGWindow Watchdog interrupt0x0000 0040
18settablePVD_PVMPVD/PVM1/PVM2/PVM3/PVM4 through EXTI lines 16/35/36/37/38 interrupts0x0000 0044
29settableRTC_TAMP_STAMP
/CSS_LSE
RTC Tamper or TimeStamp /CSS on LSE through EXTI line 19 interrupts0x0000 0048
310settableRTC_WKUPRTC Wakeup timer through EXTI line 20 interrupt0x0000 004C
411settableFLASHFlash global interrupt0x0000 0050
512settableRCCRCC global interrupt0x0000 0054
613settableEXTI0EXTI Line0 interrupt0x0000 0058
714settableEXTI1EXTI Line1 interrupt0x0000 005C
815settableEXTI2EXTI Line2 interrupt0x0000 0060
916settableEXTI3EXTI Line3 interrupt0x0000 0064
1017settableEXTI4EXTI Line4 interrupt0x0000 0068
1118settableDMA1_CH1DMA1 channel 1 interrupt0x0000 006C

Table 76. STM32L4Rxxx and STM32L4Sxxx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
1219settableDMA1_CH2DMA1 channel 2 interrupt0x0000 0070
1320settableDMA1_CH3DMA1 channel 3 interrupt0x0000 0074
1421settableDMA1_CH4DMA1 channel 4 interrupt0x0000 0078
1522settableDMA1_CH5DMA1 channel 5 interrupt0x0000 007C
1623settableDMA1_CH6DMA1 channel 6 interrupt0x0000 0080
1724settableDMA1_CH7DMA1 channel 7 interrupt0x0000 0084
1825settableADC1ADC1 global interrupt0x0000 0088
1926settableCAN1_TXCAN1_TX interrupts0x0000 008C
2027settableCAN1_RX0CAN1_RX0 interrupts0x0000 0090
2128settableCAN1_RX1CAN1_RX1 interrupt0x0000 0094
2229settableCAN1_SCECAN1_SCE interrupt0x0000 0098
2330settableEXTI9_5EXTI Line[9:5] interrupts0x0000 009C
2431settableTIM1_BRK/TIM15TIM1 Break/TIM15 global interrupts0x0000 00A0
2532settableTIM1_UP/TIM16TIM1 Update/TIM16 global interrupts0x0000 00A4
2633settableTIM1_TRG_COM
/TIM17
TIM1 trigger and commutation/TIM17
interrupts
0x0000 00A8
2734settableTIM1_CCTIM1 capture compare interrupt0x0000 00AC
2835settableTIM2TIM2 global interrupt0x0000 00B0
2936settableTIM3TIM3 global interrupt0x0000 00B4
3037settableTIM4TIM4 global interrupt0x0000 00B8
3138settableI2C1_EVI2C1 event interrupt0x0000 00BC
3239settableI2C1_ERI2C1 error interrupt0x0000 00C0
3340settableI2C2_EVI2C2 event interrupt0x0000 00C4
3441settableI2C2_ERI2C2 error interrupt0x0000 00C8
3542settableSPI1SPI1 global interrupt0x0000 00CC
3643settableSPI2SPI2 global interrupt0x0000 00D0
3744settableUSART1USART1 global interrupt0x0000 00D4
3845settableUSART2USART2 global interrupt0x0000 00D8
3946settableUSART3USART3 global interrupt0x0000 00DC
4047settableEXTI15_10EXTI Line[15:10] interrupts0x0000 00E0
4148settableRTC_ALARMRTC alarms through EXTI line 18 interrupts0x0000 00E4
4249settableDFSDM1_FLT3DFSDM1_FLT3 global interrupt0x0000 00E8
4350settableTIM8_BRKTIM8 Break interrupt0x0000 00EC

Table 76. STM32L4Rxxx and STM32L4Sxxx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
4451settableTIM8_UPTIM8 Update interrupt0x0000 00F0
4552settableTIM8_TRG_COMTIM8 trigger and commutation interrupt0x0000 00F4
4653settableTIM8_CCTIM8 capture compare interrupt0x0000 00F8
4754settableReservedReserved0x0000 00FC
4855settableFMCFMC global interrupt0x0000 0100
4956settableSDMMC1SDMMC1 global interrupt0x0000 0104
5057settableTIM5TIM5 global interrupt0x0000 0108
5158settableSPI3SPI3 global interrupt0x0000 010C
5259settableUART4UART4 global interrupt0x0000 0110
5360settableUART5UART5 global interrupt0x0000 0114
5461settableTIM6_DACUNDERTIM6 global and DAC1 underrun interrupts0x0000 0118
5562settableTIM7TIM7 global interrupt0x0000 011C
5663settableDMA2_CH1DMA2 channel 1 interrupt0x0000 0120
5764settableDMA2_CH2DMA2 channel 2 interrupt0x0000 0124
5865settableDMA2_CH3DMA2 channel 3 interrupt0x0000 0128
5966settableDMA2_CH4DMA2 channel 4 interrupt0x0000 012C
6067settableDMA2_CH5DMA2 channel 5 interrupt0x0000 0130
6168settableDFSDM1_FLT0DFSDM1_FLT0 global interrupt0x0000 0134
6269settableDFSDM1_FLT1DFSDM1_FLT1 global interrupt0x0000 0138
6370settableDFSDM1_FLT2DFSDM1_FLT2 global interrupt0x0000 013C
6471settableCOMPCOMP1/COMP2 through EXTI lines 21/22 interrupts0x0000 0140
6572settableLPTIM1LPTIM1 global interrupt0x0000 0144
6673settableLPTIM2LPTIM2 global interrupt0x0000 0148
6774settableOTG_FSOTG_FS global interrupt0x0000 014C
6875settableDMA2_CH6DMA2 channel 6 interrupt0x0000 0150
6976settableDMA2_CH7DMA2 channel 7 interrupt0x0000 0154
7077settableLPUART1LPUART1 global interrupt0x0000 0158
7178settableOCTOSPI1OCTOSPI1 global interrupt0x0000 015C
7279settableI2C3_EVI2C3 event interrupt0x0000 0160
7380settableI2C3_ERI2C3 error interrupt0x0000 0164
7481settableSAI1SAI1 global interrupt0x0000 0168
7582settableSAI2SAI2 global interrupt0x0000 016C

Table 76. STM32L4Rxxx and STM32L4Sxxx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
7683settableOCTOSPI2OCTOSPI2 global interrupt0x0000 0170
7784settableTSCTSC global interrupt0x0000 0174
7885settableDSIHSOTDSI global interrupt0x0000 0178
7986settableAESAES global interrupt0x0000 017C
8087settableRNGRNG global interrupt0x0000 0180
8188settableFPUFloating point interrupt0x0000 0184
8289settableHASH and CRSHASH and CRS interrupt0x0000 0188
8390settableI2C4_ERI2C4 error interrupt0x0000 018C
8491settableI2C4_EVI2C4 event interrupt0x0000 0190
8592settableDCMIDCMI global interrupt0x0000 0194
8693settableReservedReserved0x0000 0198
8794settableReservedReserved0x0000 019C
8895settableReservedReserved0x0000 01A0
8996settableReservedReserved0x0000 01A4
9097settableDMA2DDMA2D global interrupt0x0000 01A8
9198settableLCD-TFTLTDC global interrupt0x0000 019C
9299settableLCD-TFT_ERLTDC global error interrupt0x0000 01A0
93100settableGFXMMUGFXMMU global error interrupt0x0000 01A4
94101settableDMAMUX1_OVRDMAMUX Overrun interrupt0x0000 01A8

Table 77. STM32L4P5xx and STM32Q5xx vector table

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000 0000
--3fixedResetReset0x0000 0004
--2fixedNMINon maskable interrupt. The RCC CSS on HSE, Flash ECCD and SRAM parity error are linked to NMI vector.0x0000 0008

Table 77. STM32L4P5xx and STM32Q5xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
--1fixedHardFaultAll classes of fault0x0000 000C
-0settableMemManageMemory management0x0000 0010
-1settableBusFaultPre-fetch fault, memory access fault0x0000 0014
-2settableUsageFaultUndefined instruction or illegal state0x0000 0018
----Reserved0x0000 001C -
0x0000 0028
-3settableSVCallSystem service call via SWI instruction0x0000 002C
-4settableDebug MonitorDebug Monitor0x0000 0030
----Reserved0x0000 0034
-5settablePendSVPendable request for system service0x0000 0038
-6settableSysTickSystem tick timer0x0000 003C
07settableWWDGWindow Watchdog interrupt0x0000 0040
18settablePVD_PVMPVD/PVM1/PVM2/PVM3/PVM4 through
EXTI lines 16/35/36/37/38 interrupts
0x0000 0044
29settableRTC_TAMP_STAMP
/CSS_LSE
RTC Tamper or TimeStamp /CSS on LSE
through EXTI line 19 interrupts
0x0000 0048
310settableRTC_WKUPRTC Wakeup timer through EXTI line 20
interrupt
0x0000 004C
411settableFLASHFlash global interrupt0x0000 0050
512settableRCCRCC global interrupt0x0000 0054
613settableEXTI0EXTI Line0 interrupt0x0000 0058
714settableEXTI1EXTI Line1 interrupt0x0000 005C
815settableEXTI2EXTI Line2 interrupt0x0000 0060
916settableEXTI3EXTI Line3 interrupt0x0000 0064
1017settableEXTI4EXTI Line4 interrupt0x0000 0068
1118settableDMA1_CH1DMA1 channel 1 interrupt0x0000 006C
1219settableDMA1_CH2DMA1 channel 2 interrupt0x0000 0070
1320settableDMA1_CH3DMA1 channel 3 interrupt0x0000 0074
1421settableDMA1_CH4DMA1 channel 4 interrupt0x0000 0078
1522settableDMA1_CH5DMA1 channel 5 interrupt0x0000 007C
1623settableDMA1_CH6DMA1 channel 6 interrupt0x0000 0080

Table 77. STM32L4P5xx and STM32Q5xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
1724settableDMA1_CH7DMA1 channel 7 interrupt0x0000 0084
1825settableADC1_2ADC1 and ADC2 global interrupt0x0000 0088
1926settableCAN1_TXCAN1_TX interrupts0x0000 008C
2027settableCAN1_RX0CAN1_RX0 interrupts0x0000 0090
2128settableCAN1_RX1CAN1_RX1 interrupt0x0000 0094
2229settableCAN1_SCECAN1_SCE interrupt0x0000 0098
2330settableEXTI9_5EXTI Line[9:5] interrupts0x0000 009C
2431settableTIM1_BRK/TIM15TIM1 Break/TIM15 global interrupts0x0000 00A0
2532settableTIM1_UP/TIM16TIM1 Update/TIM16 global interrupts0x0000 00A4
2633settableTIM1_TRG_COM/TIM17TIM1 trigger and commutation/TIM17 interrupts0x0000 00A8
2734settableTIM1_CCTIM1 capture compare interrupt0x0000 00AC
2835settableTIM2TIM2 global interrupt0x0000 00B0
2936settableTIM3TIM3 global interrupt0x0000 00B4
3037settableTIM4TIM4 global interrupt0x0000 00B8
3138settableI2C1_EVI2C1 event interrupt0x0000 00BC
3239settableI2C1_ERI2C1 error interrupt0x0000 00C0
3340settableI2C2_EVI2C2 event interrupt0x0000 00C4
3441settableI2C2_ERI2C2 error interrupt0x0000 00C8
3542settableSPI1SPI1 global interrupt0x0000 00CC
3643settableSPI2SPI2 global interrupt0x0000 00D0
3744settableUSART1USART1 global interrupt0x0000 00D4
3845settableUSART2USART2 global interrupt0x0000 00D8
3946settableUSART3USART3 global interrupt0x0000 00DC
4047settableEXTI15_10EXTI Line[15:10] interrupts0x0000 00E0
4148settableRTC_ALARM_SSRURTC alarms or SSRU through EXTI line 18 interrupts0x0000 00E4
4249settableReservedReserved0x0000 00E8
4350settableTIM8_BRKTIM8 Break interrupt0x0000 00EC
4451settableTIM8_UPTIM8 Update interrupt0x0000 00F0
4552settableTIM8_TRG_COMTIM8 trigger and commutation interrupt0x0000 00F4

Table 77. STM32L4P5xx and STM32Q5xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
4653settableTIM8_CCTIM8 capture compare interrupt0x0000 00F8
4754settableSDMMC2SDMMC2 global interrupt0x0000 00FC
4855settableFMCFMC global interrupt0x0000 0100
4956settableSDMMC1SDMMC1 global interrupt0x0000 0104
5057settableTIM5TIM5 global interrupt0x0000 0108
5158settableSPI3SPI3 global interrupt0x0000 010C
5259settableUART4UART4 global interrupt0x0000 0110
5360settableUART5UART5 global interrupt0x0000 0114
5461settableTIM6_DACUNDERTIM6 global and DAC12 underrun interrupts0x0000 0118
5562settableTIM7TIM7 global interrupt0x0000 011C
5663settableDMA2_CH1DMA2 channel 1 interrupt0x0000 0120
5764settableDMA2_CH2DMA2 channel 2 interrupt0x0000 0124
5865settableDMA2_CH3DMA2 channel 3 interrupt0x0000 0128
5966settableDMA2_CH4DMA2 channel 4 interrupt0x0000 012C
6067settableDMA2_CH5DMA2 channel 5 interrupt0x0000 0130
6168settableDFSDM1_FLT0DFSDM1 Filter 0 global interrupt0x0000 0134
6269settableDFSDM1_FLT1DFSDM1 Filter 1 global interrupt0x0000 0138
6370settableReservedReserved0x0000 013C
6471settableCOMPCOMP1/COMP2 through EXTI lines 21/22 interrupts0x0000 0140
6572settableLPTIM1LPTIM1 global interrupt0x0000 0144
6673settableLPTIM2LPTIM2 global interrupt0x0000 0148
6774settableOTG_FSOTG_FS global interrupt0x0000 014C
6875settableDMA2_CH6DMA2 channel 6 interrupt0x0000 0150
6976settableDMA2_CH7DMA2 channel 7 interrupt0x0000 0154
7077settableLPUART1LPUART1 global interrupt0x0000 0158
7178settableOCTOSPI1OCTOSPI1 global interrupt0x0000 015C
7279settableI2C3_EVI2C3 event interrupt0x0000 0160
7380settableI2C3_ERI2C3 error interrupt0x0000 0164
7481settableSAI1SAI1 global interrupt0x0000 0168

Table 77. STM32L4P5xx and STM32Q5xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
7582settableSAI2SAI2 global interrupt0x0000 016C
7683settableOCTOSPI2OCTOSPI2 global interrupt0x0000 0170
7784settableTSCTSC global interrupt0x0000 0174
7885settableReservedReserved0x0000 0178
7986settableAESAES global interrupt0x0000 017C
8087settableRNGRNG global interrupt0x0000 0180
8188settableFPUFloating point interrupt0x0000 0184
8289settableHASH_CRSHASH and CRS interrupt0x0000 0188
8390settableI2C4_ERI2C4 error interrupt0x0000 018C
8491settableI2C4_EVI2C4 event interrupt0x0000 0190
8592settableDCMI_PSSIDCMI_PSSI global interrupt0x0000 0194
8693settablePKAPKA global interrupt0x0000 0198
8794settableReservedReserved0x0000 019C
8895settableReservedReserved0x0000 01A0
8996settableReservedReserved0x0000 01A4
9097settableDMA2DDMA2D global interrupt0x0000 0198
9198settableLCD-TFTLTDC global interrupt0x0000 019C
9299settableLCD-TFTLTDC global error interrupt0x0000 01A0
93100settableReservedReserved0x0000 01A4
94101settableDMAMUX_OVRDMAMUX Overrun interrupt0x0000 01A8