2023-07-31 02:10 AM
Hello!
I am looking to do a project with STM32WB5MMGH6TR
Looking at the datasheet:
"
- Dedicated Arm® Cortex®-M0+ for radio and security tasks
- Dedicated Arm® Cortex®-M4 CPU with FPU and ART (adaptative real-time
accelerator) up to 64 MHz speed
- 1-Mbyte Flash memory, 256-Kbyte SRAM
"
When I create an STM32CubeIDE project with STM32WB5MMGH6TR, I see the correct pins and everything.
Just to test the flash memory space, I added a couple of two dimensional arrays until I got error that flash is full.
This is the maximum amount of flash that I can load (so about half a Mbyte, not the 1-Mbyte that was said in datasheet.
If I add a 128x128 image to the memory too, I get
"
c:\st\stm32cubeide_1.10.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: wb5_compile_test.elf section `.rodata' will not fit in region `FLASH'
c:\st\stm32cubeide_1.10.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.0.202111181127\tools\arm-none-eabi\bin\ld.exe: region `FLASH' overflowed by 12356 bytes"
So the questions.
1. Is the 1-Mbyte flash advertised in datasheet the total of both the M0 and M4 processors?
If so, how do I know which processor I am programming right now? I assume it's the M4 one since the
M0 is for radio and security according to datasheet.
2. How do I get access to the other half Mbyte? And how do I specifically program the other processor?
3. If my assumption of splitted flash is correct, is it the same with RAM? Any way to know how much RAM each controller has?
Solved! Go to Solution.
2023-07-31 06:12 AM
Hello @DenDanne, welcome to ST Community,
First, you need to read RM0471, paragraph 3: Embedded flash memory
Also, there are 2 related applications notes (using stm32H7) that can really be helpful
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-07-31 05:57 AM - edited 2023-07-31 10:48 AM
Have you looked at the link script? Usually it tells the ground truth about RAM and flash available for a CM4 program.
Now you are prepared to shop for electric car:) If the booklet says 500 miles, ask can you drive all 500 miles at once, or they mean 250 miles, recharge, drive another 250 ... or drive 500 miles at pedestrian speed.
*** Note that in STM32 slang 'dual core' means STM32H7 or other combinations of CM4 and CM7 or CA. STM32WB belongs to "wireless" family.
2023-07-31 06:12 AM
Hello @DenDanne, welcome to ST Community,
First, you need to read RM0471, paragraph 3: Embedded flash memory
Also, there are 2 related applications notes (using stm32H7) that can really be helpful
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.