9. System configuration controller (SYSCFG)

9.1 SYSCFG main features

STM32WLE x devices feature a set of configuration registers. The main purposes of the system configuration controller are the following:

9.2 SYSCFG registers

9.2.1 SYSCFG memory remap register (SYSCFG_MEMRMP)

This register is used for specific configurations on memory remap.

Address offset: 0x000

Reset value: 0x0000 000X

MEM_MODE[2:0] is the memory mode selected by the BOOT0 pin and BOOT1 option bit.

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.MEM_MODE[2:0]
rwrwrw

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

Bits 2:0 MEM_MODE[2:0] : memory mapping selection

These bits control the memory internal mapping at address 0x0000 0000. These bits are used to select the physical remap by software and so, bypass the BOOT mode setting.

After reset, these bits take the value selected by BOOT0 (pin or option bit depending on nSWBOOT0 option bit) and BOOT1 option bit.

000: Main flash memory mapped at CPU 0x00000000

001: System flash memory mapped at CPU 0x00000000

010: Reserved

011: SRAM1 mapped at CPU 0x00000000

100: Reserved

101: Reserved

110: Reserved

111: Reserved

9.2.2 SYSCFG configuration register 1 (SYSCFG_CFGR1)

Address offset: 0x004

Reset value: 0x7C00 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C3_FMPI2C2_FMPI2C1_FMPI2C_PB9_FMPI2C_PB8_FMPI2C_PB7_FMPI2C_PB6_FMP
rrrrrrr

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.BOOSTENRes.Res.Res.Res.Res.Res.Res.Res.
r

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

Bit 22 I2C3_FMP : I2C3 Fast-mode Plus driving capability activation

This bit enables the Fm+ driving mode on I2C3 pins selected through AF selection bits.

0: Fm+ mode is not enabled on I2C3 pins selected through AF selection bits

1: Fm+ mode is enabled on I2C3 pins selected through AF selection bits.

Bit 21 I2C2_FMP : I2C2 Fast-mode Plus driving capability activation

This bit enables the Fm+ driving mode on I2C2 pins selected through AF selection bits.

0: Fm+ mode is not enabled on I2C2 pins selected through AF selection bits

1: Fm+ mode is enabled on I2C2 pins selected through AF selection bits.

Bit 20 I2C1_FMP : I2C1 Fast-mode Plus driving capability activation

This bit enables the Fm+ driving mode on I2C1 pins selected through AF selection bits.

0: Fm+ mode is not enabled on I2C1 pins selected through AF selection bits

1: Fm+ mode is enabled on I2C1 pins selected through AF selection bits.

Bit 19 I2C_PB9_FMP : Fast-mode Plus (Fm+) driving capability activation on PB9

This bit enables the Fm+ driving mode for PB9.

0: PB9 pin operates in standard mode.

1: Fm+ mode enabled on PB9 pin, and the speed control is bypassed.

Bit 18 I2C_PB8_FMP : Fast-mode Plus (Fm+) driving capability activation on PB8

This bit enables the Fm+ driving mode for PB8.

0: PB8 pin operates in standard mode.

1: Fm+ mode enabled on PB8 pin, and the speed control is bypassed.

Bit 17 I2C_PB7_FMP : Fast-mode Plus (Fm+) driving capability activation on PB7

This bit enables the Fm+ driving mode for PB7.

0: PB7 pin operates in standard mode.

1: Fm+ mode enabled on PB7 pin, and the speed control is bypassed.

Bit 16 I2C_PB6_FMP : Fast-mode Plus (Fm+) driving capability activation on PB6

This bit enables the Fm+ driving mode for PB6.

0: PB6 pin operates in standard mode.

1: Fm+ mode enabled on PB6 pin, and the Speed control is bypassed.

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

Bit 8 BOOSTEN : I/O analog switch voltage booster enable

0: I/O analog switches are supplied by \( V_{DDA} \) voltage. This is the recommended configuration when using the ADC in high \( V_{DDA} \) voltage operation.

