16. Nested vectored interrupt controller (NVIC)

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

The NVIC registers are banked across secure and non-secure states.

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

16.2 SysTick calibration value register

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

When TrustZone is activated, two SysTick timer 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 AHB frequency value in MHz.

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

16.3 Interrupt and exception vectors

The grey rows in Table 109 describe the vectors without specific position.

Table 109. STM32L552xx and STM32L562xx vector table

PositionPriorityType of priorityAcronymDescriptionAddress
----Reserved0x0000 0000
--4FixedResetReset0x0000 0004
--2FixedNMINon maskable interrupt. SRAM parity err + FLASH ECC err + HSE CSS0x0000 0008
--3 or -1FixedSecure HardFaultSecure hard fault0x0000 000C
--1FixedNon-secure HardFaultNon-secure hard fault. 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
19SettablePDV_PVMPVD/PVM1/PVM2/PVM3/PVM4 through EXTI lines 16/35/36/37/38 interrupts0x0000 0044
210SettableRTCRTC global interrupts (EXTI line 17)0x0000 0048
311SettableRTC_SRTC secure global interrupts (EXTI line 18)0x0000 004C
412SettableTAMPTamper global interrupt (EXTI line 19)0x0000 0050
513SettableTAMP_STamper secure global interrupt (EXTI line 20)0x0000 0054
614SettableFLASHFlash memory global interrupt0x0000 0058
715SettableFLASH_SFlash memory secure global interrupt0x0000 005C
816SettableGTZCTZIC secure global interrupt0x0000 0060
917SettableRCCRCC global interrupt0x0000 0064
1018SettableRCC_SRCC secure global interrupt0x0000 0068

Table 109. STM32L552xx and STM32L562xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
1119SettableEXTI0EXTI Line0 interrupt0x0000 006C
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 00E4
2533SettableEXTI14EXTI Line14 interrupt0x0000 00A0
2634SettableEXTI15EXTI Line15 interrupt0x0000 00A4
2735SettableDMAMUX1_OVRDMAMUX1 overRun interrupt0x0000 00A8
2836SettableDMAMUX1_OVR_SDMAMUX1 secure overRun interrupt0x0000 00AC
2937SettableDMA1_CH1DMA1 channel 1 interrupt0x0000 00B0
3038SettableDMA1_CH2DMA1 channel 2 interrupt0x0000 00B4
3139SettableDMA1_CH3DMA1 channel 3 interrupt0x0000 00B8
3240SettableDMA1_CH4DMA1 channel 4 interrupt0x0000 00C0
3341SettableDMA1_CH5DMA1 channel 5 interrupt0x0000 00C4
3442SettableDMA1_CH6DMA1 channel 6 interrupt0x0000 00C8
3543SettableDMA1_CH7DMA1 channel 7 interrupt0x0000 00CC
3644SettableDMA1_CH8DMA1 channel 8 interrupt0x0000 00D0
3745SettableADC1_2ADC1_2 global interrupt0x0000 00D4
3846SettableDACDAC global interrupt0x0000 00D8
3947SettableFDCAN1_IT0FDCAN1 Interrupt 00x0000 00DC
4048SettableFDCAN1_IT1FDCAN1 Interrupt 10x0000 00E0
4149SettableTIM1_BRKTIM1 break0x0000 00E4
4250SettableTIM1_UPTIM1 update0x0000 00E8
4351SettableTIM1_TRG_COMTIM1 trigger and commutation0x0000 00EC

Table 109. STM32L552xx and STM32L562xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
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_BRKTIM8 break interrupt0x0000 010C
5260SettableTIM8_UPTIM8 update interrupt0x0000 0110
5361SettableTIM8_TRG_COMTIM8 trigger and commutation interrupt0x0000 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
7280SettableCOMPCOMP1/COMP2 through EXTI lines 21/22 interrupts0x0000 0160
7381SettableUSB_FSUSB FS global interrupt0x0000 0164
7482SettableCRSClock recovery system global interrupt0x0000 0168
7583SettableFMCFMC global interrupt0x0000 016C

Table 109. STM32L552xx and STM32L562xx vector table (continued)

PositionPriorityType of priorityAcronymDescriptionAddress
7684SettableOCTOSPI1OCTOSPI1 global interrupt0x0000 0170
7785Settable-Reserved0x0000 0174
7886SettableSDMMC1SDMMC1 global interrupt0x0000 0178
7987Settable-Reserved0x0000 017C
8088SettableDMA2_CH1DMA2 channel 1 interrupt0x0000 0180
8189SettableDMA2_CH2DMA2 channel 2 interrupt0x0000 0184
8290SettableDMA2_CH3DMA2 channel 3 interrupt0x0000 0188
8391SettableDMA2_CH4DMA2 channel 4 interrupt0x0000 0174
8492SettableDMA2_CH5DMA2 channel 5 interrupt0x0000 0178
8593SettableDMA2_CH6DMA2 channel 6 interrupt0x0000 017C
8694SettableDMA2_CH7DMA2 channel 7 interrupt0x0000 0180
8795SettableDMA2_CH8DMA2 channel 8 interrupt0x0000 0184
8896SettableI2C3_EVI2C3 event interrupt0x0000 0188
8997SettableI2C3_ERI2C3 error interrupt0x0000 018C
9098SettableSAI1SAI1 global interrupt0x0000 0190
9199SettableSAI2SAI2 global interrupt0x0000 0194
92100SettableTSCTSC global interrupt0x0000 0198
93101SettableAESAES global interrupt0x0000 019C
94102SettableRNGRNG global interrupt0x0000 01A0
95103SettableFPUFloating point interrupt0x0000 01A4
96104SettableHASHHASH interrupt0x0000 01A8
97105SettablePKAPKA global interrupt0x0000 01AC
98106SettableLPTIM3LPTIM3 global interrupt0x0000 01A0
99107SettableSPI3SPI3 global interrupt0x0000 01A4
100108SettableI2C4_ERI2C4 error interrupt0x0000 01A8
101109SettableI2C4_EVI2C4 event interrupt0x0000 01AC
102110SettableDFSDM1_FLT0DFSDM1 filter 0 global interrupt0x0000 01B0
103111SettableDFSDM1_FLT1DFSDM1 filter 0 global interrupt0x0000 01B4
104112SettableDFSDM1_FLT2DFSDM1 filter 0 global interrupt0x0000 01B8
105113SettableDFSDM1_FLT3DFSDM1 filter 0 global interrupt0x0000 01BC
106114SettableUCPD1UCPD1 global interrupt0x0000 01C0
107115SettableICACHEInstruction cache global interrupt0x0000 01C4
108116SettableOTFDEC1OTFDEC1 secure global interrupt0x0000 01C8