cancel
Showing results for 
Search instead for 
Did you mean: 

Flashing M0+ Core with Zigbee RFD Firmware on STM32WB55

Azizzr02
Visitor

 

Dear ST Community,

 

I'm working on a Zigbee IoT project where I need to configure my STM32WB55RG Nucleo board as a Zigbee End Device that joins an external coordinator (Raspberry Pi + CC2531 running Zigbee2MQTT). I'm having trouble properly flashing the M0+ core with the Zigbee RFD firmware.

 

What I've Done So Far:

  1. Installed STM32CubeIDE 1.13.0 and STM32CubeProgrammer 2.13.0 on my Windows 11 laptop
  2. Located the Zigbee RFD firmware at:
    STM32Cube_FW_WB_V1.16.0/Projects/STM32_Copro_Wireless_Binaries/Zigbee/stm32wb5x_Zigbee_RFD_fw.bin
  3. Connected my Nucleo board via the ST-LINK USB port (CN4)
  4. Opened STM32CubeProgrammer and connected successfully to my board (STM32WB55RC)
 

My Specific Issue:

When I connect in STM32CubeProgrammer, I see the "MCU Core" section but I'm unsure how to correctly select the M0+ core (CPU2) for flashing. The interface shows:

 
  • Cortex-M4 (CPU1)
  • Cortex-M0+ (CPU2)
 

Questions:

  1. What is the exact procedure to select and flash the M0+ core (CPU2) in STM32CubeProgrammer?
  2. Are there specific settings I should verify before flashing (boot mode, jumpers, etc.)?
  3. How can I confirm after flashing that the M0+ core is running the Zigbee RFD firmware correctly?
  4. Is there a way to verify which firmware is currently running on each core?
 

I've reviewed ST's UM2237 documentation but couldn't find specific instructions for this Zigbee use case. I'm trying to set up my STM32WB55 as a clean end device that can join my existing Zigbee network (not act as a coordinator).

 

Thank you for your expertise and guidance!

1 REPLY 1
STTwo-32
ST Employee

Aslema @Azizzr02 marahba bik on the ST Community.

Could you please follow those steps:

  • Download the STM32CubeWB V1.23.0 and unzip it.
  • Download the STM32CubeProgrammer 2.20.0 and install it.
  • Open the STM32CubeProgrammer and connect to your Board.
  • On your left you will have this menu on the STM32CubeProgrammer GUI, select it:STTwo32_0-1756507492959.png
  • On the new menu:STTwo32_1-1756507587347.png

    go to file path selector and select the path of the stm32wb5x_FUS_fw.bin. After  that click on the firmware upgrade button and wait until the end of this operation.

  • After that select the local path of the stm32wb5x_BLE_Zigbee_RFD_dynamic_fw.bin and click on the firmware upgrade button.
  • After installation, click on the button Read. FUS infos and you will see the stack address that will help you to understand which Stack is working on the CM0+ of your MCU (comparing this value to the starting address of the .bin stack files available on the Release_Notes.html of the stack and fus .bin files. You can also check the FUS Version installed on the CM0+. 
  • Before leaving, click on the Start wireless stack button.

Now, you can upload your application using the CubeProgrammer standalone or the version integrated on the STM32CubeIDE. 
Ps: for the STM32WB, the CM0+ is dedicated to the wireless stack and the CM 4 is dedicated to run the user application. More details can be found here.

Best Reagrds.

STTwo-32

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.