23. Extended interrupts and event controller (EXTI)

The extended interrupts and event controller (EXTI) manages the individual CPU and system wake-up through configurable event inputs. It provides wake-up requests to the power control and generates an interrupt request to the CPU NVIC and events to the CPU event input. For the CPU, 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.

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

The EXTI also includes the EXTI mux IO port selection.

23.1 EXTI main features

The EXTI main features are the following:

The configurable events have the following features:

23.2 EXTI block diagram

The EXTI consists of a register block accessed via an AHB interface, the event input trigger block, the masking block, and the EXTI mux as shown in Figure 101 .

The register block contains all the EXTI registers.

The event input trigger block provides event input edge trigger logic.

The masking block provides the event input distribution to the different wake-up, interrupt and event outputs, and their masking.

The EXTI mux provides the IO port selection on to the EXTI event signal.

Figure 101. EXTI block diagram

Figure 101. EXTI block diagram. The diagram shows the internal architecture of the EXTI block. On the left, an 'AHB interface' connects to 'Registers' and is controlled by 'hclk'. 'GPIO' blocks connect via 'IOPort' to an 'EXTI mux'. 'Peripherals' provide 'Wake-up' signals to an 'Event trigger'. The 'Event trigger' sends 'events' to a 'Masking' block. The 'Registers' block outputs 'exti_ilac' and 'exti[15:0]' (to interconnect). The 'Masking' block outputs 'sys_wake-up' and 'c_wake-up' to a 'PWR' block, and 'it_exti_per(y)' to a 'Pulse' block. The 'Pulse' block also receives 'c_evt_exti' and 'c_evt_rst' and outputs 'c_event' and 'c_fclk' to a 'CPU' block containing 'rxev' and 'nvic(x)'. The 'Pulse' block is part of an 'EVG' (Event Generator) block. The entire EXTI block is labeled 'EXTI' at the bottom left. A reference 'MSV62642V1' is in the bottom right.
Figure 101. EXTI block diagram. The diagram shows the internal architecture of the EXTI block. On the left, an 'AHB interface' connects to 'Registers' and is controlled by 'hclk'. 'GPIO' blocks connect via 'IOPort' to an 'EXTI mux'. 'Peripherals' provide 'Wake-up' signals to an 'Event trigger'. The 'Event trigger' sends 'events' to a 'Masking' block. The 'Registers' block outputs 'exti_ilac' and 'exti[15:0]' (to interconnect). The 'Masking' block outputs 'sys_wake-up' and 'c_wake-up' to a 'PWR' block, and 'it_exti_per(y)' to a 'Pulse' block. The 'Pulse' block also receives 'c_evt_exti' and 'c_evt_rst' and outputs 'c_event' and 'c_fclk' to a 'CPU' block containing 'rxev' and 'nvic(x)'. The 'Pulse' block is part of an 'EVG' (Event Generator) block. The entire EXTI block is labeled 'EXTI' at the bottom left. A reference 'MSV62642V1' is in the bottom right.

Table 187. EXTI signals

NameI/ODescription
AHB interfaceI/OEXTI register bus interface. When one event is configured to enable security, the AHB interface supports secure accesses.
hclkIAHB bus clock and EXTI system clock
Configurable event(y)IAsynchronous wake-up events from peripherals that do not have an associated interrupt and flag in the peripheral
exti_ilacOIllegal access event
IOPort(n)IGPIOs block IO ports[15:0]
exti[15:0]OEXTI GPIO output port to trigger other peripherals
it_exti_per (y)OInterrupts to the CPU associated with configurable event (y)
c_evt_extiOHigh-level sensitive event output for CPU, synchronous to hclk
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 CPU, synchronous to hclk

Table 188. 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

23.2.1 EXTI connections between peripherals and CPU

Some peripherals able to generate wake-up or interrupt events when the system is in Stop mode, are connected to the EXTI.

The EXTI configurable event interrupts are connected to the NVIC.

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

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

23.2.2 EXTI interrupt/event mapping

The EXTI lines are connected as shown in the table below.

Table 189. EXTI line connections

