14. Nested vectored interrupt controller (NVIC)

14.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.

14.2 SysTick calibration value register

The SysTick calibration value is set to 0x3E8, which gives a reference time base of 1 ms with the SysTick clock set to 125 KHz (1 MHz / 8).

14.3 Interrupt and exception vectors

The gray rows in Table 100 describe the vectors without specific position.

Table 100. STM32G4 series vector table

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000 0000
--3FixedResetReset0x0000 0004
--2FixedNMINon maskable interrupt. SRAM parity err + FLASH ECC err + HSE CSS0x0000 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
-3--System service call via SWI instruction0x0000 002C
-4--Monitor0x0000 0030
----Reserved0x0000 0034
-5SettablePendSVPendable request for system service0x0000 0038
-6SettableSysTickSystem tick timer0x0000 003C
07SettableWWDGWindow Watchdog interrupt0x0000 0040
18SettablePVD_PVMPVD through EXTI line 16 interrupt0x0000 0044
29SettableRTC/TAMP/CSS_LSERTC/TAMP/CSS on LSE through EXTI line 19 interrupt0x0000 0048
310SettableRTC_WKUPRTC wake-up 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
1219SettableDMA1_CH2DMA1 channel 2 interrupt0x0000 0070
1320SettableDMA1_CH3DMA1 channel 3 interrupt0x0000 0074
1421SettableDMA1_CH4DMA1 channel 4 interrupt0x0000 0078

Table 100. STM32G4 series vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
1522SettableDMA1_CH5DMA1 channel 5 interrupt0x0000 007C
1623SettableDMA1_CH6DMA1 channel 6 interrupt0x0000 0080
1724SettableDMA1_CH7DMA1 channel 7 interrupt0x0000 0084
1825SettableADC1_2ADC1 and ADC2 global interrupt0x0000 0088
1926SettableUSB_HPUSB High priority interrupts0x0000 008C
2027SettableUSB_LPUSB Low priority interrupts0x0000 0090
2128SettableFDCAN1_IT0FDCAN1 interrupt 00x0000 0094
2229SettableFDCAN1_IT1FDCAN1 interrupt10x0000 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_DIR/
TIM1_IDX
TIM1 trigger and commutation/TIM17 interrupts/TIM1 Direction Change interrupt/TIM1 Index0x0000 00A8
2734SettableTIM1_CCTIM1 capture compare interrupt0x0000 00AC
2835SettableTIM2TIM2 global interrupt0x0000 00B0
2936SettableTIM3TIM3 global interrupt0x0000 00B4
3037SettableTIM4TIM4 global interrupt0x0000 00B8
3138SettableI2C1_EVI2C1 event interrupt and EXTI line 23 interrupt0x0000 00BC
3239SettableI2C1_ERI2C1 error interrupt0x0000 00C0
3340SettableI2C2_EVI2C2 event interrupt and EXTI line 24 interrupt0x0000 00C4
3441SettableI2C2_ERI2C2 error interrupt0x0000 00C8
3542SettableSPI1SPI1 global interrupt0x0000 00CC
3643SettableSPI2SPI2 global interrupt0x0000 00D0
3744SettableUSART1USART1 global interrupt and EXTI line 250x0000 00D4
3845SettableUSART2USART2 global interrupt and EXTI line 260x0000 00D8
3946SettableUSART3USART3 global interrupt and EXTI line 280x0000 00DC
4047SettableEXTI15_10EXTI line[15:10] interrupts0x0000 00E0
4148SettableRTC_ALARMRTC alarms interrupts0x0000 00E4
4249SettableUSBWakeUPUSB wake-up from suspend (EXTI line 18)0x0000 00E8
4350SettableTIM8_BRK/TIM8_TERR/
TIM8_IERR
TIM8 Break interrupt/TIM8 Transition error/TIM8 Index error0x0000 00EC
4451SettableTIM8_UPTIM8 Update interrupt0x0000 00F0

