11. System configuration controller (SYSCFG)

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

11.1 SYSCFG registers

11.1.1 SYSCFG configuration register 1 (SYSCFG_CFGR1)

This register is used for specific configurations on memory remap.

Two bits are used to configure the type of memory accessible at address 0x0000 0000. These bits are used to select the physical remap by software and so, bypass the BOOT pin and the option bit setting.

After reset these bits take the value selected by the BOOT pin (BOOT0) and by the option bit (BOOT1).

Address offset: 0x00

Reset value: 0x7C00 000X (X is the memory mode selected by the BOOT0 pin and BOOT1 option bit)

31302928272625242322212019181716
FPU_IE[5:0]ResI2C3_FMPENCODER_MODEI2C2_FMPI2C1_FMPI2C_PB9_FMPI2C_PB8_FMPI2C_PB7_FMPI2C_PB6_FMP
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
ResResTIM6_DAC1_DMA_RMPTIM17_DMA_RMPTIM16_DMA_RMPResResADC2_DMA_RMP (1)DAC_TRIG_RMP (1)TIM1_ITR3_RMPUSB_IT_RMPResResMEM_MODE (2)MEM_MODE
rwrwrwrwrwrwrwrwrw

1. These bits are reserved in STM32F302x6/x8

2. Only for STM32F302xD/E devices

Bits 31:26 FPU_IE[5..0] : Floating Point Unit interrupts enable bits

FPU_IE[5]: Inexact interrupt enable

FPU_IE[4]: Input normal interrupt enable

FPU_IE[3]: Overflow interrupt enable

FPU_IE[2]: underflow interrupt enable

FPU_IE[1]: Divide-by-zero interrupt enable

FPU_IE[0]: Invalid operation interrupt enable

Bit 25 Reserved, must be kept at reset value.

Bit 24 I2C3_FMP : I2C3 fast mode Plus driving capability activation (STM32F302x6/8 devices only)

This bit is set and cleared by software. It enables the Fm+ 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.

Bits 23:22 ENCODER_MODE : Encoder mode

This bit is set and cleared by software.

00: No redirection.

01: TIM2 IC1 and TIM2 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively.

10: TIM3 IC1 and TIM3 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively (STM32F302xB/C devices only).

11: TIM4 IC1 and TIM4 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively (STM32F302xB/C devices only).

Bit 21 I2C2_FMP : I2C2 fast mode Plus driving capability activation

This bit is set and cleared by software. It enables the Fm+ 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 Fm+ driving capability activation

This bit is set and cleared by software. It enables the Fm+ 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.

Bits 19:16 I2C_PBx_FMP : Fm+ driving capability activation on the pad

These bits are set and cleared by software. Each bit enables I 2 C Fm+ mode for PB6, PB7, PB8, and PB9 I/Os.

0: PBx pin operates in standard mode (Sm), x = 6..9

1: I 2 C Fm+ mode enabled on PBx pin, and the Speed control is bypassed.

Bit 13 TIM6_DAC1_CH1_DMA_RMP : TIM6 and DAC channel1 DMA remap

This bit is set and cleared by software. It controls the remapping of TIM6 (UP) and DAC channel1 DMA request.

0: No remap (TIM6_UP and DAC_CH1 DMA requests mapped on DMA2 channel 3 in STM32F302xB/C)

1: Remap (TIM6_UP and DAC_CH1 DMA requests mapped on DMA1 channel 3)

Note: In STM32F302x6/8, this bit must be set as there is no DMA2 in these products.

Bit 12 TIM17_DMA_RMP : TIM17 DMA request remapping bit

This bit is set and cleared by software. It controls the remapping of TIM17 DMA request.

0: No remap (TIM17_CH1 and TIM17_UP DMA requests mapped on DMA1 channel 1)

1: Remap (TIM17_CH1 and TIM17_UP DMA requests mapped on DMA1 channel 7)

Bit 11 TIM16_DMA_RMP : TIM16 DMA request remapping bit

This bit is set and cleared by software. It controls the remapping of TIM16 DMA request.
0: No remap (TIM16_CH1 and TIM16_UP DMA requests mapped on DMA1 channel 3)
1: Remap (TIM16_CH1 and TIM16_UP DMA requests mapped on DMA1 channel 6)

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