EXTI lineLine sourceLine type
0-15GPIOConfigurable
16PVD outputConfigurable
17COMP1 outputConfigurable
18 (1)COMP2 outputConfigurable
19V DDUSB voltage monitorConfigurable
20V DDIO2 voltage monitorConfigurable
21V DDA voltage monitor 1Configurable
22V DDA voltage monitor 2Configurable
23 (2)LSECSS or MSI_PLL_UNLOCKConfigurable
23 (3)MSI_PLL_UNLOCKConfigurable
24 (3)LSECSSConfigurable
25 (3)IWDG early interruptConfigurable

1. Not available in STM32U535/545 devices.

2. Not available in STM32U535/545/59x/5Ax/5Fx/5Gx devices and STM32U575/585 rev. X devices. Available in all other revisions of STM32U575/585.

3. Available on all STM32U5 Series except STM32U575/585 devices.

23.3 EXTI functional description

The events features are controlled from register bits as follows:

23.3.1 EXTI configurable event input wake-up

The figure below is a detailed representation of the logic associated with configurable event inputs that wake up the CPU subsystem bus clocks and generate an EXTI pending flag and interrupt to the CPU, and/or a CPU wake-up event.

Figure 102. Configurable event trigger logic CPU wake-up

Figure 102. Configurable event trigger logic CPU wake-up. This block diagram shows the internal logic of the EXTI peripheral. On the left, an 'AHB interface' and 'hclk' are connected to a 'Peripheral interface' block. This block contains 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 from the left and is processed by an 'Asynchronous edge detection circuit' which outputs 'rst'. This 'rst' signal is also fed into a 'Rising edge detect pulse generator' which outputs 'hclk'. The 'Software interrupt event register' and 'Rising trigger selection register' also feed into this 'Rising edge detect pulse generator'. The output of the 'Rising edge detect pulse generator' is connected to an 'EVG' (Event Generator) block. The 'EVG' block contains a 'CPU rising edge detect pulse generator' which outputs 'c_event'. The 'EVG' block also receives 'ck_fclk_c' and 'c_evt_rst' signals. The 'Pending request register' is connected to the 'Rising edge detect pulse generator' and outputs 'it_exti_per(y)'. The 'CPU event mask register' and 'CPU interrupt mask register' are connected to a series of OR gates that combine 'Other CPU events(x,y)' and 'CPU wake-up(y)' signals to produce 'c_wake-up' and 'sys_wake-up' signals. The 'Falling trigger selection register' and 'Rising trigger selection register' are also connected to these OR gates. The diagram is labeled 'EXTI' at the bottom left and 'MSV62643V1' at the bottom right.
Figure 102. Configurable event trigger logic CPU wake-up. This block diagram shows the internal logic of the EXTI peripheral. On the left, an 'AHB interface' and 'hclk' are connected to a 'Peripheral interface' block. This block contains 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 from the left and is processed by an 'Asynchronous edge detection circuit' which outputs 'rst'. This 'rst' signal is also fed into a 'Rising edge detect pulse generator' which outputs 'hclk'. The 'Software interrupt event register' and 'Rising trigger selection register' also feed into this 'Rising edge detect pulse generator'. The output of the 'Rising edge detect pulse generator' is connected to an 'EVG' (Event Generator) block. The 'EVG' block contains a 'CPU rising edge detect pulse generator' which outputs 'c_event'. The 'EVG' block also receives 'ck_fclk_c' and 'c_evt_rst' signals. The 'Pending request register' is connected to the 'Rising edge detect pulse generator' and outputs 'it_exti_per(y)'. The 'CPU event mask register' and 'CPU interrupt mask register' are connected to a series of OR gates that combine 'Other CPU events(x,y)' and 'CPU wake-up(y)' signals to produce 'c_wake-up' and 'sys_wake-up' signals. The 'Falling trigger selection register' and 'Rising trigger selection register' are also connected to these OR gates. The diagram is labeled 'EXTI' at the bottom left and 'MSV62643V1' at the bottom right.
  1. 1. Only for the input events that support CPU rxeu generation c_event .

The software interrupt event register allows configurable events to be triggered by software, writing the corresponding register bit, whatever the edge selection setting.

The configurable event active trigger edge (or both edges) is selected and enabled in the rising/falling edge selection registers.

The CPU has its dedicated wake-up (interrupt) mask register and a dedicated event mask registers. When the event is enabled, it is generated to the CPU. All events for the CPU 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 registers. The pending register is only set for an unmasked interrupt. Each configurable event provides a common interrupt to the CPU. The configurable event interrupts must be acknowledged by software in the EXTI_RPR and/or EXTI_FPR registers.

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.

