25. Extended interrupts and event controller (EXTI)

The extended interrupts and event controller (EXTI) manages the CPU and system wake-up through configurable and direct event inputs. It provides wake-up requests to the power control, and generates a combined secure/nonsecure interrupt request to the CPU NVIC, and events to the CPU event input. An additional event generation block (EVG) is needed to generate the CPU event signal.

The EXTI wake-up requests allow the system to be woken up from Stop modes, and the CPU to be woken up from CStop and CStandby modes.

The interrupt request and event request generation can be used also in Run modes.

25.1 EXTI main features

The asynchronous event inputs are classified in two groups:

25.2 EXTI implementation

Table 135. EXTI implementation

EXTI features (1)EXTI
EXTI I/O port selectionX
EXTI I/O port to interconnect other peripherals-
Number of events73
SecurityX

1. X = supported.

25.3 EXTI block diagram

The EXTI consists of the following blocks (see Figure 155):

Figure 155. EXTI block diagram

Figure 155. EXTI block diagram. The diagram shows the internal architecture of the EXTI. On the left, 'GPIO' and 'Peripherals' are connected to an 'EXTI mux'. The 'EXTI mux' has inputs for 'I/O ports' and 'Configurable event(15:0)'. Its output goes to an 'Event trigger' block. The 'Event trigger' block also receives 'Wake-up' and 'Interrupt' signals from 'Peripherals'. The 'Event trigger' output goes to a 'Masking' block. The 'Masking' block has multiple outputs: 'exti_ilac', 'exti[15:0] To interconnect', 'sys wakeup', 'c wakeup', 'it exti_c_per(y)*', 'c evt exti', and 'c evt rst'. The 'c evt exti' output goes to a 'Pulse' block, which then goes to a 'CPU' block. The 'CPU' block also receives 'c_event', 'c1_fclk', and 'nvic(sec/non-sec y) nvic(x)' signals. The 'Registers' block is connected to the 'AHB interface' and 'hclk' input. It is also connected to the 'EXTI mux', 'Event trigger', and 'Masking' blocks. The 'PWR' block receives 'sys wakeup' and 'c wakeup' signals. A note at the bottom left states: '* it_exti_c_per(y) and it_exti_c_nonsec_per(y) are only available for configurable events (y).'. A code 'MSv70430V1' is in the bottom right.
Figure 155. EXTI block diagram. The diagram shows the internal architecture of the EXTI. On the left, 'GPIO' and 'Peripherals' are connected to an 'EXTI mux'. The 'EXTI mux' has inputs for 'I/O ports' and 'Configurable event(15:0)'. Its output goes to an 'Event trigger' block. The 'Event trigger' block also receives 'Wake-up' and 'Interrupt' signals from 'Peripherals'. The 'Event trigger' output goes to a 'Masking' block. The 'Masking' block has multiple outputs: 'exti_ilac', 'exti[15:0] To interconnect', 'sys wakeup', 'c wakeup', 'it exti_c_per(y)*', 'c evt exti', and 'c evt rst'. The 'c evt exti' output goes to a 'Pulse' block, which then goes to a 'CPU' block. The 'CPU' block also receives 'c_event', 'c1_fclk', and 'nvic(sec/non-sec y) nvic(x)' signals. The 'Registers' block is connected to the 'AHB interface' and 'hclk' input. It is also connected to the 'EXTI mux', 'Event trigger', and 'Masking' blocks. The 'PWR' block receives 'sys wakeup' and 'c wakeup' signals. A note at the bottom left states: '* it_exti_c_per(y) and it_exti_c_nonsec_per(y) are only available for configurable events (y).'. A code 'MSv70430V1' is in the bottom right.

Table 136. EXTI signals

NameI/ODescription
AHB interfaceI/OEXTI register bus interface. When one event is configured to allow security, the AHB interface support secure accesses.
hclkIAHB bus clock and EXTI system clock.
exti_ilacOIllegal access event

Table 136. EXTI signals (continued)

NameI/ODescription
Configurable event(y)IAsynchronous wake-up events from peripherals without an associated interrupt and flag in the peripheral
Direct event(x)ISynchronous and asynchronous wake-up events from peripherals with an associated interrupt and flag in the peripheral
I/O portsIGPIO I/O ports[15:0]
exti[15:0]OEXTI GPIO output port to trigger other peripherals
it_exti_c_per(y)OCombined secure/nonsecure interrupts to the CPU with configurable event (y)
c_evt_extiOHigh-level sensitive event output for the CPU
c_evt_rstIAsynchronous reset input to clear c_evt_exti
sys_wakeupOAsynchronous system wake-up request to PWR for ck_sys and hclk
c_wakeupOWake-up request to PWR for the CPU, synchronous to hclk

Table 137. EVG signals

NameI/ODescription
c_fclkICPU free running clock
c_evt_inIHigh-level sensitive events input from EXTI, asynchronous to CPU clock
c_eventOEvent pulse, synchronous to CPU clock
c_evt_rstOEvent reset signal, synchronous to CPU clock

25.3.1 EXTI connections between peripherals and CPU

Peripherals able to generate wake-up or interrupt events when the system is in Stop mode or a CPU is in CStop mode, are connected to the EXTI.

Peripheral wake-up signals that generate a pulse, or which do not have interrupt status bits in the peripheral, are connected to an EXTI configurable event input. For these events, the EXTI provides a status pending bit, which requires to be cleared. It is the EXTI interrupt associated with the status bit that interrupts the CPU.

Peripheral interrupt and wake-up signals that have a status bit in the peripheral, which requires to be cleared in the peripheral, are connected to an EXTI direct event input. There is no status pending bit within the EXTI. The interrupt or wake-up is cleared by the CPU in the peripheral. It is the peripheral interrupt that interrupts the CPU directly.

All GPIO ports are inputs for the EXTI multiplexer and used to select a port pin to wake up the system via a configurable event.

EXTI configurable event interrupts are connected to the NVIC. A secure CPU receives both its secure and nonsecure interrupts on the combined secure/nonsecure it_exti_c_per(y) interrupt signal. A nonsecure CPU only receives its nonsecure interrupts on the it_exti_c_per(y) interrupt signal. The CPU has its dedicated individual interrupt signal, which allows CPU interrupt masking based on EXTI_IMRx settings.

The dedicated EXTI/EVG CPU event is connected to the CPU rxev input.

EXTI CPU wake-up signals are connected to the PWR, and are used to wake up the system and CPU subsystem bus clocks.

25.3.2 EXTI wake-up interrupt list

The wake-up sources are listed in the table below. Peripherals able to generate wake-up or interrupt events are connected to the EXTI.

All wake-up sources are able to generate an event to the CPU. The EXTI CPU wake-up signals are connected. They are used to wake up the system, and CPU subsystem bus clocks.

For CPU interrupt handling, see Section 24: Nested vectored interrupt controller (NVIC) .

Table 138. EXTI line connection

EXTI indexAcronymInput typeNVIC connected
0 -15EXTI[15:0]ConfigurableYes
16Reserved--
17RTC secure wake-upDirectYes
18RTC nonsecure wake-upDirectYes
19TAMP wake-upDirectYes
20OTG1 VBUS plug/unplugConfigurableYes
21OTG2 VBUS plug /unplugConfigurableYes
22I2C1 wake-upDirectYes
23I2C2 wake-upDirectYes
24I2C3 wake-upDirectYes
25I2C4 wake-upDirectYes
26I3C1 wake-upDirectYes
27I3C2 wake-upDirectYes
28USART1 wake-upDirectYes
29USART2 wake-upDirectYes
30USART3 wake-upDirectYes
31UART4 wake-upDirectYes
32UART5 wake-upDirectYes
33USART6 wake-upDirectYes
34UART7 wake-upDirectYes
35UART8 wake-upDirectYes
36UART9 wake-upDirectYes
37USART10 wake-upDirectYes
38LPUART1 wake-upDirectYes
39ADF wake-upConfigurableYes
40MDF1 wake-upConfigurableYes
41SPI1 wake-upDirectYes
42SPI2 wake-upDirectYes

