Skip to main content
Explorer
February 23, 2025
Solved

Clarification Needed on SYSCFG Register Map for STM32F411RE

  • February 23, 2025
  • 1 reply
  • 590 views

Hello everyone,

I’m working on writing a driver for the STM32F411RE microcontroller and have a question regarding the SYSCFG register map. I’ve been referring to the STM32F411 Reference Manual (RM0383)

https://www.st.com/resource/en/reference_manual/rm0383-stm32f411xce-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

, specifically the SYSCFG section, and I’m a bit confused about the reserved spaces in the register map. 

typedef struct {
 volatile uint32_t MEMRMP; // 0x00 - Memory remap register
 volatile uint32_t PMC; // 0x04 - Peripheral mode configuration register
 volatile uint32_t EXTICR[4]; // 0x08 to 0x14 - External interrupt configuration registers
// 8 bytes reserved? please reassure me stating a reason volatile uint32_t CMPCR; // 0x20 - Compensation cell control register } SYSCFG_RegDef_t;

 on Table 22. SYSCFG register map and reset values, it does not explicitly state that there are 8 bytes reserved? I’ve carefully reviewed the manual, but I’m still unsure about the reserved space. unlike other maps which it clearly states the reserved spaces.

 

    This topic has been closed for replies.
    Best answer by TDK

    The offsets of the registers are shown. There is an 8-byte gap in the offsets, so those addresses are not specified and therefore reserved.

    TDK_0-1740329922809.png

     

    It may not explicitly state reserved bytes, but it explicitly states the offsets, which implies a gap between registers. Yes, it should probably explicitly be in there.

     

    The SYSCFG_RegDef_t typedef doesn't show up in any of ST's current github repos. Maybe an older file. Definitely needs a gap in there to be valid.

    1 reply

    TDKAnswer
    Super User
    February 23, 2025

    The offsets of the registers are shown. There is an 8-byte gap in the offsets, so those addresses are not specified and therefore reserved.

    TDK_0-1740329922809.png

     

    It may not explicitly state reserved bytes, but it explicitly states the offsets, which implies a gap between registers. Yes, it should probably explicitly be in there.

     

    The SYSCFG_RegDef_t typedef doesn't show up in any of ST's current github repos. Maybe an older file. Definitely needs a gap in there to be valid.