2023-10-21 08:27 PM
Flash on the STM32WB1M is supposed to be 320K long, as advertised as well as in the ref manual RM0473 and in the Memory Manager in CubeMx. But the default linker script out of CubeMx only gives 110K flash section length. If I try to put an emulated EEPROM section at the last couple of pages (yes, incl. modifying the linker script), say 0x0804E000, I get a hard fault when trying to read that address. Same if I try to read that address from STM32CubeProgrammer. It turns out I can only read (from STM32CubeProg or emulated EEPROM usage) to approximately the 110K past 0x08000000. I could read a page or two starting at 0x08020000 and beyond that I got errrors. Am I missing something here? It's as if addresses beyond about 110-112K in flash are invalid...
Solved! Go to Solution.
2023-10-22 06:25 AM
It's a dual core chip. The CM0+ core holds the RF firmware and is not user accessible.
2023-10-22 03:09 AM
I suspect the firmware is loaded there and protection for the firmware is set.
2023-10-22 06:25 AM
It's a dual core chip. The CM0+ core holds the RF firmware and is not user accessible.
2023-10-23 07:44 PM
D'oh. Should have realized that when I was programming the BLE stack at 0x08021000...Thanks.