Extended interrupts and event controller (EXTI)

Table 138. EXTI line connection (continued)

EXTI indexAcronymInput typeNVIC connected
43SPI3 wake-upDirectYes
44SPI4 wake-upDirectYes
45SPI5 wake-upDirectYes
46SPI6 wake-upDirectYes
47MDIOS wake-upDirectYes
48OTG1 wake-upDirectYes
49OTG2 wake-upDirectYes
50UCPD wake-upDirectYes
51ETH1 wake-upConfigurableYes
52LPTIM1 wake-upDirectYes
53LPTIM2 wake-upDirectYes
54LPTIM2 _ch1 wake-upConfigurableYes
55LPTIM3 wake-upDirectYes
56LPTIM3 _ch1 wake-upConfigurableYes
57LPTIM4 wake-upDirectYes
58LPTIM5 wake-upDirectYes
59Reserved--
60Wake-up_PIN1DirectYes
61Wake-up_PIN2DirectYes
62Wake-up_PIN3DirectYes
63Wake-up_PIN4DirectYes
64WDGLS_EARLYDirectYes
65LSE_CSSDirectYes
66PVD wake-upConfigurableYes
67Reserved--
68VM out wake-upConfigurableYes
69pvm_VDDIO2 wake-upConfigurableYes
70pvm_VDDIO3 wake-upConfigurableYes
71pvm_VDDIO4 wake-upConfigurableYes
72pvm_VDDIO5 wake-upConfigurableYes
73pvm_VDD33USB wake-upConfigurableYes
74pvm_VDDA18ADC wake-upConfigurableYes
75Reserved--
76Reserved--

Table 138. EXTI line connection (continued)

EXTI indexAcronymInput typeNVIC connected
77DTS wake-upDirectYes
78-96Reserved--

25.4 EXTI functional description

Depending on the EXTI event input type and wake-up targets, different logic implementations are used. The applicable features are controlled from register bits:

Table 139. EXTI event input configurations and register control

Event input typeLogic implementationEXTI_RTSREXTI_FTSREXTI_SWIEREXTI_RPREXTI_FPREXTI_SECCFGREXTI_PRIVCFGR
ConfigurableConfigurable event input wake-up logicXXXXXXX
DirectDirect event input wake-up logic-----XX

25.4.1 EXTI configurable event input wake-up

Figure 156 details the logic associated with configurable event inputs that wake up CPU subsystem bus clocks, and generate an EXTI pending flag and combined secure/non-secure interrupt to the CPU and/or a CPU wake-up event.

Figure 156. Configurable event trigger logic CPU wake-up

Figure 156: Configurable event trigger logic CPU wake-up. This block diagram shows the internal logic of the EXTI subsystem. On the left, an 'AHB interface' and 'hclk' signal are connected to a 'Peripheral interface'. This interface connects to several registers: 'Falling trigger selection register', 'Rising trigger selection register', 'Software interrupt event register', 'CPU event mask register', 'CPU interrupt mask register', and 'Pending request register'. A 'Configurable event input(y)' enters an 'Asynchronous edge detection circuit' which outputs an 'rst' signal. This 'rst' signal passes through a 'Delay' block and a 'Rising edge detect pulse generator'. The outputs of these generators are combined with signals from the 'CPU event mask register' and 'CPU interrupt mask register' through a series of AND and OR gates. One output path leads to 'it_exti_c_per(y)'. Another path goes through a 'Same circuit for configurable and direct events hclk' block, which includes a 'Rising edge detect rst' block. This is followed by a 'synch' block and then splits into 'c_evt_rst', 'c_evt_exti', and 'c_wakeup' signals. A separate path for 'Other CPU wake-ups' and 'Wake-up(y)' signals also goes through a 'synch' block to produce 'sys_wakeup'. All wake-up signals ('c_wakeup', 'sys_wakeup') are fed into an 'EVG' (Event Vector Generator) block, which also receives 'ck_fclk_c' and produces an 'c_event' output.
Figure 156: Configurable event trigger logic CPU wake-up. This block diagram shows the internal logic of the EXTI subsystem. On the left, an 'AHB interface' and 'hclk' signal are connected to a 'Peripheral interface'. This interface connects to several registers: 'Falling trigger selection register', 'Rising trigger selection register', 'Software interrupt event register', 'CPU event mask register', 'CPU interrupt mask register', and 'Pending request register'. A 'Configurable event input(y)' enters an 'Asynchronous edge detection circuit' which outputs an 'rst' signal. This 'rst' signal passes through a 'Delay' block and a 'Rising edge detect pulse generator'. The outputs of these generators are combined with signals from the 'CPU event mask register' and 'CPU interrupt mask register' through a series of AND and OR gates. One output path leads to 'it_exti_c_per(y)'. Another path goes through a 'Same circuit for configurable and direct events hclk' block, which includes a 'Rising edge detect rst' block. This is followed by a 'synch' block and then splits into 'c_evt_rst', 'c_evt_exti', and 'c_wakeup' signals. A separate path for 'Other CPU wake-ups' and 'Wake-up(y)' signals also goes through a 'synch' block to produce 'sys_wakeup'. All wake-up signals ('c_wakeup', 'sys_wakeup') are fed into an 'EVG' (Event Vector Generator) block, which also receives 'ck_fclk_c' and produces an 'c_event' output.

The software interrupt event register is used to trigger configurable events by software, writing the corresponding register bit, irrespective of the edge selection setting.

Rising and falling edge selection registers are used to enable and to select the configurable event active trigger edge or both edges.

Extended interrupts and event controller (EXTI)

The CPU has its dedicated wake-up (interrupt) mask register, and a dedicated event mask register. The enabled event is used to generate an event on the CPU. All CPU events are ORed together into a single CPU event signal. The event pending registers (EXTI_RPR and EXTI_FPR) are not set for an unmasked CPU event.

The configurable events have unique interrupt pending request register bits. The pending register is only set for an unmasked interrupt. Each configurable event provides dedicated combined secure/nonsecure interrupts to the CPU. The configurable event interrupts need to be acknowledged by software in EXTI_RPR and/or EXTI_FPR.

When a CPU wake-up (interrupt) or CPU event is enabled, the asynchronous edge detection circuit is reset by the clocked delay and rising edge detect pulse generator. This guarantees that the EXTI hclk clock is woken up before the asynchronous edge detection circuit is reset.

Note: A detected configurable event interrupt pending request can be cleared by the CPU with the correct access permission. The system is not able to enter into low-power modes as long as an interrupt pending request is active.

25.4.2 EXTI direct event input wake-up

Direct events do not have an associated EXTI interrupt. The EXTI only wakes up the system and CPU subsystem clocks, and can generate a CPU wake-up event. The peripheral synchronous interrupt, associated with the direct wake-up event, wakes up the CPU.

The EXTI direct event is able to generate a CPU event that wakes up the CPU. The CPU event may occur before the associated peripheral interrupt flag is set.

Figure 157. EXTI direct events

Figure 157. EXTI direct events block diagram

