2023-04-25 10:58 AM
Hi,
I have found some questions and discussions with similar topic, but no answer seems to apply to my case. I have an STM32WB55 Nucleo Pack, and I cannot manage to load any of the BLE stack binaries provided with the STM32Cube_FW_WB_V1.16.0 into my device.
The non-BLE example applications running only on CPU1 are working without problems.
If I use the STM32CubeProgrammer (V2.13.0) via SWB, it connects without issues.
If I select the FUS page and press "Read FUS Infos", I get "FUS State: IDLE", "FUS Status: FUS_No_ERROR" , FUS Version "v.0.0.0.0", STACK Version "v0.0.0.0" and FUS Operator "v3.1.0". If I press "Start Wireless Stack", I get "unknown error", presumably because there is no one present. And if I try to load for example "stm32wb5x_FUS_fw_for_fus_0_5_3.bin" at address 0x080ce000 (as specified in Release_Notes.html), I get the following messages:
19:46:18 : Old Firmware delete ...
19:46:18 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.
19:46:18 : Warning: Option Byte: nboot0, value: 0x1, was not modified.
19:46:18 : Warning: Option Byte: nboot1, value: 0x1, was not modified.
19:46:18 : Warning: Option Bytes are unchanged, Data won't be downloaded
19:46:18 : Time elapsed during option Bytes configuration: 00:00:00.000
19:46:18 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1
19:46:18 : Memory Programming ...
19:46:18 : Opening and parsing file: 0x495_FUS_Operator.bin
19:46:18 : File : 0x495_FUS_Operator.bin
19:46:18 : Size : 8.00 KB
19:46:18 : Address : 0x08000000
19:46:18 : Erasing memory corresponding to segment 0:
19:46:18 : Erasing internal memory sectors [0 1]
19:46:19 : Download in Progress:
19:46:19 : File download complete
19:46:19 : Time elapsed during download operation: 00:00:00.534
19:46:19 : Application is running, Please Hold on...
19:46:26 : Reconnecting...
19:46:26 : Reconnected !
19:46:26 : Warning: FUS_STATE_ERR_UNKNOWN
The same happens, if I try to upgrade the FUS itself first. And since there is no version information, I don't know, if that is necessary and if I have to use the stm32wb5x_FUS_fw_for_fus_0_5_3.bin or the stm32wb5x_FUS_fw.bin.
And after I have tried that, I still get the v0.0.0.0 version for FUS version as well as STACK version, so I think there is simply nothing changed.
Option byte status is: ESE unchecked, FSD, DDS, C2OPT, NBRSD all checked, SFSA = 0xd4, SNBRSA = 0x14,
My impression is, that I don't have any FUS software loaded.
If anyone could give some helpful hints, I would be gradeful.
Regards
Dirk
2023-04-26 12:50 AM
Additional info:
RDP = 0xaa, BOR_LEV = 0, nBOOT0, nBOOT1, sRAM2PE, nRST_STOP, nRST_STBY, nRSTSHDW, WWDGSW, IWDGSTDBY, IWDGSTOP and IWDGSW all checked, nSWBOOT0 and SRAM2RST both unchecked, IPCCDBA = 0x0000, BRSD checked, SBRSA = 0xa SBRV = 0x3d800.
The SBRV value seems (according to AN5185) indicate that FUS 0.5.3 is loaded. But I get no FUS version number and still no success in a try to upgrade the FUS by loading stm32wb5x_FUS_fw_for_fus_0_5_3.bin.
2023-05-05 02:26 AM
Hello,
You can look this wiki page which describes how to setup the board and how to perform FUS and wireless stack update. To update CPU2 (FUS or wireless stack), you should start the FUS has describes in the wiki page.
Best Regards
2023-05-10 08:14 AM
Hi Remy,
thank you for your answer. Unfortunately, that does not help. If I follow the instructions from that wiki page, I still cannot load the BLE firmware. The STM32CubeProgrammer does never show a FUS version (only 0.0.0). As described in my question, from the SBRV option byte value I conclude that FUS 0.5.3 must be loaded, so I try to upgrade using the FUS itself using the stm32wb5x_FUS_fw_for_fus_0_5_3.bin file. After that has completed, I still get no FUS version number. And if I try to load the stm32wb5x_BLE_Stack_full_fw.bin binary file, I keep getting "Warning: FUS_STATE_ERR_UNKNOWN" and cannot start the wireless stack:
17:10:05 : Error: FUS_STATE_ERR_UNKNOWN: Unknown error
17:10:05 : Error: Start Wireless Stack Operation Failure! Please, try again
2023-05-11 06:29 AM
Hello,
Can you try to load the FUS Command Line Interface binary and check the log on the uart and share the screenshot of the log?
Best Regards
2023-05-11 08:35 AM
Hi,
I have loaded the binary, but there is no output in the putty terminal window. Directly after programming the binary file, LED 4 (red) is permanantly on and LED 6 blinks green/red (six times green/led short, then one time green a bit longer). After disconnecting the CubeProgrammer, LED 6 turns permanently red.
I double-checked the COM-port number as well as the serial settings (115200, 8N1)
When I press button 3 long, the blue led (LED 1) turns on for some seconds, the the FUS Command Line Interface itself seems to work.
I then have compiled that binary and executed it under debugger control (CubeIDE), it it never receives any events (APPE_SysUserEvtRx never called)
Regards
Dirk
2023-05-11 10:52 AM
Hello,
Is it an old board? Do you know where the device comes from? Can you read the DBGMCU_IDCODE register?
Best Regards
2023-05-11 11:09 AM
The DBGMCU_IDCODE is 0x20006495
I don't know how old it is. I received it from some other development department of our company. But I know it worked when it arrived, so if something is wrong, I must have done that by accident.The only occasion I remember is that once I disconnected it unintentionally (but there was no firmware download ongoing then)
2023-05-12 01:41 AM
Hello,
According to your post, the ESE option bytes is unchecked which means that the security is disable on your board. So, it's no longer possible to use the FUS or the wireless stack which are encrypted binaries. According to the value of DBGMCU_IDCODE, your board is a revision B which is a non-commercial version, maybe the board has been recover in a show.
Best Regards
2023-05-16 06:34 AM
Hi, thank you for this information. At least I can now stop wasting time with this board. I still have no idea how this could have happened. And I don't understand what is meant by "maybe the board has been recover in a show"
Regards
Dirk