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 STM32L0 Series Cortex ® -M0+ programming manual (PM0223).

For code example, refer to A.7.1: NVIC initialization example .

12.2 SysTick calibration value register

The SysTick calibration value is fixed to 4000, which gives a reference time base of 1 ms with the SysTick clock set to 4 MHz (max HCLK/8).

12.3 Interrupt and exception vectors

Table 55 is the vector table for STM32L0x3 devices.

Table 55. List of vectors (1)(2)

PositionPriorityType of priorityAcronymDescriptionAddress
---Reserved0x0000_0000
-3fixedResetReset0x0000_0004
-2fixedNMI_HandlerNon maskable interrupt. The RCC Clock Security System (CSS) is linked to the NMI vector.0x0000_0008
-1fixedHardFault_HandlerAll class of fault0x0000_000C
---Reserved0x0000_0010 - 0x0000_002B
3settableSVC_HandlerSystem service call via SWI instruction0x0000_002C
---Reserved0x0000_0030 - 0x0000_0037
5settablePendSV_HandlerPendable request for system service0x0000_0038
6settableSysTick_HandlerSystem tick timer0x0000_003C
Table 55. List of vectors (1)(2) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
07settableWWDGWindow Watchdog interrupt0x0000_0040
18settablePVDPVD through EXTI Line detection interrupt0x0000_0044
29settableRTCRTC global interrupt through EXTI17/19/20 line and LSE CSS interrupt through EXTI 19 line0x0000_0048
310settableFLASHFlash memory and data EEPROM global interrupt0x0000_004C
411settableRCC_CRSRCC and CRS global interrupt0x0000_0050
512settableEXTI[1:0]EXTI Line0 and 1 interrupts0x0000_0054
613settableEXTI[3:2]EXTI Line2 and 3 interrupts0x0000_0058
714settableEXTI[15:4]EXTI Line4 to 15 interrupts0x0000_005C
815settableTSCTouch sense controller interrupt0x0000_0060
916settableDMA1_Channel1DMA1 Channel1 global interrupt0x0000_0064
1017settableDMA1_Channel[3:2]DMA1 Channel2 and 3 interrupts0x0000_0068
1118settableDMA1_Channel[7:4]DMA1 Channel4 to 7 interrupts0x0000_006C
1219settableADC_COMPADC and comparator interrupts through EXTI21 and 220x0000_0070
1320settableLPTIM1LPTIMER1 interrupt through EXTI290x0000_0074
1421settableUSART4/USART5USART4/USART5 global interrupt0x0000_0078
1522settableTIM2TIMER2 global interrupt0x0000_007C
1623settableTIM3TIMER3 global interrupt0x0000_0080
1724settableTIM6_DACTIMER6 global interrupt and DAC interrupt0x0000_0084
1825settableTIM7TIMER7 global interrupt0x0000_0088
1926settable-reserved0x0000_008C
2027settableTIM21TIMER21 global interrupt0x0000_0090
2128settableI2C3I2C3 global interrupt0x0000_0094
2229settableTIM22TIMER22 global interrupt0x0000_0098
2330settableI2C1I2C1 global interrupt through EXTI230x0000_009C
2431settableI2C2I2C2 global interrupt0x0000_00A0
2532settableSPI1SPI1 global interrupt0x0000_00A4
2633settableSPI2SPI2 global interrupt0x0000_00A8
2734settableUSART1USART1 global interrupt through EXTI250x0000_00AC
2835settableUSART2USART2 global interrupt through EXTI260x0000_00B0
Table 55. List of vectors (1)(2) (continued)
PositionPriorityType of priorityAcronymDescriptionAddress
2936settableLPUART1 + AES +RNGLPUART1 global interrupt through EXTI28 + AES global interrupt + RNG global interrupt0x0000_00B4
3037settableLCDLCD global interrupt0x0000_00B8
3138settableUSBUSB event interrupt through EXTI180x0000_00BC
  1. 1. The grayed cells correspond to the Cortex®-M0+ interrupts.
  2. 2. Refer to Table 1: STM32L0x3 memory density , to Table 2: Overview of features per category and to the device datasheets for the GPIO ports and peripherals available on your device. The memory area corresponding to unavailable GPIO ports or peripherals are reserved.