The diagram illustrates the internal logic of the EXTI direct event input wake-up mechanism. On the left, an 'AHB interface' and 'hclk' clock are shown. A 'Direct event input(y)' line enters the 'EXTI' block. Inside, this input is split: one path goes through a 'Delay' block and then an AND gate; another path goes through an 'Asynchronous rising edge detection circuit' (which also receives 'hclk' and a 'rst' signal) and then an OR gate. A 'Falling edge detect pulse generator' (receiving 'hclk') is connected to the OR gate output. The output of the pulse generator is connected to a 'CPU wake-up(y)' line and also to a 'Synch' block. The 'Synch' block also receives 'Other CPU wake-ups' and 'Wake-up(y)' signals and outputs 'c_wakeup' and 'sys_wakeup' signals. Above the OR gate, there is a 'Peripheral interface' block containing 'CPU event mask register' and 'CPU interrupt mask register'. The output of the AND gate is connected to an OR gate that also receives inputs from these registers. This OR gate's output is labeled 'CPU event(y)' and enters a dashed box labeled 'Same circuit for configurable and direct events'. Inside this box, 'CPU event(y)' and 'Other CPU events(x,y)' are ORed together and then passed through a 'Rising edge detect_rst' block (receiving 'hclk'). The output of this block is 'c_evt_rst', which enters an 'EVG' block containing 'ck_fclk_c' and a 'CPU rising edge detect pulse generator'. The final output of the EVG block is 'c_event'.

Figure 157. EXTI direct events block diagram

25.4.3 EXTI multiplexer selection

The EXTI multiplexer is used to select GPIOs as interrupts and wake-up. The GPIOs are connected via 16 EXTI multiplexers to the first 16 EXTI events as configurable event. The selection of GPIO port as EXTI multiplexer output is controlled by EXTIIn_EXTICRx (x = 1 to 4) registers.

Figure 158. EXTI mux GPIO selection

Diagram showing EXTI mux GPIO selection for lines 10, 11, and 15. Each line has a multiplexer selecting between various GPIO pins (e.g., PA0, PB0, PC0, Px0 for line 10) and outputting to the corresponding EXTI line (EXTI10, EXTI11, EXTI15).
Diagram showing EXTI mux GPIO selection for lines 10, 11, and 15. Each line has a multiplexer selecting between various GPIO pins (e.g., PA0, PB0, PC0, Px0 for line 10) and outputting to the corresponding EXTI line (EXTI10, EXTI11, EXTI15).

25.5 EXTI functional behavior

The direct event inputs are enabled in the respective peripheral generating the wake-up event. The configurable events are enabled by enabling at least one of the trigger edges.

Once an event input is enabled, the generation of the CPU wake-up is conditioned by the CPU interrupt mask and the CPU event mask.

Table 140. Masking functionality

CPU interrupt enable
EXTI_IMR.IMn
CPU event enable
EXTI_EMR1.EMn
Configurable event inputs
EXTI_RPR.RPIFn
EXTI_FPR.FPIFn
exti(n) interrupt (1)CPU eventCPU wake-up
00NoMaskedMaskedMasked
1NoMaskedYesYes
10Status latchedYesMaskedYes (2)
1Status latchedYesYesYes
  1. 1. The CPU dedicated exti(n), combined secure/nonsecure interrupts, goes to the CPU. If no interrupt is required for the CPU, the exti(n) interrupt must be masked in EXTI_IMR.
  2. 2. Only if the CPU interrupt is enabled by IMn in EXTI_IMR.

For configurable event inputs, when the enabled edges occur on the event input, an event request is generated. When the associated CPU interrupt is unmasked, the corresponding RPIFn in EXTI_RPR and/or FPIFn in EXTI_FPR is/are set. The CPU subsystem is woken up, and the CPU combined secure/nonsecure interrupt signal is activated.

RPIFn in EXTI_RPR and/or FPIFn in EXTI_FPR must be cleared by software (writing them to 1). This clears the CPU interrupt. An interrupt is only generated on the dedicated interrupt line when it is enabled in EXTI_IMR.

For direct event inputs, when enabled in the associated peripheral, an event request is generated on the rising edge only. There is no corresponding CPU pending bit in the EXTI. When the associated CPU interrupt is unmasked, the corresponding CPU subsystem is woken up. The CPU is woken up (interrupted) by the peripheral synchronous interrupt.

The CPU event must be unmasked to generate an event. When an enabled edge occurs on the event input, a CPU event pulse is generated. There is no event pending bit.

For the configurable event inputs, an event request can be generated by software when writing 1 in EXTI_SWIERx. This generates a rising edge on the event. The rising edge event pending bit is set in EXTI_RPR, whatever the setting in EXTI_RTSR.

25.6 EXTI event protection

The EXTI is able to protect event register bits from being modified by nonsecure and unprivileged accesses. The protection can be activated individually per input event, via EXTI_SECCFGRx and EXTI_PRIVCFGRx. At EXTI level, the protection consists in preventing unauthorized write access to change settings of secure configurable events, change masking of secure input events, and clear pending status of secure input events.

Table 141. Register protection overview

Register nameAccess typeSecurity (1)(2)
EXTI_RTSRxRWSecure and privileged can be enabled bit-wise in EXTI_SECCFGRx and EXTI_PRIVCFGRx
EXTI_FTSRxRW
EXTI_SWIERxRW
EXTI_RPRxRW
EXTI_FPRxRW
EXTI_SECCFGRxRWAlways secure and privileged
EXTI_PRIVCFGRxRWAlways privileged, secure can be enabled bit-wise in EXTI_SECCFGRx
EXTI_EXTICRxRWSecure and privileged can be enabled bit-wise in EXTI_SECCFGRx and EXTI_PRIVCFGRx
EXTI_LOCKRRWAlways secure and privileged
EXTI_IMRxRWSecure and privileged can be enabled bit-wise in EXTI_SECCFGRx and EXTI_PRIVCFGRx
EXTI_EMRxRW
  1. 1. Security is enabled with EXTI_SECCFGRx registers.
  2. 2. Privilege is enabled with EXTI_PRIVCFGRx registers.

25.6.1 EXTI register security protection

When security is enabled for an input event, the associated input event configuration and the control bits can only be modified and read by a secure access. A nonsecure write access is discarded and a read returns 0.

When input events are nonsecure, the security is disabled. The associated input event configuration and control bits can be modified and read by a secure access and nonsecure access.

The security configuration in EXTI_SECCFGRx can be globally locked after reset by GLOCK in EXTI_LOCKR.

25.6.2 EXTI register privilege protection

When the privilege is enabled for an input event, the associated input event configuration and control bits can only be modified and read by a privileged access. An unprivileged write access is discarded, and a read returns 0.

When input events are unprivileged, the privilege is disabled. The associated input event configuration and control bits can be modified and read by a privileged or unprivileged access.

The privilege configuration in EXTI_PRIVCFG \( R_x \) can be globally locked after reset by GLOCK in EXTI_LOCKR.

25.7 EXTI registers

The EXTI register map is divided in the following sections:

Table 142. EXTI register map sections

Address offsetDescription
0x000 - 0x01CGeneral configurable event [31:0] configuration
0x020 - 0x03CGeneral configurable event [63:32] configuration
0x040 - 0x05CGeneral configurable event [95:64] configuration
0x060 - 0x06CEXTI I/O port mux selection
0x070EXTI protection lock configuration
0x080 - 0x0BCCPU input event configuration

All registers can be accessed with word (32-bit), half-word (16-bit), and byte (8-bit) access.

25.7.1 EXTI rising trigger selection register (EXTI_RTSR1)

