22. Nested vectored interrupt controller (NVIC)

22.1 NVIC main features

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

The NVIC registers are banked across secure and nonsecure states.

All interrupts including the core exceptions are managed by the NVIC.

22.2 SysTick calibration value register

The Cortex-M33 with TrustZone mainline security extension embeds two SysTick timers.

When TrustZone is activated, the following SysTick timers are available:

When TrustZone is disabled, only one SysTick timer is available.

The SysTick timer calibration value (STCALIB) is 0x3E8. It gives a reference time base of 1 ms based on a SysTick clock frequency of 1 MHz. In order to match the 1 ms time base for an application running at a given frequency, the SysTick reload value must be programmed as follows in the SYST_RVR register:

The HCLK refers to the AHB frequency value in MHz.

Example: SysTick clock source is CPU clock HCLK of 100 MHz, to match a time base of 1 ms:

\[ \text{SysTick reload value} = (100 \times \text{STCALIB}) - 1 = 0x1869F \]

22.3 Interrupt and exception vectors

The grey rows in the table below describe the vectors without specific position.

Table 186. STM32U5 series vector table (1)

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000 0000
--4FixedResetReset0x0000 0004
--2FixedNMINon maskable interrupt. The RCC clock security system (CSS) is linked to the NMI vector.0x0000 0008
--3
or
-1
FixedSecure HardFaultSecure HardFault0x0000 000C
--1FixedNonsecure HardFaultNonsecure HardFault, all classes of fault0x0000 000C
-0SettableMemManageMemory management0x0000 0010
-1SettableBusFaultPre-fetch fault, memory access fault0x0000 0014
-2SettableUsageFaultUndefined instruction or illegal state0x0000 0018
-3SettableSecureFaultSecure fault0x0000 001C
----Reserved0x0000 0020 -
0x0000 0028
-4-SVCSystem service call via SWI instruction0x0000 002C
-5-Debug MonitorDebug monitor0x0000 0030
----Reserved0x0000 0034
-6SettablePendSVPendable request for system service0x0000 0038
-7SettableSysTickSystem tick timer0x0000 003C
08SettableWWDGWindow watchdog interrupt0x0000 0040
19SettablePVD_PVMProgrammable voltage detector/peripheral voltage monitor0x0000 0044
210SettableRTCRTC global nonsecure interrupts0x0000 0048
311SettableRTC_SRTC global secure interrupts0x0000 004C
412SettableTAMPTamper global interrupts0x0000 0050
513SettableRAMCFGRAM configuration global interrupt0x0000 0054
614SettableFLASHFlash memory nonsecure global interrupt0x0000 0058
715SettableFLASH_SFlash memory secure global interrupt0x0000 005C
816SettableGTZCGTZC1/GTZC2 global interrupt0x0000 0060
917SettableRCCRCC nonsecure global interrupt0x0000 0064
1018SettableRCC_SRCC secure global interrupt0x0000 0068
1119SettableEXTI0EXTI Line0 interrupt0x0000 006C
Table 186. STM32U5 series vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
1220SettableEXTI1EXTI Line1 interrupt0x0000 0070
1321SettableEXTI2EXTI Line2 interrupt0x0000 0074
1422SettableEXTI3EXTI Line3 interrupt0x0000 0078
1523SettableEXTI4EXTI Line4 interrupt0x0000 007C
1624SettableEXTI5EXTI Line5 interrupt0x0000 0080
1725SettableEXTI6EXTI Line6 interrupt0x0000 0084
1826SettableEXTI7EXTI Line7 interrupt0x0000 0088
1927SettableEXTI8EXTI Line8 interrupt0x0000 008C
2028SettableEXTI9EXTI Line9 interrupt0x0000 0090
2129SettableEXTI10EXTI Line10 interrupt0x0000 0094
2230SettableEXTI11EXTI Line11 interrupt0x0000 0098
2331SettableEXTI12EXTI Line12 interrupt0x0000 009C
2432SettableEXTI13EXTI Line13 interrupt0x0000 00A0
2533SettableEXTI14EXTI Line14 interrupt0x0000 00A4
2634SettableEXTI15EXTI Line15 interrupt0x0000 00A8
2735SettableIWDGIndependent watchdog interrupt0x0000 00AC
2836SettableSAESSecure AES0x0000 00B0
2937SettableGPDMA1_CH0GPDMA1 channel 0 global interrupt0x0000 00B4
3038SettableGPDMA1_CH1GPDMA1 channel 1 global interrupt0x0000 00B8
3139SettableGPDMA1_CH2GPDMA1 channel 2 global interrupt0x0000 00BC
3240SettableGPDMA1_CH3GPDMA1 channel 3 global interrupt0x0000 00C0
3341SettableGPDMA1_CH4GPDMA1 channel 4 global interrupt0x0000 00C4
3442SettableGPDMA1_CH5GPDMA1 channel 5 global interrupt0x0000 00C8
3543SettableGPDMA1_CH6GPDMA1 channel 6 global interrupt0x0000 00CC
3644SettableGPDMA1_CH7GPDMA1 channel 7 global interrupt0x0000 00D0
3745SettableADC12ADC12 (14 bits) global interrupt0x0000 00D4
3846SettableDAC1DAC1 global interrupt0x0000 00D8
3947SettableFDCAN1_IT0FDCAN1 interrupt 00x0000 00DC
4048SettableFDCAN1_IT1FDCAN1 interrupt 10x0000 00E0
4149SettableTIM1_BRK
TIM1_TERR
TIM1_ERR
TIM1 break
TIM1 transition error
TIM1 index error
0x0000 00E4
4250SettableTIM1_UPTIM1 update0x0000 00E8
Table 186. STM32U5 series vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
4351SettableTIM1_TRG_COM
TIM1_DIR
TIM1_IDX
TIM1 trigger and commutation
TIM1 direction change interrupt
TIM1 index
0x0000 00EC
4452SettableTIM1_CCTIM1 capture compare interrupt0x0000 00F0
4553SettableTIM2TIM2 global interrupt0x0000 00F4
4654SettableTIM3TIM3 global interrupt0x0000 00F8
4755SettableTIM4TIM4 global interrupt0x0000 00FC
4856SettableTIM5TIM5 global interrupt0x0000 0100
4957SettableTIM6TIM6 global interrupt0x0000 0104
5058SettableTIM7TIM7 global interrupt0x0000 0108
5159SettableTIM8_BRK
TIM8_TERR
TIM8_IERR
TIM8 break interrupt
TIM8 transition error
TIM8 index error
0x0000 010C
5260SettableTIM8_UPTIM8 update interrupt0x0000 0110
5361SettableTIM8_TRG_COM
TIM8_DIR
TIM8_IDX
TIM8 trigger and commutation interrupt
TIM8 direction change interrupt
TIM8 Index
0x0000 0114
5462SettableTIM8_CCTIM8 capture compare interrupt0x0000 0118
5563SettableI2C1_EVI2C1 event interrupt0x0000 011C
5664SettableI2C1_ERI2C1 error interrupt0x0000 0120
5765SettableI2C2_EVI2C2 event interrupt0x0000 0124
5866SettableI2C2_ERI2C2 error interrupt0x0000 0128
5967SettableSPI1SPI1 global interrupt0x0000 012C
6068SettableSPI2SPI2 global interrupt0x0000 0130
6169SettableUSART1USART1 global interrupt0x0000 0134
6270SettableUSART2USART2 global interrupt0x0000 0138
6371SettableUSART3USART3 global interrupt0x0000 013C
6472SettableUART4UART4 global interrupt0x0000 0140
6573SettableUART5UART5 global interrupt0x0000 0144
6674SettableLPUART1LPUART1 global interrupt0x0000 0148
6775SettableLPTIM1LPTIM1 global interrupt0x0000 014C
6876SettableLPTIM2LPTIM2 global interrupt0x0000 0150
6977SettableTIM15TIM15 global interrupt0x0000 0154
7078SettableTIM16TIM16 global interrupt0x0000 0158
7179SettableTIM17TIM16 global interrupt0x0000 015C
Table 186. STM32U5 series vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
7280SettableCOMPCOMP1/COMP20x0000 0160
7381SettableUSB/OTG_FS/
OTG_HS
USB/OTG_FS/OTG_HS global interrupt0x0000 0164
7482SettableCRSClock recovery system global interrupt0x0000 0168
7583SettableFMCFSMC global interrupt0x0000 016C
7684SettableOCTOSPI1OCTOSPI1 global interrupt0x0000 0170
7785SettablePWR_S3WUPWR wake-up from Stop 3 interrupt0x0000 0174
7886SettableSDMMC1SDMMC1 global interrupt0x0000 0178
7987SettableSDMMC2SDMMC2 global interrupt0x0000 017C
8088SettableGPDMA1_CH8GPDMA1 channel 8 interrupt0x0000 0180
8189SettableGPDMA1_CH9GPDMA1 channel 9 interrupt0x0000 0184
8290SettableGPDMA1_CH10GPDMA1 channel 10 interrupt0x0000 0188
8391SettableGPDMA1_CH11GPDMA1 channel 11 interrupt0x0000 018C
8492SettableGPDMA1_CH12GPDMA1 channel 12 interrupt0x0000 0190
8593SettableGPDMA1_CH13GPDMA1 channel 13 interrupt0x0000 0194
8694SettableGPDMA1_CH14GPDMA1 channel 14 interrupt0x0000 0198
8795SettableGPDMA1_CH15GPDMA1 channel 15 interrupt0x0000 019C
8896SettableI2C3_EVI2C3 event interrupt0x0000 01A0
8997SettableI2C3_ERI2C3 error interrupt0x0000 01A4
9098SettableSAI1SAI1 global interrupt0x0000 01A8
9199SettableSAI2SAI2 global interrupt0x0000 01AC
92100SettableTSCTSC global interrupt0x0000 01B0
93101SettableAESAES global interrupt0x0000 01B4
94102SettableRNGRNG global interrupt0x0000 01B8
95103SettableFPUFloating point interrupt0x0000 01BC
96104SettableHASHHASH interrupt0x0000 01C0
97105SettablePKAPKA global interrupt0x0000 01C4
98106SettableLPTIM3LPTIM3 global interrupt0x0000 01C8
99107SettableSPI3SPI3 global interrupt0x0000 01CC
100108SettableI2C4_ERI2C4 error interrupt0x0000 01D0
101109SettableI2C4_EVI2C4 event interrupt0x0000 01D4
102110SettableMDF1_FLT0MDF1 filter 0 global interrupt0x0000 01D8
103111SettableMDF1_FLT1MDF1 filter 1 global interrupt0x0000 01DC
Table 186. STM32U5 series vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
104112SettableMDF1_FLT2MDF1 filter 2 global interrupt0x0000 01E0
105113SettableMDF1_FLT3MDF1 filter 3 global interrupt0x0000 01E4
106114SettableUCPD1UCPD1 global interrupt0x0000 01E8
107115SettableICACHEInstruction cache global interrupt0x0000 01EC
108116SettableOTFDEC1OTFDEC1 secure global interrupt0x0000 01F0
109117SettableOTFDEC2OTFDEC2 secure global interrupt0x0000 01F4
110118SettableLPTIM4LPTIM4 global interrupt0x0000 01F8
111119SettableDCACHE1Data cache global interrupt0x0000 01FC
112120SettableADF1_FLT0ADF1 filter 0 global interrupt0x0000 0200
113121SettableADC4ADC4 (12 bits) global interrupt0x0000 0204
114122SettableLPDMA1_CH0LPDMA1 SmartRun channel 0 global interrupt0x0000 0208
115123SettableLPDMA1_CH1LPDMA1 SmartRun channel 1 global interrupt0x0000 020C
116124SettableLPDMA1_CH2LPDMA1 SmartRun channel 2 global interrupt0x0000 0210
117125SettableLPDMA1_CH3LPDMA1 SmartRun channel 3 global interrupt0x0000 0214
118126SettableDMA2DDMA2D global interrupt0x0000 0218
119127SettableDCMI_PSSIDCMI/PSSI global interrupt0x0000 021C
120128SettableOCTOSPI2OCTOSPI2 global interrupt0x0000 0220
121129SettableMDF1_FLT4MDF1 filter 4 global interrupt0x0000 0224
122130SettableMDF1_FLT5MDF1 filter 5 global interrupt0x0000 0228
123131SettableCORDICCORDIC interrupt0x0000 022C
124132SettableFMACFMAC interrupt0x0000 0230
125133SettableLSECSS
MSI_PLL_UNLOCK
LSECSS interrupt (2)
MSI PLL unlock interrupt (2)
0x0000 0234
126134SettableUSART6USART6 global interrupt0x0000 0238
127135SettableI2C5_ERI2C5 error interrupt0x0000 023C
128136SettableI2C5_EVI2C5 event interrupt0x0000 0240
129137SettableI2C6_ERI2C6 error interrupt0x0000 0244
130138SettableI2C6_EVI2C6 event interrupt0x0000 0248
131139SettableHSPI1Hexadeca-SPI1 global interrupt0x0000 024C
132140SettableGPU2D_IRQGPU2D interrupt0x0000 0250
133141SettableGPU2D_IRQSYSGPU2D system interrupt0x0000 0254
134142SettableGFXMMUGFXMMU global error interrupt0x0000 0258
135143SettableLCD_TFTLTDC global interrupt0x0000 025C
Table 186. STM32U5 series vector table (1) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
136144SettableLCD_TFT_ERRLTDC global error interrupt0x0000 0260
137145SettableDSIHOSTDSI global interrupt0x0000 0264
138146SettableDCACHE2DCACHE 2 global interrupt0x0000 0268
139147SettableGFXTIMGFXTIM global interrupt0x0000 026C
140148SettableJPEGJPEG sync interrupt0x0000 0270
  1. 1. Some interrupt lines are only available on some STM32U5 Series devices. Refer to the device datasheet for availability of associated peripheral. If not present, consider this interrupt line as reserved.
  2. 2. Reserved in STM32U575/585 rev. X devices. LSECSS and MSI_PLL_UNLOCK interrupt lines are available in all other revisions of STM32U575/585 and on all other STM32U5 Series devices.