This ST MCU family is dual-core : based on an Arm Cortex-M4 core and an Arm Cortex-M0+ core.
But FLASH is shared by M4 and M0 cores, see BLE FW
SRAM1 is dedicated for M4 core, and then for mbed-os applications.
SRAM2 is dedicated for M0 core and inter CPU communication, and then can not be addressed.
st.com STM32WB5MMG module page
But FLASH is shared by M4 and M0 cores, see BLE FW
SRAM1 is dedicated for M4 core, and then for mbed-os applications.
SRAM2 is dedicated for M0 core and inter CPU communication, and then can not be addressed.
NB: MBED CLI1 tool can be used thanks to this command:
mbedls -m 0884:DISCO_WB5MMG
st.com STM32WB15CC module page
But FLASH is shared by M4 and M0 cores, see BLE FW
SRAM1 is dedicated for M4 core, and then for mbed-os applications.
SRAM2 is dedicated for M0 core and inter CPU communication, and some part can not be addressed by M4.
NB: MBED CLI1 tool can be used thanks to this command:
mbedls -m 0883:NUCLEO_WB15CC
BLE feature is based on Cordio stack and API (above HCI) implementation.
Note that the BLE controller firmware running on the cortex-M0 is the same as in STcubeFW solution
Official ST Application Note : AN5289: Building wireless applications with STM32WB Series microcontrollers
All available BLE FW for M0 core are provided in ths ST STM32CubeWB repo:
Default BLE FW in ST boards is stm32wb5x_BLE_Stack_full_fw.bin
To optimize FLASH size, stm32wb5x_BLE_HCILayer_fw.bin is supported for MBED-OS use case
Example in your local mbed_app.json:
"target_overrides": { "NUCLEO_WB55RG": { "target.mbed_rom_size": "0xE1000" }
Default BLE FW in ST boards is stm32wb1x_BLE_Stack_full_fw.bin
It is mandatory to use stm32wb1x_BLE_HCILayer_fw.bin
Official ST Application Note : AN5185: ST firmware upgrade services for STM32WB Series
STM32CubeProgrammer needs to be used:
https://www.st.com/en/development-tools/stm32cubeprog.html
Please check the Release Note and complete flashing procedure: https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html
trace group: BLWB
example:
[INFO][BLWB]: WIRELESS COPROCESSOR FW VERSION ID = 1.11.1 [INFO][BLWB]: WIRELESS COPROCESSOR FW STACK TYPE = 1 [DBG ][BLWB]: mbox_write type:1, len:3 [INFO][BLWB]: TX>> BLE CMD [DBG ][BLWB]: Type 0x1 [DBG ][BLWB]: Cmd 0xc03 [DBG ][BLWB]: Len 0D]