Bit 8 ADC2_DMA_RMP : ADC2 DMA remapping bit (STM32F302xB/C/D/E devices only)

This bit is set and cleared by software. It controls the remapping of ADC24 DMA requests.
0: No remap (ADC24 DMA requests mapped on DMA2 channels 1 and 2)
1: Remap (ADC24 DMA requests mapped on DMA2 channels 3 and 4)

Bit 7 DAC1_TRIG_RMP : DAC trigger remap (when TSEL = 001) (STM32F302xB/C/D/E devices only)

This bit is set and cleared by software. It controls the mapping of the DAC trigger source.
0: No remap
1: Remap (DAC trigger is TIM3_TRGO)

Bit 6 TIM1_ITR3_RMP : Timer 1 ITR3 selection

This bit is set and cleared by software. It controls the mapping of TIM1 ITR3.
0: No remap (TIM1_ITR3 = TIM4_TRGO in STM32F302xB/C/D/E devices)
1: Remap (TIM1_ITR3 = TIM17_OC)

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

Bits 2:0 MEM_MODE : Memory mapping selection bits

This bit is set and cleared by software. It controls the memory internal mapping at address 0x0000 0000. After reset these bits take on the memory mapping selected by BOOT0 pin and BOOT1 option bit.
0x0: Main Flash memory mapped at 0x0000 0000
001: System Flash memory mapped at 0x0000 0000
011: Embedded SRAM (on the D-Code bus) mapped at 0x0000 0000
1xx: FMC Bank (Only the first two banks) (Available on STM32F302xD/E only).

11.1.2 SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1)

Address offset: 0x08

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EXTI3[3:0]EXTI2[3:0]EXTI1[3:0]EXTI0[3:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 15:12 EXTI3[3:0] : EXTI 3 configuration bits

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

Bits 11:8 EXTI2[3:0] : EXTI 2 configuration bits

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

Bits 7:4 EXTI1[3:0] : EXTI 1 configuration bits

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

Bits 3:0 EXTI0[3:0] : EXTI 0 configuration bits

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

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

11.1.3 SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2)

Address offset: 0x0C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EXTI7[3:0]EXTI6[3:0]EXTI5[3:0]EXTI4[3:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 15:12 EXTI7[3:0] : EXTI 7 configuration bits

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

x000: PA[7] pin
x001: PB[7] pin
x010: PC[7] pin
x011: PD[7] pin
x100: PE[7] pin
Other configurations: reserved

Bits 11:8 EXTI6[3:0] : EXTI 6 configuration bits

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

x000: PA[6] pin
x001: PB[6] pin
x010: PC[6] pin
x011: PD[6] pin
x100: PE[6] pin
x101: PF[6] pin
Other configurations: reserved

Bits 7:4 EXTI5[3:0] : EXTI 5 configuration bits

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

x000: PA[5] pin
x001: PB[5] pin
x010: PC[5] pin
x011: PD[5] pin
x100: PE[5] pin
x101: PF[5] pin
Other configurations: reserved

Bits 3:0 EXTI4[3:0] : EXTI 4 configuration bits

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

x000: PA[4] pin
x001: PB[4] pin
x010: PC[4] pin
x011: PD[4] pin
x100: PE[4] pin
x101: PF[4] pin
Other configurations: reserved

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

11.1.4 SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3)

Address offset: 0x10

Reset value: 0x0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EXTI11[3:0]EXTI10[3:0]EXTI9[3:0]EXTI8[3:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 15:12 EXTI11[3:0] : EXTI 11 configuration bits

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

Bits 11:8 EXTI10[3:0] : EXTI 10 configuration bits

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

Bits 7:4 EXTI9[3:0] : EXTI 9 configuration bits

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

Bits 3:0 EXTI8[3:0] : EXTI 8 configuration bits

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

x000: PA[8] pin

x001: PB[8] pin

x010: PC[8] pin

x011: PD[8] pin

x100: PE[8] pin

other configurations: reserved

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

11.1.5 SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4)