23.3.2 EXTI mux selection

The EXTI mux allows the selection of GPIOs as interrupts and wake-up. GPIOs are connected via 16 EXTI mux lines to the first 16 EXTI events as configurable event.

The selection of GPIO port as EXTI mux output is controlled in EXTI_EXTICRm.

Figure 103. EXTI mux GPIO selection

Diagram of EXTI mux GPIO selection showing three multiplexers for EXTI10, EXTI11, and EXTI15. Each multiplexer selects between multiple GPIO pins (e.g., PA0, PB0, PC0, ..., Px0 for EXTI10) to produce a single EXTI signal output.

The diagram illustrates the EXTI mux selection for three specific interrupt lines: EXTI10, EXTI11, and EXTI15. Each line is controlled by a multiplexer (MUX) whose inputs are various GPIO pins from different ports (A, B, C, and X). For EXTI10, the inputs are PA0, PB0, PC0, ..., Px0. For EXTI11, the inputs are PA1, PB1, PC1, ..., Px1. For EXTI15, the inputs are PA15, PB15, PC15, ..., Px15. The outputs of these multiplexers are labeled EXTI10, EXTI11, ..., EXTI15. The control signals for these multiplexers are EXTI_EXTICR1.EXTI10, EXTI_EXTICR1.EXTI11, and EXTI_EXTICR1.EXTI15 respectively. A reference code MS44726V1 is shown in the bottom right corner.

Diagram of EXTI mux GPIO selection showing three multiplexers for EXTI10, EXTI11, and EXTI15. Each multiplexer selects between multiple GPIO pins (e.g., PA0, PB0, PC0, ..., Px0 for EXTI10) to produce a single EXTI signal output.

The EXTI mux outputs are available as output signals from the EXTI to trigger other peripherals, whatever the masking in EXTI_IMR and EXTI_EMR registers.

23.4 EXTI functional behavior

The configurable events are enabled by enabling at least one of the trigger edges.

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

Table 190. Masking functionality

CPU interrupt enable (in EXTI_IMR.IMn)CPU event enable (in EXTI_EMR.EMn)Configurable event inputs (in EXTI_RPR.RPIFn and EXTI_FPR.FPIFn)Exti(n) interrupt (1)CPU eventCPU wake-up
00NoMaskedMaskedMasked
1NoMaskedYesYes

Table 190. Masking functionality (continued)

CPU interrupt enable (in EXTI_IMR.IMn)CPU event enable (in EXTI_EMR.EMn)Configurable event inputs (in EXTI_RPR.RPIFn and EXTI_FPR.FPIFn)Exti(n) interrupt (1)CPU eventCPU wake-up
10Status latchedYesMaskedYes (2)
1Status latchedYesYesYes

1. The single exti(n) interrupt goes to the CPU. If no interrupt is required for CPU(m), the exti(n) interrupt must be masked in the CPU NVIC.

2. Only if CPU interrupt is enabled in EXTI_IMR.IMn.

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 pending bits RPIFn in EXTI_RPR and/or FPIFn in EXTI_FPR is/are set: the CPU subsystem is woken up, and the CPU interrupt signal is activated. RPIFn and/or FPIFn must be cleared by the software writing them/it to one. This action clears the CPU interrupt.

For the configurable event inputs, an event request can be generated by software when writing a 1 in the software interrupt/event register EXTI_SWIER, allowing the generation of a rising edge on the event. The rising edge event pending bit is set in EXTI_RPR, whatever the setting in EXTI_RTSR.

23.5 EXTI event protection

The EXTI is able to protect event register bits from being modified by nonsecure and unprivileged accesses. The protection is individually activated per input event via the register bits in EXTI_SECCFGR and EXTI_PRIVCFGR. At EXTI level, the protection consists in preventing the following unauthorized write access:

Table 191. Register protection overview