Table 100. STM32G4 series vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
4552SettableTIM8_TRG_COM/TIM8_DIR/TIM8_IDXTIM8 trigger and commutation interrupt/TIM8 Direction Change interrupt/TIM8 Index0x0000 00F4
4653SettableTIM8_CCTIM8 capture compare interrupt0x0000 00F8
4754SettableADC3ADC3 global interrupt0x0000 00FC
4855SettableFSMCFSMC global interrupt0x0000 0100
4956SettableLPTIM1LPTIM1 global interrupt0x0000 0104
5057SettableTIM5TIM5 global interrupt0x0000 0108
5158SettableSPI3SPI3 global interrupt0x0000 010C
5259SettableUART4UART4 global interrupt and EXTI line 34 interrupts0x0000 0110
5360SettableUART5UART5 global interrupt and EXTI line 35 interrupts0x0000 0114
5461SettableTIM6_DACUNDERTIM6 and DAC1/3 underrun global interrupts0x0000 0118
5562SettableTIM7_DACUNDERTIM7 and DAC2/4 underrun global interrupts0x0000 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
6168SettableADC4ADC4 global interrupt0x0000 0134
6269SettableADC5ADC5 global interrupt0x0000 0138
6370SettableUCPD1 global interruptUCPD1 global interrupt and EXTI line 430x0000 013C
6471SettableCOMP1_2_3COMP1/COMP2/COMP3 through EXTI lines 21/22/29 interrupts0x0000 0140
6572SettableCOMP4_5_6COMP4/COMP5/COMP6 through EXTI lines 30/31/32 interrupts0x0000 0144
6673SettableCOMP7global interrupt COMP7 through EXTI line 330x0000 0148
6774SettableHRTIM_Master_IRQnHRTIM master timer interrupt (hrtim_it1)0x0000 014C
6875SettableHRTIM_TIMA_IRQnHRTIM timer A interrupt (hrtim_it2)0x0000 0150
6976SettableHRTIM_TIMB_IRQnHRTIM timer B interrupt (hrtim_it3)0x0000 0154
7077SettableHRTIM_TIMC_IRQnHRTIM timer C interrupt (hrtim_it4)0x0000 0158
7178SettableHRTIM_TIMD_IRQnHRTIM timer D interrupt (hrtim_it5)0x0000 015C
7279SettableHRTIM_TIME_IRQnHRTIM timer E interrupt (hrtim_it6)0x0000 0160
7380SettableHRTIM_TIM_FLT_IRQnHRTIM fault interrupt (hrtim_it8)0x0000 0164
7481SettableHRTIM_TIMF_IRQnhrtim_it7 / HRTIM timer F interrupt0x0000 0168
7582SettableCRSCRS interrupt0x0000 016C

Table 100. STM32G4 series vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
7683SettableSAISAI0x0000_0170
7784SettableTIM20_BRK/
TIM20_TERR/
TIM20_IERR
TIM20 Break interrupt/TIM20 Transition error/TIM20 Index error0x0000_0174
7885SettableTIM20_UPTIM20 Update interrupt0x0000_0178
7986SettableTIM20_TRG_COM/
TIM20_DIR/TIM20_IDX
TIM20 Trigger and commutation interrupt/TIM20 Direction Change interrupt/TIM20 Index0x0000_017C
8087SettableTIM20_CCTIM20 capture compare interrupt0x0000_0180
8188SettableFPUFloating point interrupt0x0000_0184
8289SettableI2C4_EVI2C4 event interrupt and EXTI line 420x0000_0188
8390SettableI2C4_ERI2C4 error interrupt0x0000_018C
8491SettableSPI4SPI4 global interrupt0x0000_0190
8592SettableAESAES global interrupt0x0000_0194
8693SettableFDCAN2_IT0FDCAN2 Interrupt 00x0000_0198
8794SettableFDCAN2_IT1FDCAN2 Interrupt 10x0000_019C
8895SettableFDCAN3_IT0FDCAN3 Interrupt 00x0000_01A0
8996SettableFDCAN3_IT1FDCAN3 Interrupt 00x0000_01A4
9097SettableRNGRNG global interrupt0x0000_01A8
9198SettableLPUARTLPUART global interrupt0x0000_01AC
9299SettableI2C3_EVI2C3 event and EXTI line 27 interrupts0x0000_01B0
93100SettableI2C3_ERI2C3 error interrupt0x0000_01B4
94101SettableDMAMUX_OVRDMAMUX overrun interrupt0x0000_01B8
95102SettableQUADSPIQUADSPI global interrupt0x0000_01BC
96103SettableDMA1_CH8DMA1 channel 8 interrupt0x0000_01C0
97104SettableDMA2_CH6DMA2 channel 6 interrupt0x0000_01C4
98105SettableDMA2_CH7DMA2 channel 7 interrupt0x0000_01C8
99106SettableDMA2_CH8DMA2 channel 8 interrupt0x0000_01CC
100107SettableCORDICCORDIC interrupt0x0000_01D0
101108SettableFMACFMAC interrupt0x0000_01D4