Address offset: 0x000

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RT21RT20Res.Res.Res.Res.
rwrw
1514131211109876543210
RT15RT14RT13RT12RT11RT10RT9RT8RT7RT6RT5RT4RT3RT2RT1RT0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)

Bits 21:20 RTx : Rising trigger event configuration bit of configurable event input x (x = 21 to 20)

0: Rising trigger disabled (for event and interrupt) for input line

1: Rising trigger enabled (for event and interrupt) for input line

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a rising edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bits 19:16 Reserved, must be kept at reset value.

Bits 15:0 RTx : Rising trigger event configuration bit of configurable event input x (x = 15 to 0)

25.7.2 EXTI falling trigger selection register (EXTI_FTSR1)

Address offset: 0x004

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
ResResResResResResResResResResFT21FT20ResResResRes
rwrw
1514131211109876543210
FT15FT14FT13FT12FT11FT10FT9FT8FT7FT6FT5FT4FT3FT2FT1FT0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:20 FTx : Falling trigger event configuration bit of configurable event input x (x = 21 to 20)

0: Falling trigger disabled (for event and interrupt) for input line

1: Falling trigger enabled (for event and interrupt) for input line.

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a falling edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bits 19:16 Reserved, must be kept at reset value.

Bits 15:0 FTx : Falling trigger event configuration bit of configurable event input x (x = 15 to 0)

25.7.3 EXTI software interrupt event register (EXTI_SWIER1)

Address offset: 0x008

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
ResResResResResResResResResResSWI21SWI20ResResResRes
rwrw
1514131211109876543210
SWI15SWI14SWI13SWI12SWI11SWI10SWI9SWI8SWI7SWI6SWI5SWI4SWI3SWI2SWI1SWI0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:20 SWIx : Software interrupt on event x (x = 21 to 20)

0: Writing 0 has no effect.

1: Writing 1 to this bit triggers a rising edge event on event x (bit auto cleared by hardware).

Bits 19:16 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)

Bits 15:0 SWIx : Software interrupt on event x (x = 15 to 0)

25.7.4 EXTI rising edge pending register (EXTI_RPR1)

Address offset: 0x00C

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RPIF21RPIF20Res.Res.Res.Res.
1514131211109876543210
RPIF15RPIF14RPIF13RPIF12RPIF11RPIF10RPIF9RPIF8RPIF7RPIF6RPIF5RPIF4RPIF3RPIF2RPIF1RPIF0
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:20 RPIFx : Configurable event input x rising edge pending bit (x = 21 to 20)

This bit is set when the selected rising edge event or an EXTI_SWIER1 software trigger arrives on the configurable event line. This bit is cleared by writing a 1 into the bit.

0: No rising edge trigger request occurred

1: Rising edge trigger request occurred

Bits 19:16 Reserved, must be kept at reset value.

Bits 15:0 RPIFx : Configurable event input x rising edge pending bit (x = 15 to 0)

25.7.5 EXTI falling edge pending register (EXTI_FPR1)

Address offset: 0x010

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPIF21FPIF20Res.Res.Res.Res.
1514131211109876543210
FPIF15FPIF14FPIF13FPIF12FPIF11FPIF10FPIF9FPIF8FPIF7FPIF6FPIF5FPIF4FPIF3FPIF2FPIF1FPIF0
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:20 FPIFx : configurable event input x falling edge pending bit (x = 21 to 20)

This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing a 1 into this bit.

0: No falling edge trigger request occurred

1: Falling edge trigger request occurred

Bits 19:16 Reserved, must be kept at reset value.

Bits 15:0 FPIFx : Configurable event input x rising edge pending bit (x = 15 to 0)

25.7.6 EXTI security configuration register (EXTI_SECCFGR1)

Address offset: 0x014

Reset value: 0x0000 0000

This register provides write access security and privilege. A nonsecure or unprivileged write access is ignored, and causes the generation of an secure illegal access event. All read return the register data.

Write to this register is ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable input events.

31302928272625242322212019181716
SEC 31SEC 30SEC 29SEC 28SEC 27SEC 26SEC 25SEC 24SEC 23SEC 22SEC 21SEC 20SEC 19SEC 18SEC 17Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SEC15SEC14SEC13SEC12SEC11SEC10SEC9SEC8SEC7SEC6SEC5SEC4SEC3SEC2SEC1SEC0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:17 SECx : Security enable on event input x (x = 31 to 17)

0: Event security disabled (nonsecure)

1: Event security enabled (secure)

Bit 16 Reserved, must be kept at reset value.

Bits 15:0 SECx : Security enable on event input x (x = 15 to 0)

25.7.7 EXTI privilege configuration register (EXTI_PRIVCFGR1)

Address offset: 0x018

Reset value: 0x0000 0000

Extended interrupts and event controller (EXTI)

This register provides privileged write access protection. An unprivileged write access is discarded, and causes the generation of a privileged illegal access event. An unprivileged read returns the register data.

Write to this register are ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable input events.

31302928272625242322212019181716
PRIV31PRIV30PRIV29PRIV28PRIV27PRIV26PRIV25PRIV24PRIV23PRIV22PRIV21PRIV20PRIV19PRIV18PRIV17Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

1514131211109876543210
PRIV15PRIV14PRIV13PRIV12PRIV11PRIV10PRIV9PRIV8PRIV7PRIV6PRIV5PRIV4PRIV3PRIV2PRIV1PRIV0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:17 PRIVx : Privilege enable on event input x (x = 31 to 17)

0: Event privilege disabled (unprivileged)

1: Event privilege enabled (privileged)

Bit 16 Reserved, must be kept at reset value.

Bits 15:0 PRIVx : Privilege enable on event input x (x = 15 to 0)

25.7.8 EXTI rising trigger selection register (EXTI_RTSR2)

Address offset: 0x020

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.RT56Res.RT54Res.Res.RT51Res.Res.Res.
rwrwrw

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.RT40RT39Res.Res.Res.Res.Res.Res.Res.
rwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 RT56 : Rising trigger event configuration bit of configurable event input 56

0: Rising trigger disabled (for event and Interrupt) for input line x

1: Rising trigger enabled (for event and Interrupt) for input line x

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a rising edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bit 23 Reserved, must be kept at reset value.

Bit 22 RT54 : Rising trigger event configuration bit of configurable event input 54

Bits 21:20 Reserved, must be kept at reset value.

Bit 19 RT51 : Rising trigger event configuration bit of configurable event input 51

Bits 18:9 Reserved, must be kept at reset value.

Bits 8:7 RTx : Rising trigger event configuration bit of configurable event input x (x = 40 to 39)

Bits 6:0 Reserved, must be kept at reset value.

25.7.9 EXTI falling trigger selection register (EXTI_FTSR2)

Address offset: 0x024

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.FT56Res.FT54Res.Res.FT51Res.Res.Res.
rwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.FT40FT39Res.Res.Res.Res.Res.Res.Res.
rwrw

Bits 31:25 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)

Bit 24 FT56 : Falling trigger event configuration bit of configurable event input 56

0: Falling trigger disabled (for event and Interrupt) for input line

1: Falling trigger enabled (for event and Interrupt) for input line.

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a falling edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bit 23 Reserved, must be kept at reset value.

Bit 22 FT54 : Falling trigger event configuration bit of configurable event input 54

Bits 21:20 Reserved, must be kept at reset value.

Bit 19 FT51 : Falling trigger event configuration bit of configurable event input 51

Bits 18:9 Reserved, must be kept at reset value.

Bits 8:7 FTx : Falling trigger event configuration bit of configurable event input x (x = 40 to 39)