Register nameAccess typeProtection (1)(2)
EXTI_RTSRRWSecurity and privilege can be bit-wise enabled in EXTI_SECCFGR and EXTI_PRIVCFGR.
EXTI_FTSRRW
EXTI_SWIERRW
EXTI_RPRRW
EXTI_FPRRW
EXTI_SECCFGRRWAlways secure. Privilege can be bit-wise enabled in EXTI_PRIVCFGR.
EXTI_PRIVCFGRRWAlways privilege. Security can be bit-wise enabled in EXTI_SECCFGR.
EXTI_EXTICRnRWSecurity and privilege can be bit-wise enabled in EXTI_SECCFGR and EXTI_PRIVCFGR.
EXTI_LOCKRRWAlways secure
Table 191. Register protection overview
Register nameAccess typeProtection (1)(2)
EXTI_IMRWSecurity and privilege can be bit-wise enabled in EXTI_SECCFGR and EXTI_PRIVCFGR.
EXTI_EMRRW
  1. 1. Security is enabled with the individual input event (EXTI_SECCFGR register).
  2. 2. Privilege is enabled with the individual input event (EXTI_PRIVCFGR register).

23.5.1 EXTI security protection

When security is enabled for an input event, the associated input event configuration and 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 registers EXTI_SECCFGR can be globally locked after reset by LOCK in EXTI_LOCKR.

23.5.2 EXTI privilege protection

When 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 access 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 access and unprivileged access.

The privileged configuration in EXTI_PRIVCFGR registers can be globally locked after reset by LOCK in EXTI_LOCKR.

23.6 EXTI registers

The EXTI register map is divided in the following sections:

Table 192. EXTI register map sections

Address offsetDescription
0x000 - 0x01CGeneral configurable event [22:0] configuration
0x060 - 0x06CEXTI IO 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.

23.6.1 EXTI rising trigger selection register (EXTI_RTSR1)

Address offset: 0x000

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
ResResResResResResRT25RT24RT23RT22RT21RT20RT19RT18RT17RT16
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
RT15RT14RT13RT12RT11RT10RT9RT8RT7RT6RT5RT4RT3RT2RT1RT0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_SECCFGR.SECx is disabled, RTx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, RTx can only be accessed with secure access. Nonsecure write to this bit x is discarded and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0.

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

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

Note: RT25, RT24, and RT23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

  1. 1. The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a rising edge on the configurable event input occurs during writing of 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.

23.6.2 EXTI falling trigger selection register (EXTI_FTSR1)

Address offset: 0x004

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.FT25FT24FT23FT22FT21FT20FT19FT18FT17FT16
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
FT15FT14FT13FT12FT11FT10FT9FT8FT7FT6FT5FT4FT3FT2FT1FT0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_SECCFGR.SECx is disabled, FTx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, FTx can only be accessed with secure access. Nonsecure write to this FTx is discarded, nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0.

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

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

Note: FT25, FT24, and FT23 bits are only available on some devices in the STM32U5 Series.

Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

  1. 1. The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a falling edge on the configurable event input occurs during writing of 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.

23.6.3 EXTI software interrupt event register (EXTI_SWIER1)

Address offset: 0x008

Reset value: 0x0000 0000

This register contains only bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.SWI25SWI24SWI23SWI22SWI21SWI20SWI19SWI18SWI17SWI16
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SWI15SWI14SWI13SWI12SWI11SWI10SWI9SWI8SWI7SWI6SWI5SWI4SWI3SWI2SWI1SWI0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_SECCFGR.SECx is disabled, SWIx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, SWIx can only be accessed with secure access.

Nonsecure write to this SWI x is discarded, nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0.

A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read.

0: Writing 0 has no effect.

1: Writing 1 triggers a rising edge event on event x. This bit is auto cleared by hardware.

Note: SW25, SW24, and SW23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.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.RPIF25RPIF24RPIF23RPIF22RPIF21RPIF20RPIF19RPIF18RPIF17RPIF16
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1
1514131211109876543210
RPIF15RPIF14RPIF13RPIF12RPIF11RPIF10RPIF9RPIF8RPIF7RPIF6RPIF5RPIF4RPIF3RPIF2RPIF1RPIF0
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

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

Bits 25:0 RPIFx : configurable event inputs x rising edge pending bit (x = 25 to 0)

When EXTI_SECCFGR.SECx is disabled, RPIFx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, RPIFx can only be accessed with secure access.

Nonsecure write to this RPIFx is discarded, nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0.

0: No rising edge trigger request occurred

1: Rising edge trigger request occurred

This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it.