Address offset: 0x14

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EXTI15[3:0]EXTI14[3:0]EXTI13[3:0]EXTI12[3:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 15:12 EXTI15[3:0] : EXTI15 configuration bits

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

x000: PA[15] pin

x001: PB[15] pin

x010: PC[15] pin

x011: PD[15] pin

x100: PE[15] pin

Other configurations: reserved

Bits 11:8 EXTI14[3:0] : EXTI14 configuration bits

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

Bits 7:4 EXTI13[3:0] : EXTI13 configuration bits

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

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

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

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

11.1.6 SYSCFG configuration register 2 (SYSCFG_CFGR2)

Address offset: 0x18

System reset value: 0x0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
ResResResResResResResSRAM_PEF (1)ResResResBYP_ADDR_PAR (1)ResPVD_LOCKSRAM_PARITY_LOCK (1)LOCKUP_LOCK
rc_w1rwrwrwrw

1. Available in STM32F302xB/xC/D/E only.

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

Bit 8 SRAM_PEF : SRAM parity error flag (STM32F302xB/C/D/E devices only)

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

0: No SRAM parity error detected

1: SRAM parity error detected

Bits 7:5 Reserved, must be kept at reset value

Bit 4 BYP_ADDR_PAR : Bypass address bit 29 in parity calculation (STM32F302xB/C/D/E devices only)

This bit is set by software and cleared by a system reset. It is used to prevent an unwanted parity error when the user writes a code in the RAM at address 0x2XXXXXXX (address in the address range 0x20000000-0x20002000) and then executes the code from RAM at boot (RAM is remapped at address 0x00). In this case, a read operation is performed from the range 0x00000000-0x00002000 resulting in a parity error (the parity on the address is different).

0: The ramload operation is performed taking into consideration bit 29 of the address when the parity is calculated.

1: The ramload operation is performed without taking into consideration bit 29 of the address when the parity is calculated.

Bit 3 Reserved, must be kept at reset value

Bit 2 PVD_LOCK : PVD lock enable bit

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

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

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

Bit 1 SRAM_PARITY_LOCK : SRAM parity lock bit (STM32F302xB/C/D/E devices only)

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

0: SRAM parity error signal disconnected from TIM1/15/16/17 Break inputs

1: SRAM parity error signal connected to TIM1/15/16/17 Break inputs

Bit 0 LOCKUP_LOCK : Cortex ® -M4 LOCKUP (Hardfault) output enable bit

This bit is set by software and cleared by a system reset. It can be used to enable and lock the connection of Cortex ® -M4 LOCKUP (Hardfault) output to TIM1/15/16/17 Break input.

0: Cortex ® -M4 LOCKUP output disconnected from TIM1/15/16/17 Break inputs.

1: Cortex ® -M4 LOCKUP output connected to TIM1/15/16/17 Break inputs

11.1.7 SYSCFG register map

Table 32. SYSCFG register map and reset values

OffsetRegister313029282726252423222120191817161514131211109876543210
0x00SYSCFG_CFGR1FPU_IE[5:0]ResI2C3_FMPENCODER_MODE [1:0]I2C2_FMPI2C1_FMPI2C_PB9_FMPI2C_PB8_FMPI2C_PB7_FMPI2C_PB6_FMPResResTIM6_DAC1_DMA_RMPTIM17_DMA_RMPTIM16_DMA_RMPResResADC24_DMA_RMPDAC_TRIG_RMPTIM1_ITR3_RMPUSB_IT_RMPResResResMEM_MODE
Reset value111110000000000000000XX
0x08SYSCFG_EXTICR1ResResResResResResResResResResResResResResResResEXTI3[3:0]EXTI2[3:0]EXTI1[3:0]EXTI0[3:0]
Reset value0000000000000000
0x0CSYSCFG_EXTICR2ResResResResResResResResResResResResResResResResEXTI7[3:0]EXTI6[3:0]EXTI5[3:0]EXTI4[3:0]
Reset value000000000000000
0x10SYSCFG_EXTICR3ResResResResResResResResResResResResResResResResEXTI11[3:0]EXTI10[3:0]EXTI9[3:0]EXTI8[3:0]
Reset value000000000000000
0x14SYSCFG_EXTICR4ResResResResResResResResResResResResResResResResEXTI15[3:0]EXTI14[3:0]EXTI13[3:0]EXTI12[3:0]
Reset value000000000000000
0x18SYSCFG_CFGR2ResResResResResResResResResResResResResResResResResResResResResResResSRAM_PEFResResResBYP_ADDR_PARResPVD_LOCKSRAM_PARITY_LOCKLOCKUP_LOCK
Reset value00000
Refer to Section 3.2 on page 51 for the register boundary addresses.