Bits 6:0 Reserved, must be kept at reset value.

25.7.10 EXTI software interrupt event register (EXTI_SWIER2)

Address offset: 0x028

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.SWI56Res.SWI54Res.Res.SWI51Res.Res.Res.
rwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.SWI40SWI39Res.Res.Res.Res.Res.Res.Res.
rwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 SWI56 : Software interrupt on event 56

0: Writing 0 has no effect.

1: Writing 1 to this bit triggers a rising edge event on event x (bit auto cleared by hardware).

Bit 23 Reserved, must be kept at reset value.

Bit 22 SWI54 : Software interrupt on event 54

Bits 21:20 Reserved, must be kept at reset value.

Bit 19 SWI51 : Software interrupt on event 51

Bits 18:9 Reserved, must be kept at reset value.

Bits 8:7 SWIx : Software interrupt on event x (x = 40 to 39)

Bits 6:0 Reserved, must be kept at reset value.

25.7.11 EXTI rising edge pending register (EXTI_RPR2)

Address offset: 0x02C

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.RPIF56Res.RPIF54Res.Res.RPIF51Res.Res.Res.
rc_w1rc_w1rc_w1
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.RPIF40RPIF39Res.Res.Res.Res.Res.Res.Res.
rc_w1rc_w1

Bits 31:25 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)

Bit 24 RPIF56 : Configurable event input 56 rising edge pending bit

This bit is set when the selected rising edge event or an EXTI_SWIER2 software trigger arrives on the configurable event line. This bit is cleared by writing a 1 into the bit.

0: No rising edge trigger request occurred

1: Rising edge trigger request occurred

Bit 23 Reserved, must be kept at reset value.

Bit 22 RPIF54 : Configurable event input 54 rising edge pending bit

Bits 21:20 Reserved, must be kept at reset value.

Bit 19 RPIF51 : Configurable event input 51 rising edge pending bit

Bits 18:9 Reserved, must be kept at reset value.

Bits 8:7 RPIFx : Configurable event input x rising edge pending bit (x = 40 to 39)

Bits 6:0 Reserved, must be kept at reset value.

25.7.12 EXTI falling edge pending register (EXTI_FPR2)

Address offset: 0x030

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.FPIF56Res.FPIF54Res.Res.FPIF51Res.Res.Res.
rc_w1rc_w1rc_w1
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.FPIF40FPIF39Res.Res.Res.Res.Res.Res.Res.
rc_w1rc_w1

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 FPIF56 : Configurable event input 56 falling edge pending bit

This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing a 1 into the bit.

0: No falling edge trigger request occurred

1: Falling edge trigger request occurred

Bit 23 Reserved, must be kept at reset value.

Bit 22 FPIF54 : Configurable event input 54 falling edge pending bit

Bits 21:20 Reserved, must be kept at reset value.

Bit 19 FPIF51 : Configurable event input 51 falling edge pending bit

Bits 18:9 Reserved, must be kept at reset value.

Bits 8:7 FPIFx : Configurable event input x falling edge pending bit (x = 40 to 39)

Bits 6:0 Reserved, must be kept at reset value.

25.7.13 EXTI security enable register (EXTI_SECCFGR2)

Address offset: 0x034

Reset value: 0x0000 0000

This register provides write access security and privilege. A nonsecure or unprivileged write access is ignored, and causes the generation of an secure illegal access event. All read return the register data.

Write to this register is ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable input events.

31302928272625242322212019181716
SEC 63SEC 62SEC 61SEC 60Res.SEC 58SEC 57SEC 56SEC 55SEC 54SEC 53SEC 52SEC 51SEC 50SEC 49SEC 48
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SEC 47SEC 46SEC 45SEC 44SEC 43SEC 42SEC 41SEC 40SEC 39SEC 38SEC 37SEC 36SEC 35SEC 34SEC 33SEC 32
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:28 SECx : Security enable on event input x (x = 63 to 60)

0: Event security disabled (nonsecure)

1: Event security enabled (secure)

Bit 27 Reserved, must be kept at reset value.

Bits 26:0 SECx : Security enable on event input x (x = 58 to 32)

25.7.14 EXTI privilege enable register (EXTI_PRIVCFGR2)

Address offset: 0x038

Reset value: 0x0000 0000

This register provides privileged write access protection. An unprivileged write access is discarded, and causes the generation of a privileged illegal access event. An unprivileged read returns the register data.

Write to this register is ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable input events.

31302928272625242322212019181716
PRIV 63PRIV 62PRIV 61PRIV 60Res.PRIV 58PRIV 57PRIV 56PRIV 55PRIV 54PRIV 53PRIV 52PRIV 51PRIV 50PRIV 49PRIV 48
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

1514131211109876543210
PRIV 47PRIV 46PRIV 45PRIV 44PRIV 43PRIV 42PRIV 41PRIV 40PRIV 39PRIV 38PRIV 37PRIV 36PRIV 35PRIV 34PRIV 33PRIV 32
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:28 PRIVx : Privilege enable on event input x (x = 63 to 60)

0: Event privilege disabled (unprivileged)

1: Event privilege enabled (privileged)

Bit 27 Reserved, must be kept at reset value.

Bits 26:0 PRIVx : Privilege enable on event input x (x = 58 to 32)

25.7.15 EXTI rising trigger selection register (EXTI_RTSR3)

Address offset: 0x040

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

1514131211109876543210
Res.Res.Res.Res.Res.RT74RT73RT72RT71RT70RT69RT68Res.RT66Res.Res.
rwrwrwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:4 RTx : Rising trigger event configuration bit of configurable event input x (x = 74 to 68)

0: Rising trigger disabled (for event and interrupt) for input line

1: Rising trigger enabled (for event and interrupt) for input line

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a rising edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bit 3 Reserved, must be kept at reset value.

Bit 2 RT66 : Rising trigger event configuration bit of configurable event input 66

Bits 1:0 Reserved, must be kept at reset value.

25.7.16 EXTI falling trigger selection register (EXTI_FTSR3)

Address offset: 0x044

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.FT74FT73FT72FT71FT70FT69FT68Res.FT66Res.Res.
rwrwrwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)

Bits 10:4 FTx : Falling trigger event configuration bit of configurable event input x (x = 74 to 68)

0: Falling trigger disabled (for event and interrupt) for input line

1: Falling trigger enabled (for event and interrupt) for input line

Note: The configurable event input is edge triggered. No glitch must be generated on this input. If a falling edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.

Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.

Bit 3 Reserved, must be kept at reset value.

Bit 2 FT66 : Falling trigger event configuration bit of configurable event input 66

Bits 1:0 Reserved, must be kept at reset value.

25.7.17 EXTI software interrupt event register (EXTI_SWIER3)

Address offset: 0x048

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.SWI74SWI73SWI72SWI71SWI70SWI69SWI68Res.SWI66Res.Res.
rwrwrwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:4 SWIx : Software interrupt on event x (x = 74 to 68)

0: Writing 0 has no effect.

1: Writing 1 to this bit triggers a rising edge event on event x (bit auto cleared by hardware).

Bit 3 Reserved, must be kept at reset value.

Bit 2 SWI66 : Software interrupt on event 66

Bits 1:0 Reserved, must be kept at reset value.

25.7.18 EXTI rising edge pending register (EXTI_RPR3)

Address offset: 0x04C

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.RPIF74RPIF73RPIF72RPIF71RPIF70RPIF69RPIF68Res.RPIF66Res.Res.
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:4 RPIFx : configurable event input x rising edge pending bit (x = 74 to 68)