Note: RPIF25, RPIF24, and RPIF23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.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.FPIF25FPIF24FPIF23FPIF22FPIF21FPIF20FPIF19FPIF18FPIF17FPIF16
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1
1514131211109876543210
FPIF15FPIF14FPIF13FPIF12FPIF11FPIF10FPIF9FPIF8FPIF7FPIF6FPIF5FPIF4FPIF3FPIF2FPIF1FPIF0
rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1

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

Bits 25:0 FPIFx : configurable event inputs x falling edge pending bit (x = 25 to 0)

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

Note: FPIF25, FPIF24, and FPIF23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.6 EXTI security configuration register (EXTI_SECCFGR1)

Address offset: 0x014

Reset value: 0x0000 0000

This register provides write access security, a nonsecure write access is ignored and causes the generation of an illegal access event. A nonsecure read returns the register data. This register contains only bits for security capable input events..

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.SEC25SEC24SEC23SEC22SEC21SEC20SEC19SEC18SEC17SEC16
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SEC15SEC14SEC13SEC12SEC11SEC10SEC9SEC8SEC7SEC6SEC5SEC4SEC3SEC2SEC1SEC0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_PRIVCFG.PRIVx is disabled, SECx can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFG.PRIVx is enabled, SECx can only be written with privileged access.

Unprivileged write to this SECx is discarded.

0: Event security disabled (nonsecure)

1: Event security enabled (secure)

Note: SEC25, SEC24, and SEC23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.7 EXTI privilege configuration register (EXTI_PRIVCFG1)

Address offset: 0x018

Reset value: 0x0000 0000

This register provides privileged write access protection. An unprivileged read returns the register data. This register contains only bits for security capable input events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.PRIV25PRIV24PRIV23PRIV22PRIV21PRIV20PRIV19PRIV18PRIV17PRIV16
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
PRIV15PRIV14PRIV13PRIV12PRIV11PRIV10PRIV9PRIV8PRIV7PRIV6PRIV5PRIV4PRIV3PRIV2PRIV1PRIV0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 25:0 PRIVx : Security enable on event input x (x = 25 to 0)

When EXTI_SECCFG.SECx is disabled, PRIVx can be accessed with secure and nonsecure access.

When EXTI_SECCFG.SECx is enabled, PRIVx can only be written with secure access.

Nonsecure write to this PRIVx is discarded.

0: Event privilege disabled (unprivileged)

1: Event privilege enabled (privileged)

Note: PRIV25, PRIV24, and PRIV23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.8 EXTI external interrupt selection register (EXTI_EXTICRm)

Address offset: 0x060 + 0x4 * (m - 1) (m = 1 to 4)

Reset value: 0x0000 0000

31302928272625242322212019181716
EXTI{4*(m-1)+3}[7:0]EXTI{4*(m-1)+2}[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
EXTI{4*(m-1)+1}[7:0]EXTI{4*(m-1)}[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 EXTI{4*(m-1)+3}[7:0]: EXTI{4*(m-1)+3} GPIO port selection

These bits are written by software to select the source input for EXTI{4*(m-1)+3} external interrupt.

When EXTI_SECCFGR.SEC{4*(m-1)+3} is disabled, this field can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SEC{4*(m-1)+3} is enabled, this field can only be accessed with secure access. Nonsecure write is discarded, and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+3} is disabled, this field can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+3} is enabled, this field can only be accessed with privileged access. Unprivileged write to this bit is discarded.

0x00: PA{4*(m-1)+3} pin

0x01: PB{4*(m-1)+3} pin

0x02: PC{4*(m-1)+3} pin

0x03: PD{4*(m-1)+3} pin

0x04: PE{4*(m-1)+3} pin

0x05: PF{4*(m-1)+3} pin

0x06: PG{4*(m-1)+3} pin

0x07: PH{4*(m-1)+3} pin

0x08: PI{4*(m-1)+3} pin

0x09: PJ{4*(m-1)+3} pin

Others: reserved

Bits 23:16 EXTI{4*(m-1)+2}[7:0]: EXTI{4*(m-1)+2} GPIO port selection

These bits are written by software to select the source input for the EXTI{4*(m-1)+2} external interrupt.