1: I/O analog switches are supplied by a dedicated voltage booster (supplied by \( V_{DD} \) ). This is the recommended configuration when using the ADC in low \( V_{DDA} \) voltage operation.

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

9.2.3 SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1)

Address offset: 0x008

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.EXTI3[2:0]Res.EXTI2[2:0]Res.EXTI1[2:0]Res.EXTI0[2:0]
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 14:12 EXTI3[2:0] : EXTI3 configuration bits

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

000: PA3 pin

001: PB3 pin

010: PC3 pin

111: PH3 pin

Others: Reserved

Bit 11 Reserved, must be kept at reset value.

Bits 10:8 EXTI2[2:0] : EXTI2 configuration bits

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

000: PA2 pin

001: PB2 pin

010: PC2 pin

Others: Reserved

Bit 7 Reserved, must be kept at reset value.

Bits 6:4 EXTI1[2:0] : EXTI1 configuration bits

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

000: PA1 pin

001: PB1 pin

010: PC1 pin

Others: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 EXTI0[2:0] : EXTI0 configuration bits

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

000: PA0 pin

001: PB0 pin

010: PC0 pin

Others: Reserved

Note: Some of the I/O pins mentioned in this register may not be available on small packages.

9.2.4 SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2)

Address offset: 0x00C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.EXTI7[2:0]Res.EXTI6[2:0]Res.EXTI5[2:0]Res.EXTI4[2:0]
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 14:12 EXTI7[2:0] : EXTI7 configuration bits

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

000: PA7 pin

001: PB7 pin

Others: Reserved

Bit 11 Reserved, must be kept at reset value.

Bits 10:8 EXTI6[2:0] : EXTI6 configuration bits

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

000: PA6 pin

001: PB6 pin

010: PC6 pin

Others: Reserved

Bit 7 Reserved, must be kept at reset value.

Bits 6:4 EXTI5[2:0] : EXTI5 configuration bits

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

000: PA5 pin

001: PB5 pin

010: PC5 pin

Others: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 EXTI4[2:0] : EXTI4 configuration bits

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

000: PA4 pin

001: PB4 pin

010: PC4 pin

Others: Reserved

Note: Some of the I/O pins mentioned in this register may not be available on small packages.

9.2.5 SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3)

Address offset: 0x010

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.EXTI11[2:0]Res.EXTI10[2:0]Res.EXTI9[2:0]Res.EXTI8[2:0]
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 14:12 EXTI11[2:0] : EXTI11 configuration bits

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

000: PA11 pin

001: PB11 pin

Others: Reserved

Bit 11 Reserved, must be kept at reset value.

Bits 10:8 EXTI10[2:0] : EXTI10 configuration bits

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

000: PA10 pin

001: PB10 pin

Others: Reserved

Bit 7 Reserved, must be kept at reset value.

Bits 6:4 EXTI9[2:0] : EXTI9 configuration bits

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

000: PA9 pin

001: PB9 pin

Others: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 EXTI8[2:0] : EXTI8 configuration bits

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

000: PA8 pin

001: PB8 pin

Others: Reserved

Note: Some of the I/O pins mentioned in this register may not be available on small packages.

9.2.6 SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4)

Address offset: 0x014

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.EXTI15[2:0]Res.EXTI14[2:0]Res.EXTI13[2:0]Res.EXTI12[2:0]
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 14:12 EXTI15[2:0] : EXTI15 configuration bits

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

000: PA15 pin

001: PB15 pin

010: PC15 pin

Others: Reserved

Bit 11 Reserved, must be kept at reset value.

Bits 10:8 EXTI14[2:0] : EXTI14 configuration bits

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

000: PA14 pin

001: PB14 pin

010: PC14 pin

Others: Reserved

Bit 7 Reserved, must be kept at reset value.

Bits 6:4 EXTI13[2:0] : EXTI13 configuration bits

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

000: PA13 pin