This bit is set when the selected rising edge event or an EXTI_SWIER3 software trigger arrives on the configurable event line. This bit is cleared by writing a 1 into the bit.
0: No rising edge trigger request occurred
1: Rising edge trigger request occurred

Bit 3 Reserved, must be kept at reset value.

Bit 2 RPIF66 : configurable event input 66 rising edge pending bit

Bits 1:0 Reserved, must be kept at reset value.

25.7.19 EXTI falling edge pending register (EXTI_FPR3)

Address offset: 0x050

Reset value: 0x0000 0000

This register contains only bits for configurable events.

Extended interrupts and event controller (EXTI)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.FPIF74FPIF73FPIF72FPIF71FPIF70FPIF69FPIF68Res.FPIF66Res.Res.
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:4 FPIFx : configurable event input x falling edge pending bit (x = 74 to 68)

This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing a 1 into the bit.

0: No falling edge trigger request occurred

1: Falling edge trigger request occurred

Bit 3 Reserved, must be kept at reset value.

Bit 2 FPIF66 : configurable event input 66 falling edge pending bit

Bits 1:0 Reserved, must be kept at reset value.

25.7.20 EXTI security enable register (EXTI_SECCFGR3)

Address offset: 0x054

Reset value: 0x0000 0000

This register provides write access security and privilege. A nonsecure or unprivileged write access is ignored and causes the generation of an secure illegal access event. All reads return the register data.

Write to this register are ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable input events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.SEC 77Res.Res.SEC 74SEC 73SEC 72SEC 71SEC 70SEC 69SEC 68Res.SEC 66SEC 65SEC 64
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Bit 13 SEC77 : Security enable on event input 77

0: Event security disabled (nonsecure)

1: Event security enabled (secure)

Bits 12:11 Reserved, must be kept at reset value.

Bits 10:4 SECx : Security enable on event input x (x = 74 to 68)

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 SECx : Security enable on event input x (x = 66 to 64)

25.7.21 EXTI privilege enable register (EXTI_PRIVCFGR3)

Address offset: 0x058

Reset value: 0x0000 0000

This register provides privileged write access protection. An unprivileged write access is discarded and causes the generation of a privileged illegal access event. An unprivileged read returns the register data.

Write to this register are ignored if GLOCK is enabled in EXTI_LOCKR.

This register contains only bits for security capable Input events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.PRIV 77Res.Res.PRIV 74PRIV 73PRIV 72PRIV 71PRIV 70PRIV 69PRIV 68Res.PRIV 66PRIV 65PRIV 64
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Bit 13 PRIV77 : Privilege enable on event input 77

0: Event privilege disabled (unprivileged)

1: Event privilege enabled (privileged)

Bits 12:11 Reserved, must be kept at reset value.

Bits 10:4 PRIVx : Privilege enable on event input x (x = 74 to 68)

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 PRIVx : Privilege enable on event input x (x = 66 to 64)

25.7.22 EXTI external interrupt selection register 1 (EXTI_EXTICR1)

Address offset: 0x060

Reset value: 0x0000 0000

Extended interrupts and event controller (EXTI)