When EXTI_SECCFGR.SEC{4*(m-1)+2} is disabled, this field can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SEC{4*(m-1)+2} is enabled, this field can only be accessed with secure access. Nonsecure write is discarded, and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+2} is disabled, this field can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+2} is enabled, this field can only be accessed with privileged access. Unprivileged write to this bit is discarded.

0x00: PA[{4*(m-1)+2}] pin

0x01: PB[{4*(m-1)+2}] pin

0x02: PC[{4*(m-1)+2}] pin

0x03: PD[{4*(m-1)+2}] pin

0x04: PE[{4*(m-1)+2}] pin

0x05: PF[{4*(m-1)+2}] pin

0x06: PG[{4*(m-1)+2}] pin

0x07: PH[{4*(m-1)+2}] pin

0x08: PI[{4*(m-1)+2}] pin

0x09: PJ[{4*(m-1)+2}] pin

Others: reserved

Bits 15:8 EXTI{4*(m-1)+1}[7:0]: EXTI{4*(m-1)+1} GPIO port selection

These bits are written by software to select the source input for EXTI{4*(m-1)+1} external interrupt.

When EXTI_SECCFGR.SEC{4*(m-1)+1} is disabled, this field can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SEC{4*(m-1)+1} is enabled, this field can only be accessed with secure access. Nonsecure write is discarded and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+1} is disabled, this field can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIV{4*(m-1)+1} is enabled, this field can only be accessed with privileged access. Unprivileged write to this bit is discarded.

0x00: PA[{4*(m-1)+1}] pin

0x01: PB[{4*(m-1)+1}] pin

0x02: PC[{4*(m-1)+1}] pin

0x03: PD[{4*(m-1)+1}] pin

0x04: PE[{4*(m-1)+1}] pin

0x05: PF[{4*(m-1)+1}] pin

0x06: PG[{4*(m-1)+1}] pin

0x07: PH[{4*(m-1)+1}] pin

0x08: PI[{4*(m-1)+1}] pin

0x09: PJ[{4*(m-1)+1}] pin

Others: reserved

Bits 7:0 EXTI{4*(m-1)}[7:0] : EXTI{4*(m-1)} GPIO port selection

These bits are written by software to select the source input for EXTI{4*(m-1)} external interrupt.

When EXTI_SECCFGR.SEC{4*(m-1)} is disabled, this field can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SEC{4*(m-1)} is enabled, this field can only be accessed with secure access. Nonsecure write is discarded and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIV{4*(m-1)} is disabled, this field can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIV{4*(m-1)} is enabled, this field can only be accessed with privilege access. Unprivileged write to this bit is discarded.

0x00: PA{4*(m-1)} pin

0x01: PB{4*(m-1)} pin

0x02: PC{4*(m-1)} pin

0x03: PD{4*(m-1)} pin

0x04: PE{4*(m-1)} pin

0x05: PF{4*(m-1)} pin

0x06: PG{4*(m-1)} pin

0x07: PH{4*(m-1)} pin

0x08: PI{4*(m-1)} pin

0x09: PJ{4*(m-1)} pin

Others: reserved

23.6.9 EXTI lock register (EXTI_LOCKR)

Address offset: 0x070

Reset value: 0x0000 0000

This register provides write access security: a nonsecure write access is ignored, a read access returns zero data, and both generates an illegal access event.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
ResResResResResResResResResResResResResResResLOCK
rs

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

Bit 0 LOCK : Global security and privilege configuration registers (EXTI_SECCFGR and EXTI_PRIVCFGR) lock

This bit is written once after reset.

0: Security and privilege configuration open, can be modified.

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

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

Address offset: 0x080

Reset value: 0x0000 0000

This register contains bits for configurable events.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.IM25IM24IM23IM22IM21IM20IM19IM18IM17IM16
1514131211109876543210
IM15IM14IM13IM12IM11IM10IM9IM8IM7IM6IM5IM4IM3IM2IM1IM0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_SECCFGR.SECx is disabled, IMx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, IMx can only be accessed with secure access.

Nonsecure write to this bit is discarded and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded.

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

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

Note: IM25, IM24, and IM23 bits are only available on some devices in the STM32U5 Series.

Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

  1. 1. The reset value for configurable event inputs is set to 0 in order to disable the interrupt by default.

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

