2020-08-20 04:48 PM
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?
2020-09-02 08:34 AM
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.
2020-09-08 07:59 AM
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.