31302928272625242322212019181716
EXTI3[7:0]EXTI2[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EXTI1[7:0]EXTI0[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 EXTI3[7:0] : EXTI3 GPIO port selection

These bits are written by software to select the source input for EXTI3 external interrupt.

0x00: PA3 pin

0x01: PB3 pin

0x02: PC3 pin

0x03: PD3 pin

0x04: PE3 pin

0x05: PF3 pin

0x06: PG3 pin

0x07: PH3 pin

0x08: PN3 pin

0x09: PO3 pin

0x0A: PP3 pin

0x0B: PQ3 pin

Others: reserved

Bits 23:16 EXTI2[7:0]: EXTI2 GPIO port selection

These bits are written by software to select the source input for EXTI2 external interrupt.

0x00: PA2 pin

0x01: PB2 pin

0x02: PC2 pin

0x03: PD2 pin

0x04: PE2 pin

0x05: PF2 pin

0x06: PG2 pin

0x07: PH2 pin

0x08: PN2 pin

0x09: PO2 pin

0x0A: PP2 pin

0x0B: PQ2 pin

Others: reserved

Bits 15:8 EXTI1[7:0]: EXTI1 GPIO port selection

These bits are written by software to select the source input for EXTI1 external interrupt.

0x00: PA1 pin

0x01: PB1 pin

0x02: PC1 pin

0x03: PD1 pin

0x04: PE1 pin

0x05: PF1 pin

0x06: PG1 pin

0x07: PH1 pin

0x08: PN1 pin

0x09: PO1 pin

0x0A: PP1 pin

0x0B: PQ1 pin

Others: reserved

Extended interrupts and event controller (EXTI)


Bits 7:0 EXTI0[7:0] : EXTI0 GPIO port selection.

These bits are written by software to select the source input for EXTI0 external interrupt.

0x00: PA0 pin

0x01: PB0 pin

0x02: PC0 pin

0x03: PD0 pin

0x04: PE0 pin

0x05: PF0 pin

0x06: PG0 pin

0x07: PH0 pin

0x08: PN0 pin

0x09: PO0 pin

0x0A: PP0 pin

0x0B: PQ0 pin

Others: reserved

25.7.23 EXTI external interrupt selection register 2 (EXTI_EXTICR2)

Address offset: 0x064

Reset value: 0x0000 0000

31302928272625242322212019181716
EXTI7[7:0]EXTI6[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EXTI5[7:0]EXTI4[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 EXTI7[7:0] : EXTI7 GPIO port selection.

These bits are written by software to select the source input for EXTI7 external interrupt.

0x00: PA7 pin

0x01: PB7 pin

0x02: PC7 pin

0x03: PD7 pin

0x04: PE7 pin

0x05: PF7 pin

0x06: PG7 pin

0x07: PH7 pin

0x08: PN7 pin

0x09: PO7 pin

0x0A: PP7 pin

0x0B: PQ7 pin

Others: reserved

Bits 23:16 EXTI6[7:0] : EXTI6 GPIO port selection.

These bits are written by software to select the source input for EXTI6 external interrupt.

0x00: PA6 pin

0x01: PB6 pin

0x02: PC6 pin

0x03: PD6 pin

0x04: PE6 pin

0x05: PF6 pin

0x06: PG6 pin

0x07: PH6 pin

0x08: PN6 pin

0x09: PO6 pin

0x0A: PP6 pin

0x0B: PQ6 pin

Others: reserved

Extended interrupts and event controller (EXTI)


Bits 15:8 EXTI5[7:0] : EXTI5 GPIO port selection.

These bits are written by software to select the source input for EXTI5 external interrupt.

0x00: PA5 pin

0x01: PB5 pin

0x02: PC5 pin

0x03: PD5 pin

0x04: PE5 pin

0x05: PF5 pin

0x06: PG5 pin

0x07: PH5 pin

0x08: PN5 pin

0x09: PO5 pin

0x0A: PP5 pin

0x0B: PQ5 pin

Others: reserved

Bits 7:0 EXTI4[7:0] : EXTI4 GPIO port selection.

These bits are written by software to select the source input for EXTI4 external interrupt.

0x00: PA4 pin

0x01: PB4 pin

0x02: PC4 pin

0x03: PD4 pin

0x04: PE4 pin

0x05: PF4 pin

0x06: PG4 pin

0x07: PH4 pin

0x08: PN4 pin

0x09: PO4 pin

0x0A: PP4 pin

0x0B: PQ4 pin

Others: reserved

25.7.24 EXTI external interrupt selection register 3 (EXTI_EXTICR3)

Address offset: 0x068

Reset value: 0x0000 0000

31302928272625242322212019181716
EXTI11[7:0]EXTI10[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EXTI9[7:0]EXTI8[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 EXTI11[7:0] : EXTI11 GPIO port selection.

These bits are written by software to select the source input for EXTI11 external interrupt.

0x00: PA11 pin

0x01: PB11 pin

0x02: PC11 pin

0x03: PD11 pin

0x04: PE11 pin

0x05: PF11 pin

0x06: PG11 pin

0x07: PH11 pin

0x08: PN11 pin

0x09: PO11 pin

0x0A: PP11 pin

0x0B: PQ11 pin

Others: reserved

Extended interrupts and event controller (EXTI)


Bits 23:16 EXTI10[7:0] : EXTI10 GPIO port selection.

These bits are written by software to select the source input for EXTI10 external interrupt.

0x00: PA10 pin

0x01: PB10 pin

0x02: PC10 pin

0x03: PD10 pin

0x04: PE10 pin

0x05: PF10 pin

0x06: PG10 pin

0x07: PH10 pin

0x08: PN10 pin

0x09: PO10 pin

0x0A: PP10 pin

0x0B: PQ10 pin

Others: reserved

Bits 15:8 EXTI9[7:0] : EXTI9 GPIO port selection.

These bits are written by software to select the source input for EXTI9 external interrupt.

0x00: PA9 pin

0x01: PB9 pin

0x02: PC9 pin

0x03: PD9 pin

0x04: PE9 pin

0x05: PF9 pin

0x06: PG9 pin

0x07: PH9 pin

0x08: PN9 pin

0x09: PO9 pin

0x0A: PP9 pin

0x0B: PQ9 pin

Others: reserved

Bits 7:0 EXTI8[7:0] : EXTI8 GPIO port selection.

These bits are written by software to select the source input for EXTI8 external interrupt.

0x00: PA8 pin
0x01: PB8 pin
0x02: PC8 pin
0x03: PD8 pin
0x04: PE8 pin
0x05: PF8 pin
0x06: PG8 pin
0x07: PH8 pin
0x08: PN8 pin
0x09: PO8 pin
0x0A: PP8 pin
0x0B: PQ8 pin
Others: reserved

25.7.25 EXTI external interrupt selection register 4 (EXTI_EXTICR4)

Address offset: 0x06C

Reset value: 0x0000 0000

31302928272625242322212019181716
EXTI15[7:0]EXTI14[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EXTI13[7:0]EXTI12[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Extended interrupts and event controller (EXTI)


Bits 31:24 EXTI15[7:0] : EXTI15 GPIO port selection.

These bits are written by software to select the source input for EXTI15 external interrupt.

0x00: PA15 pin

0x01: PB15 pin

0x02: PC15 pin

0x03: PD15 pin

0x04: PE15 pin

0x05: PF15 pin

0x06: PG15 pin

0x07: PH15 pin

0x08: PN15 pin

0x09: PO15 pin

0x0A: PP15 pin

0x0B: PQ15 pin

Others: reserved

Bits 23:16 EXTI14[7:0] : EXTI14 GPIO port selection.

These bits are written by software to select the source input for EXTI14 external interrupt.

0x00: PA14 pin

0x01: PB14 pin

0x02: PC14 pin

0x03: PD14 pin

0x04: PE14 pin

0x05: PF14 pin

0x06: PG14 pin

0x07: PH14 pin

0x08: PN14 pin

0x09: PO14 pin

0x0A: PP14 pin

0x0B: PQ14 pin

Others: reserved

Bits 15:8 EXTI13[7:0]: EXTI13 GPIO port selection.

These bits are written by software to select the source input for EXTI13 external interrupt.

0x00: PA13 pin

0x01: PB13 pin

0x02: PC13 pin

0x03: PD13 pin

0x04: PE13 pin

0x05: PF13 pin

0x06: PG13 pin

0x07: PH13 pin

0x08: PO13 pin

0x09: PP13 pin

0x0A: PQ13 pin

0x0B: PN13 pin

Others: reserved

Bits 7:0 EXTI12[7:0]: EXTI12 GPIO port selection.

These bits are written by software to select the source input for EXTI12 external interrupt.

0x00: PA12 pin

0x01: PB12 pin

0x02: PC12 pin

0x03: PD12 pin

0x04: PE12 pin

0x05: PF12 pin

0x06: PG12 pin

0x07: PH12 pin

0x08: PO12 pin

0x09: PP12 pin

0x0A: PQ12 pin

0x0B: PN12 pin

Others: reserved

25.7.26 EXTI lock register (EXTI_LOCKR)

Address offset: 0x070

Reset value: 0x0000 0000

This register can only be written by secure or privileged access. A write access from any other protection level is discarded, and any read returns zero value. Both illegal write and read access generate an illegal access event.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.GLOCK
rs

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 GLOCK : Global security privilege EXTI_SECCFGRx/PRIVCFGRx

This bit is written once after reset.

0: Security, privilege open can be modified.

1: Security, privilege locked can no longer be modified.

25.7.27 EXTI CPU wake-up with interrupt mask register 1 (EXTI_IMR1)

Address offset: 0x080

Reset value: 0x0000 0000

This register contains only bits for configurable events and direct events.

31302928272625242322212019181716
IM31IM30IM29IM28IM27IM26IM25IM24IM23IM22IM21IM20IM19IM18IM17Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
IM15IM14IM13IM12IM11IM10IM9IM8IM7IM6IM5IM4IM3IM2IM1IM0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:17 IMx : CPU wake-up with interrupt mask on event input x (x = 31 to 17)

0: Wake-up and interrupt from input event x is masked.

1: Wake-up and interrupt from input event x is unmasked. CPU wake-up event and configurable event interrupt generated.

Bit 16 Reserved, must be kept at reset value.

Bits 15:0 IMx : CPU wake-up with interrupt mask on event input x (x = 15 to 0)

25.7.28 EXTI CPU wake-up with event mask register 1 (EXTI_EMR1)

Address offset: 0x084

Reset value: 0x0000 0000

31302928272625242322212019181716
EM31EM30EM29EM28EM27EM26EM25EM24EM23EM22EM21EM20EM19EM18EM17Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EM15EM14EM13EM12EM11EM10EM9EM8EM7EM6EM5EM4EM3EM2EM1EM0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:17 EMx : CPU wake-up with event on event input x (x = 31 to 17)

0: Wake-up with event request from line x is masked.

1: Wake-up with event request from line x is unmasked.

Bit 16 Reserved, must be kept at reset value.

Bits 15:0 EMx : CPU wake-up with interrupt mask on event input x (x = 15 to 0)

25.7.29 EXTI CPU wake-up with interrupt mask register 2 (EXTI_IMR2)

Address offset: 0x090

Reset value: 0x0000 0000

This register contains only bits for configurable events and direct events.

31302928272625242322212019181716
IM63IM62IM61IM60Res.IM58IM57IM56IM55IM54IM53IM52IM51IM50IM49IM48
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
IM47IM46IM45IM44IM43IM42IM41IM40IM39IM38IM37IM36IM35IM34IM33IM32
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Extended interrupts and event controller (EXTI)

Bits 31:28 IMx : CPU wake-up with interrupt mask on event input x (x = 63 to 60)

0: Wake-up and interrupt from input event x is masked.

1: Wake-up and interrupt from input event x is unmasked. CPU wake-up event and configurable event interrupt generated.

Bit 27 Reserved, must be kept at reset value.

Bits 26:0 IMx : CPU wake-up with interrupt mask on event input x (x = 58 to 32)

25.7.30 EXTI CPU wake-up with event mask register 2 (EXTI_EMR2)

Address offset: 0x094

Reset value: 0x0000 0000

31302928272625242322212019181716
EM63EM62EM61EM60Res.EM58EM57EM56EM55EM54EM53EM52EM51EM50EM49EM48
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

1514131211109876543210
EM47EM46EM45EM44EM43EM42EM41EM40EM39EM38EM37EM36EM35EM34EM33EM32
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:28 EMx : CPU wake-up with event on event input x (x = 63 to 60)

0: Wake-up with event request from line x is masked.

1: Wake-up with event request from line x is unmasked.

Bit 27 Reserved, must be kept at reset value.

Bits 26:0 EMx : CPU wake-up with interrupt mask on event input x (x = 58 to 0)

25.7.31 EXTI CPU wake-up with interrupt mask register 3 (EXTI_IMR3)

Address offset: 0x0A0

Reset value: 0x0000 0000

This register contains only bits for configurable events and direct events.

Extended interrupts and event controller (EXTI)

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.IM77Res.Res.IM74IM73IM72IM71IM70IM69IM68Res.IM66IM65IM64
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Bit 13 IM77 : CPU wake-up with interrupt mask on event input 77

0: Wake-up and interrupt from input event x is masked.

1: Wake-up and interrupt from input event x is unmasked. CPU wake-up event and configurable event interrupt generated.

Bits 12:11 Reserved, must be kept at reset value.

Bits 10:4 IMx : CPU wake-up with interrupt mask on event input x (x = 74 to 68)

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 IMx : CPU wake-up with interrupt mask on event input x (x = 66 to 64)

25.7.32 EXTI CPU wake-up with event mask register 3 (EXTI_EM3)

Address offset: 0x0A4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.EM77Res.Res.EM74EM73EM72EM71EM70EM69EM68Res.EM66EM65EM64
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Extended interrupts and event controller (EXTI)


Bit 13 EM77 : CPU wake-up with event on event input 77

0: Wake-up with event request from line x is masked.

1: Wake-up with event request from line x is unmasked.

Bits 12:11 Reserved, must be kept at reset value.

Bits 10:4 EMx : CPU wake-up with interrupt mask on event input x (x = 74 to 68)

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 EMx : CPU wake-up with interrupt mask on event input x (x = 66 to 64)

25.7.33 EXTI register map

Table 143. EXTI register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000EXTI_RTSR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RT21RT20Res.Res.Res.Res.RT[15:0]
Reset value000000000000000000
0x004EXTI_FTSR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FT21FT20Res.Res.Res.Res.FT[15:0]
Reset value000000000000000000
0x008EXTI_SWIER1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SW21SW20Res.Res.Res.Res.SWI[15:0]
Reset value000000000000000000
0x00CEXTI_RPR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RPIF21RPIF20Res.Res.Res.Res.RPIF[15:0]
Reset value000000000000000000
0x010EXTI_FPR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPIF21FPIF20Res.Res.Res.Res.FPIF[15:0]
Reset value000000000000000000
0x014EXTI_SECCFGGR1SEC[31:17]Res.SEC[15:0]
Reset value0000000000000000000000000000000
0x018EXTI_PRIVCFGGR1PRIV[31:17]Res.PRIV[15:0]
Reset value0000000000000000000000000000000
0x01CReservedReserved
0x020EXTI_RTSR2Res.Res.Res.Res.Res.Res.Res.RT56Res.RT54Res.RT51Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RT40RT39Res.Res.Res.Res.Res.Res.
Reset value00000
0x024EXTI_FTSR2Res.Res.Res.Res.Res.Res.Res.FT56Res.FT54Res.FT51Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FT40FT39Res.Res.Res.Res.Res.Res.
Reset value00000
0x028EXTI_SWIER2Res.Res.Res.Res.Res.Res.Res.SW56Res.SW54Res.SW51Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SW40SW39Res.Res.Res.Res.Res.Res.
Reset value00000
0x02CEXTI_RPR2Res.Res.Res.Res.Res.Res.Res.RPIF56Res.RPIF54Res.RPIF51Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RPIF40RPIF39Res.Res.Res.Res.Res.Res.
Reset value00000
0x030EXTI_FPR2Res.Res.Res.Res.Res.Res.Res.FPIF56Res.FPIF54Res.FPIF51Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPIF40FPIF39Res.Res.Res.Res.Res.Res.
Reset value00000
0x034EXTI_SECCFGGR2SEC[63:60]Res.SEC[58:32]
Reset value00000000000000000000000000000000
0x038EXTI_PRIVCFGGR2PRIV[63:60]Res.PRIV[58:32]
Reset value00000000000000000000000000000000
0x03CReservedReserved

Extended interrupts and event controller (EXTI)

Table 143. EXTI register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x040EXTI_RTSR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RT74RT73RT72RT71RT70RT69RT68Res.RT66Res.Res.
Reset value00000000
0x044EXTI_FTSR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FT74FT73FT72FT71FT70FT69FT68Res.FT66Res.Res.
Reset value00000000
0x048EXTI_SWIER3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SWI74SWI73SWI72SWI71SWI70SWI69SWI68Res.SWI66Res.Res.
Reset value00000000
0x04CEXTI_RPR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RPIF74RPIF73RPIF72RPIF71RPIF70RPIF69RPIF68Res.RPIF66Res.Res.
Reset value00000000
0x050EXTI_FPR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPIF74FPIF73FPIF72FPIF71FPIF70FPIF69FPIF68Res.FPIF66Res.Res.
Reset value00000000
0x054EXTI_SECCFGR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SEC74SEC73SEC72SEC71SEC70SEC69SEC68Res.SEC66Res.Res.
Reset value00000000
0x058EXTI_PRIVCFGR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PRIV74PRIV73PRIV72PRIV71PRIV70PRIV69PRIV68Res.PRIV66Res.Res.
Reset value00000000
0x05CReservedReserved
0x060EXTI_EXTICR1EXTI3[7:0]EXTI2[7:0]EXTI1[7:0]EXTI0[7:0]
Reset value00000000000000000000000000000000
0x064EXTI_EXTICR2EXTI7[7:0]EXTI6[7:0]EXTI5[7:0]EXTI4[7:0]
Reset value00000000000000000000000000000000
0x068EXTI_EXTICR3EXTI11[7:0]EXTI10[7:0]EXTI9[7:0]EXTI8[7:0]
Reset value00000000000000000000000000000000
0x06CEXTI_EXTICR4EXTI15[7:0]EXTI14[7:0]EXTI13[7:0]EXTI12[7:0]
Reset value00000000000000000000000000000000
0x070EXTI_LOCKRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.GLOCK
Reset value0
0x074 to 0x07CReservedReserved
0x080EXTI_IMR1IM[31:17]
Reset value00000000000000000000000000000000
0x084EXTI_EMR1EM[31:17]
Reset value00000000000000000000000000000000
0x08CReservedReserved

Table 143. EXTI register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x090EXTI_IMR2IM[63:60]Res. IM[58:32]
Reset value0000
0x094EXTI_EMR2EM[63:60]Res. EM[58:32]
Reset value0000
0x09CReservedReserved
0x0A0EXTI_IMR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IM77Res.Res.IM74IM73IM72IM71IM70IM69IM68Res.IM66IM65IM64
Reset value00000000000
0x0A4EXTI_EMR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EM77Res.Res.EM74EM73EM72EM71EM70EM69EM68Res.EM66EM65EM64
Reset value00000000000

Refer to Section 2.3 for the register boundary addresses.