STM32F0 System Memory location wrong in Reference Manual?
MCU: STM32F030CCT6
Programmer: ST-Link/V2
Software: STM32 ST-LINK Utility v4.1.0.0
I'm new to STM32 mcu's and trying to comprehend the memory map.
The Reference manual (RM0091, DocID018940 Rev 9) states in section 2.5 that when the Boot0 (pin) is high and the nBoot1 (bit) is high, the System memory is aliased to the boot area 0x0000 0000.
And when the Boot0 (pin) is low, the Main Flash Memory is aliased to the boot area.
To get more comfortable with working with ST-LINK Utility and test my understanding of the memory map I tought it would be a good excersise to verify this.
So using the STM32 ST-Link Utility I compare 3KB of Main Flash memory with the boot area while Boot0 (pin) is low.
And yes, the memory content between boundaries
0x0000 0000 - 0x0000 0C00
is idential to
0x0800 0000 - 0x0800 0C00
This is as expected.
Now I reboot the system while holding the Boot0 pin high (and nBoot1
bit is also high), thus I expect the System Memory content at the boot area.
But the memory content between boundaries
0x0000 0000 - 0x0000 0C00
is NOT idential to
0x1FFF EC00 - 0x1FFF F800
This is unexpected, right?
Further reading in AN2606 (Rev 42) Table 136 states the System memory for STM32F030xC is located at 0x1FFFD800 - 0x1FFF F7FF
When reading this section the boot area matched, so apparently the System Memory is shifted 5KByte,
from 0x1FFF EC00 to 0x1FFF D800, why is that?
This seems to me the Reference manual (RM0091, Rev9) has incorrect information about System Memory location.
Am I misunderstanding something?

