2021-01-07 12:31 PM
I created custom pcbs with STM32WB35CC with 256KB flash. If I understand correctly, controller shipped with no ble stack installed. So, i need to program one, but all information i found is only about wb55 and Nucleo boards. I couldn't find addresses to write FUS and stack files.
I tried to use cubeprogrammer and connect via SWD and USB to my controller. When I connect via SWD, it cannot read the FUS version. Is it pre-installed? I tried to write BLE_stack file to 0x0800b000 (analogy with wb55 manual), but i-m not shure this is correct.
When I connect via USB, cubeprogrammer generates a lot of errors and freezes.
2021-01-18 11:15 AM
We you connect via SWD port, the FUS version is nor accessible. This limitation will disappear in the next version of the CubeProgrammer tool.
But you can read the FUS version via the USB port.
Now whatever the port used; you can get access to all the option bytes.
One hint: If the SFSA option byte is 0xF6, then the FUS version is V0.5.3. If it is 0xF4, it is V1.0.2 or higher.
Anyhow the best is to follow the programming steps described in the Release_Notes under the directory
STM32Cube_FW_WB_V1.10.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x.
The recommended steps are to first update to FUS V1.0.2 (stm32wb5x_FUS_fw_1_0_2.bin) and the to V1.1.0 (stm32wb5x_FUS_fw.bin).
Then you can update the RF FW.
For the BLE stack (stm32wb5x_BLE_Stack_full_fw.bin), the address should be 0x080CB000.
What kind of errors do you see when connecting via the USB port?
2021-03-15 07:59 AM
The load address I gave you was for a WB55 (1M embbeded memory flash)
Here are first estimates load addresses for WB35(256k):
| Wireless Coprocessor Binary | STM32WB3x(512K) | STM32WB3x(256K) | SIZE(4K ALIGNED) |
|----------------------------------------------------------|------------------------------|------------------------------|---------------------------|
| stm32wb3x_BLE_HCILayer_fw.bin | 0x0806C000 | 0x0802C000 | 0x14000 |
| stm32wb3x_BLE_HCI_AdvScan_fw.bin | 0x08076000 | 0x08036000 | 0xA000 |
| stm32wb3x_BLE_LLD_fw.bin | 0x08078000 | 0x08038000 | 0x8000 |
| stm32wb3x_BLE_Mac_802_15_4_fw.bin | 0x08041000 | 0x00 | 0x3F000 |
| stm32wb3x_BLE_Stack_full_fw.bin | 0x08056000 | 0x08016000 | 0x2A000 |
| stm32wb3x_BLE_Stack_light_fw.bin | 0x08062000 | 0x08022000 | 0x1E000 |
| stm32wb3x_FUS_fw.bin | 0x0807A000 | 0x0803A000 | 0x6000 |
| stm32wb3x_FUS_fw_1_0_2.bin | 0x0807A000 | 0x0803A000 | 0x6000 |
| stm32wb3x_Mac_802_15_4_fw.bin | 0x0806F000 | 0x0802F000 | 0x11000 |
| stm32wb3x_Phy_802_15_4_fw.bin | 0x0806A000 | 0x0802A000 | 0x16000 |
| stm32wb3x_Thread_FTD_fw.bin | 0x08024000 | 0x00 | 0x5C000 |
| stm32wb3x_Thread_MTD_fw.bin | 0x08037000 | 0x00 | 0x49000 |
| stm32wb3x_Zigbee_FFD_fw.bin | 0x08033000 | 0x00 | 0x4D000 |
| stm32wb3x_Zigbee_RFD_fw.bin | 0x08041000 | 0x00 | 0x3F000 |
---------------------------------------------------------------------------------------------------------------------------------------------------------