2025-02-23 8:20 AM
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)
, 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.
Solved! Go to Solution.
2025-02-23 9:04 AM
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.
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.
2025-02-23 9:04 AM
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.
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.