Skip to main content
IIvan.10
Associate
August 20, 2020
Question

STM32WB p-nucleo-wb55 fus upgrade

  • August 20, 2020
  • 1 reply
  • 769 views

Hi! I have p-nucleo-wb55 board. I watch very strange behavior: all ok, when I load precompiled demo from st.com. But when I compile hex from example sources(ble_p2pserver application), board not working. Green LED lighten 1 minutes, but not blinked, and device is not discoverable

I suspect that need upgrade ble stack. But firmware is not upgradeble.

My steps:

1. Load DFU_Standalone firmware over swd

2. Install jumpers to BOOT0 pin and USB_MCU

3. Plugin USB cable in user usb port

4. And finaly try upgrade fus and ble stack

Log:

STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 4
 
 -------------------------------------------------------------------
 
 STM32CubeProgrammer v2.5.0
 
 -------------------------------------------------------------------
 
 
USB speed : Full Speed (12MBit/s)
Manuf. ID : STMicroelectronics
Product ID : DFU in FS Mode
SN : 205330923036
FW version : 0x011a
IAP
 
 
 
Reading 32-bit memory content
 Size : 4 Bytes
 Address: : 0x20030030
 
0x20030030 : AE1C889C

STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade C:\Users\Kostya\Desktop\en.stm32cubewb_v1-8-0\STM32Cube_FW_WB_V1.8.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 firstinstall=0
 
 -------------------------------------------------------------------
 
 STM32CubeProgrammer v2.5.0
 
 -------------------------------------------------------------------
 
USB speed : Full Speed (12MBit/s)
Manuf. ID : STMicroelectronics
Product ID : DFU in FS Mode
SN : 205330923036
FW version : 0x011a
IAP
 
Error: fwupgrade command is not supported for such device
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd -r32 0x20030030 4
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.5.0
 -------------------------------------------------------------------
 
ST-LINK SN : 066CFF3832394D3457191431
ST-LINK FW : V2J37M26
Board : P-NUCLEO-WB55
Voltage : 3.29V
SWD freq : 4000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x495
Revision ID : Rev B
Device name : STM32WBxx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M0+/M4
 
 
Reading 32-bit memory content
 Size : 4 Bytes
 Address: : 0x20030030
 
0x20030030 : 00000000
STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade C:\Users\Kostya\Desktop\en.stm32cubewb_v1-8-0\STM32Cube_FW_WB_V1.8.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 firstinstall=1
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.5.0
 -------------------------------------------------------------------
 
ST-LINK SN : 066CFF3832394D3457191431
ST-LINK FW : V2J37M26
Board : P-NUCLEO-WB55
Voltage : 3.28V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x495
Revision ID : Rev B
Device name : STM32WBxx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
 Bank : 0x00
 Address : 0x58004020
 Size : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_FUS_fw_1_0_2.bin
 File : stm32wb5x_FUS_fw_1_0_2.bin
 Size : 24492 Bytes
 Address : 0x080EC000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [236 241]
Error: failed to erase memory
 
 
Error: failed to erase memory
Error: Failed to download image!

Could you give me advice how me upgrade my board?

This topic has been closed for replies.

1 reply

Remi QUINTIN
Technical Moderator
September 2, 2020

Can you download the option bytes?

Was it a brand-new board?

When you read 0 at 0x20030030 (via USB port), this means the FUS is not activated. You can activate it sending a fwdelete command. Then you will get the real value of the version.

I recommend erasing the user part of the flash memory sending the two commands below:

cli.exe -c port=usb1 -ob RDP=0xBB

cli.exe -c port=usb1 -rdu

With these 2 commands and the fwdelete command, you should have the SFSA set to 0xF4. Then proceed with the FUS update (via USB it is easier). Be sure to set nSWboot to 1 + the CN57 connector on the bord.

IIvan.10
IIvan.10Author
Associate
September 8, 2020

Thank you, Remi! The board was bought at domestic Russian craigslist - avito. I guess that it broken. I bought new board yesterday, and it works fine. On the newboard, FUS was upgraded over stm32programmer gui without problems. For now I will be use new plate.