2021-07-08 07:23 AM
We are trying to work out how much flash is used in total for a given project, and how much more is actually available for development.
For example, when compiling the BLE_BloodPressure example project (in Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_HeartRateFreeRTOS\STM32CubeIDE), the Build Analyser output of the BLE_BloodPressure.map file is as below-
Does this really mean that there is 449.25KB free, or is some of this used by the coprocessor binary?
2021-07-09 02:42 AM
Hello there!
Based on the datasheet the flash memory for the WB55xxx is 1 Mb. But in the application BLE_HeartRateFreeRTOS that you are using the size of the flash is 512k and the project is not a multi CPU project, it uses only the CM4. So that can explain why the flash size is only 512K and not 1Mb.
Concerning the Build Analyzer it takes into account all the size described in the .ld file.
2021-07-09 02:56 AM
Hi Markus, thanks a lot for getting back to me!
So does it mean we have to manually subtract the space used by the coprocessor binary (e.g. stm32wb5x_BLE_Stack_full_fw.bin)?
Regarding the flash memory, I think WB55xxx can have down to 256K?
2021-07-12 02:34 AM
It isn't necessary to subtract the space used by the coprocessor because it is already done. The .ld file of this project is based on a P-NUCLEO-WB55 1M and declares only the flash of the CM4.
There might be WB55 with 256K, I'm on the software side with STM32CubeIDE so I'm no expert on the hardware side :grinning_face_with_sweat: However, this project has been tested with a STM32WB55VG where the 'G' in the codification means 1MByte. This is from the user manual chapter 6, table 2:
2021-07-12 03:01 AM
Hi Markus, thanks again for getting back to me.
Isn't the flash shared between the CM4 CPU1 and the CM0+ CPU2? If so, how can the .ld file declare only the flash of the CM4?