Address offset: 0x084

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.EM25EM24EM23EM22EM21EM20EM19EM18EM17EM16
1514131211109876543210
EM15EM14EM13EM12EM11EM10EM9EM8EM7EM6EM5EM4EM3EM2EM1EM0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

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

When EXTI_SECCFGR.SECx is disabled, EMx can be accessed with nonsecure and secure access.

When EXTI_SECCFGR.SECx is enabled, EMx can only be accessed with secure access.

Nonsecure write to this bit x is discarded and nonsecure read returns 0.

When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access.

When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded.

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

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

Note: EM25, EM24, and EM23 bits are only available on some devices in the STM32U5 Series. Refer to the EXTI line connections table for its availability. If not present, consider this bit as reserved and keep at reset value.

23.6.12 EXTI register map

Table 193. EXTI register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000EXTI_RTSR1Res.Res.Res.Res.Res.Res.RT25RT24RT23RT22RT21RT20RT19RT18RT17RT16RT15RT14RT13RT12RT11RT10RT9RT8RT7RT6RT5RT4RT3RT2RT1RT0
Reset value00000000000000000000000000
0x004EXTI_FTSR1Res.Res.Res.Res.Res.Res.FT25FT24FT23FT22FT21FT20FT19FT18FT17FT16FT15FT14FT13FT12FT11FT10FT9FT8FT7FT6FT5FT4FT3FT2FT1FT0
Reset value00000000000000000000000000
0x008EXTI_SWIER1Res.Res.Res.Res.Res.Res.SWI25SWI24SWI23SWI22SWI21SWI20SWI19SWI18SWI17SWI16SWI15SWI14SWI13SWI12SWI11SWI10SWI9SWI8SWI7SWI6SWI5SWI4SWI3SWI2SWI1SWI0
Reset value00000000000000000000000000
0x00CEXTI_RPR1Res.Res.Res.Res.Res.Res.RPIF25RPIF24RPIF23RPIF22RPIF21RPIF20RPIF19RPIF18RPIF17RPIF16RPIF15RPIF14RPIF13RPIF12RPIF11RPIF10RPIF9RPIF8RPIF7RPIF6RPIF5RPIF4RPIF3RPIF2RPIF1RPIF0
Reset value00000000000000000000000000
0x010EXTI_FPR1Res.Res.Res.Res.Res.Res.FPIF25FPIF24FPIF23FPIF22FPIF21FPIF20FPIF19FPIF18FPIF17FPIF16FPIF15FPIF14FPIF13FPIF12FPIF11FPIF10FPIF9FPIF8FPIF7FPIF6FPIF5FPIF4FPIF3FPIF2FPIF1FPIF0
Reset value00000000000000000000000000
0x014EXTI_SECCFGR1Res.Res.Res.Res.Res.Res.SEC25SEC24SEC23SEC22SEC21SEC20SEC19SEC18SEC17SEC16SEC15SEC14SEC13SEC12SEC11SEC10SEC9SEC8SEC7SEC6SEC5SEC4SEC3SEC2SEC1SEC0
Reset value00000000000000000000000000
0x018EXTI_PRIVCFGR1Res.Res.Res.Res.Res.Res.PRIV25PRIV24PRIV23PRIV22PRIV21PRIV20PRIV19PRIV18PRIV17PRIV16PRIV15PRIV14PRIV13PRIV12PRIV11PRIV10PRIV9PRIV8PRIV7PRIV6PRIV5PRIV4PRIV3PRIV2PRIV1PRIV0
Reset value00000000000000000000000000
0x020-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

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

OffsetRegister name313029282726252423222120191817161514131211109876543210
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]EXTI2[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.LOCK
Reset value0
0x074-
0x07C
ReservedReserved
0x080EXTI_IMR1Res.Res.Res.Res.Res.Res.IM25IM24IM23IM22IM21IM20IM19IM18IM17IM16IM15IM14IM13IM12IM11IM10IM9IM8IM7IM6IM5IM4IM3IM2IM1IM0
Reset value00000000000000000000000000
0x084EXTI_EMR1Res.Res.Res.Res.Res.Res.EM25EM24EM23EM22EM21EM20EM19EM18EM17EM16EM15EM14EM13EM12EM11EM10EM9EM8EM7EM6EM5EM4EM3EM2EM1EM0
Reset value00000000000000000000000000

Refer to Section 2.3 for the register boundary addresses.