001: PB13 pin

010: PC13 pin

Others: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 EXTI12[2:0] : EXTI12 configuration bits

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

000: PA12 pin

001: PB12 pin

Others: Reserved

Note: Some of the I/O pins mentioned in this register may not be available on small packages.

9.2.7 SYSCFG SRAM control and status register (SYSCFG_SCSR)

Address offset: 0x18

Reset value: 0x0000 0000

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.PKASRAMBSYRes.Res.Res.Res.Res.Res.SRAMBSYSRAM2ER
rrrw

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

Bit 8 PKASRAMBSY : PKA SRAM busy by erase operation

0: No PKA SRAM erase operation is ongoing.

1: PKA SRAM erase operation is ongoing.

See Section 2.3: SRAM erase for more information on SRAM erase conditions

Bits 7:2 Reserved, must be kept at reset value.

Bit 1 SRAMBSY : SRAM1 or SRAM2 busy by erase operation

0: No SRAM1 or SRAM2 erase operation is ongoing.

1: SRAM1 or SRAM2 erase operation is ongoing.

See Section 2.3: SRAM erase for more information on SRAM erase conditions

Bit 0 SRAM2ER : SRAM2 erase

Setting this bit starts a hardware SRAM2 erase operation. This bit is automatically cleared at the end of the SRAM2 erase operation.

Note: This bit is write-protected: setting this bit is possible only after the correct key sequence is written in the SYSCFG_SKR register.

9.2.8 SYSCFG configuration register 2 (SYSCFG_CFGR2)

Address offset: 0x01C

Reset value: 0x0000 0000

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.SPFRes.Res.Res.Res.ECCLPVDLSPLCLL
rc_w1rsrsrsrs

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

Bit 8 SPF : SRAM2 parity error flag

This bit is set by hardware when an SRAM2 parity error is detected. It is cleared by software by writing '1'.

0: No SRAM2 parity error detected

1: SRAM2 parity error detected

Bits 7:4 Reserved, must be kept at reset value.

Bit 3 ECCL : ECC lock

This bit is set by software and cleared only by a system reset. It can be used to enable and lock the flash ECC error connection to TIM1/16/17 break input.

0: ECC error disconnected from TIM1/16/17 break input.

1: ECC error connected to TIM1/16/17 break input.

Bit 2 PVDL : PVD lock enable bit

This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection to TIM1/16/17 break input, as well as the PVDE and PLS[2:0] in the PWR_CR2R register.

0: PVD interrupt disconnected from TIM1/16/17 break input. PVDE and PLS[2:0] bits can be programmed by the application.

1: PVD interrupt connected to TIM1/16/17 break input. PVDE and PLS[2:0] bits are read only.

Bit 1 SPL : SRAM2 parity lock bit

This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM2 parity error signal connection to TIM1/16/17 break inputs.

0: SRAM2 parity error signal disconnected from TIM1/16/17 break inputs

1: SRAM2 parity error signal connected to TIM1/16/17 break inputs

Bit 0 CLL : CPU LOCKUP (Hardfault) output enable bit

This bit is set by software and cleared only by a system reset. It can be used to enable and lock the connection of CPU LOCKUP (Hardfault) output to TIM1/16/17 break inputs.

0: CPU LOCKUP output disconnected from TIM1/16/17 break inputs

1: CPU LOCKUP output connected to TIM1/16/17 break inputs

9.2.9 SYSCFG SRAM2 write protection register (SYSCFG_SWPR)

Address offset: 0x020

Reset value: 0x0000 0000

31302928272625242322212019181716
P31WPP30WPP29WPP28WPP27WPP26WPP25WPP24WPP23WPP22WPP21WPP20WPP19WPP18WPP17WPP16WP
rsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrs
1514131211109876543210
P15WPP14WPP13WPP12WPP11WPP10WPP9WPP8WPP7WPP6WPP5WPP4WPP3WPP2WPP1WPP0WP
rsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrs

Bits 31:0 PxWP : SRAM2 1 Kbyte page x write protection (x = 31 to 0)

These bits are set by software and cleared only by a system reset. Number of pages depend on SRAM2 size available from the device type, see data sheet.

0: Write protection of SRAM2 1 Kbyte page x is disabled.

1: Write protection of SRAM2 1 Kbyte page x is enabled.

9.2.10 SYSCFG SRAM2 key register (SYSCFG_SKR)

Address offset: 0x024

Reset value: 0x0000 0000

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.KEY[7:0]
wwwwwwww

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

Bits 7:0 KEY[7:0] : SRAM2 write protection key for software erase

The following steps are required to unlock the write protection of the SRAM2ER bit in the SYSCFG_SCSR register.

  1. 1. Write 0xCA into Key[7:0].
  2. 2. Write 0x53 into Key[7:0].

Writing a wrong key reactivates the write protection.

9.2.11 SYSCFG radio debug control register (SYSCFG_RFDCR)

Address offset: 0x208

Reset value: 0x0000 0000

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.RFTBS
EL
rw

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

Bit 0 RFTBSEL : radio debug test bus selection

0: Digital test bus selected on RF_ADTB[3:0]

1: Analog test bus selected on RF_ADTB[3:0]

9.2.12 SYSCFG register map

Table 64. SYSCFG register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000SYSCFG_
MEMRMP
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.MEM_MODE [2:0]
Reset valuexxx

Table 64. SYSCFG register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x004SYSCFG_CFGR1Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C3_FMPI2C2_FMPI2C1_FMPI2C_P9_FMPI2C_P8_FMPI2C_P7_FMPI2C_P6_FMPRes.Res.Res.Res.Res.Res.Res.BOOSTENRes.Res.Res.Res.Res.Res.Res.Res.
Reset value00000000
0x008SYSCFG_EXTICR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXTI3 [2:0]Res.Res.Res.EXTI2 [2:0]Res.Res.Res.EXTI1 [2:0]Res.Res.Res.Res.EXTI0 [2:0]
Reset value0 0 00 0 00 0 00 0 0
0x00CSYSCFG_EXTICR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXTI7 [2:0]Res.Res.Res.EXTI6 [2:0]Res.Res.Res.EXTI5 [2:0]Res.Res.Res.Res.EXTI4 [2:0]
Reset value0 0 00 0 00 0 00 0 0
0x010SYSCFG_EXTICR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXTI11 [2:0]Res.Res.Res.EXTI10 [2:0]Res.Res.Res.EXTI9 [2:0]Res.Res.Res.Res.EXTI8 [2:0]
Reset value0 0 00 0 00 0 00 0 0
0x014SYSCFG_EXTICR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXTI15 [2:0]Res.Res.Res.EXTI14 [2:0]Res.Res.Res.EXTI13 [2:0]Res.Res.Res.Res.EXTI12 [2:0]
Reset value0 0 00 0 00 0 00 0 0
0x018SYSCFG_SCSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PKASRAMBSYRes.Res.Res.Res.Res.Res.SRAMBSY
SRAMZER
Reset value00 0
0x01CSYSCFG_CFGR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SPFRes.Res.Res.Res.Res.ECOLPVDL
SPL
CLL
Reset value00 0 0 0
0x020SYSCFG_SWPRP31WPP30WPP29WPP28WPP27WPP26WPP25WPP24WPP23WPP22WPP21WPP20WPP19WPP18WPP17WPP16WPP15WPP14WPP13WPP12WPP11WPP10WPP9WPP8WPP7WPP6WPP5WPP4WPP3WPP2WPP1WPP0WP
Reset value00000000000000000000000000000000
0x024SYSCFG_SKRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.KEY[7:0]
Reset value00000000
0x028 to 0x204ReservedReserved
0x208SYSCFG_RFDCRRes.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.RFTBSEL
Reset value0
Refer to Section 2.4 for the register boundary addresses.