2020-08-16 09:38 AM
Hi.
Using STM32CubeProgrammer I load last stm32wb5x_BLE_Stack_light_fw.bin, but when after that I try to run command -fwdelete, I get an error : "FUS_NOT_RUNNING".
I attach log file becose Idont understand whot is this.
But me application work fine and I see that stack is a last version.
Please help whot may bee .
I send call:
STM32_Programmer_CLI.exe -c port=usb1 -fwdelete -vb 3
2020-09-01 09:28 AM
2020-09-01 09:29 AM
The size increase results from the added support of the secure connections.
2020-09-01 09:29 AM
I use that - not help for me.
It is a strange that 4 chips have same problem.
2020-09-01 09:36 AM
Indeed!
Can you download all the option bytes?
Are you able to read the FUS either in CLI or GUI mode (possible only via the USB port).
In last resort we could activate the safe boot which will reset the chip in its manufactory state.
But I would like first to get the option bytes to better understand the possible cause of this blocking situation.
2020-09-01 09:43 AM
Can you download all the option bytes? - to chip or from chip?
Are you able to read the FUS either in CLI or GUI mode (possible only via the USB port) - how to read FUS ?
2020-09-01 09:47 AM
From the chip. Use the CubeProgrammer tool in GUI mode . You can also use the CLI mode.
On the last picture I attached to this thread, you can see a button "read FUS state". It works well when the USB port is used.
2020-09-01 09:48 AM
cli.exe -c port=usb1 -ob displ ... is the command to extract all options bytes
2020-09-01 09:49 AM
Reading FUS state:
and tis is a log for reading state:
19:48:02:586 : DFU status = 0
19:48:02:586 : DFU State = 9
19:48:02:587 : Status: 0, State: 9
19:48:02:587 : sending an abort request
19:48:02:588 : DFU status = 0
19:48:02:588 : DFU State = 2
19:48:02:588 : DFU status = 0
19:48:02:588 : DFU State = 2
19:48:02:588 : Status: 0, State: 2
19:48:02:589 : setting the address pointer to address: 0xffff0054
19:48:02:589 : DFU status = 0
19:48:02:589 : DFU State = 4
19:48:02:589 : DFU status = 0
19:48:02:589 : DFU State = 5
19:48:02:589 : data: 215400ffff
19:48:02:590 : DFU status = 0
19:48:02:590 : DFU State = 5
19:48:02:590 : sending an abort request
19:48:02:590 : DFU status = 0
19:48:02:590 : DFU State = 2
19:48:06:385 : FUS state is FUS_ERROR
19:48:06:386 : FUS status is FUS_NOT_RUNNING
19:48:06:386 : Reconnecting...
19:48:06:386 : Reconnecting...
19:48:06:416 : Reconnected
19:48:06:417 : Reconnected !
19:48:06:417 : Read FUS state command execution finished
2020-09-01 09:50 AM
-------------------------------------------------------------------
STM32CubeProgrammer v2.5.0
-------------------------------------------------------------------
USB speed : Full Speed (12MBit/s)
Manuf. ID : STMicroelectronics
Product ID : DFU in FS Mode
SN : 2058387A3036
FW version : 0x011a
Device ID : 0x0495
Device name : STM32WBxx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M0+/M4
UPLOADING OPTION BYTES DATA ...
Bank : 0x00
Address : 0x1fff8000
Size : 128 Bytes
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ 0%
██████████████████████████████████████████████████ 100%
OPTION BYTES BANK: 0
Read Out Protection:
RDP : 0xAA (Level 0, no protection)
BOR Level:
BOR_LEV : 0x0 (BOR Level 0 reset level threshold is around 1.7 V)
User Configuration:
nBOOT0 : 0x1 (nBOOT0=1 Boot from main Flash)
nBOOT1 : 0x1 (Boot from Flash if nBoot0=0 otherwise system memory)
nSWBOOT0 : 0x1 (BOOT0 taken from PH3/BOOT0 pin)
SRAM2RST : 0x1 (SRAM2 is not erased when a system reset occurs)
SRAM2PE : 0x1 (SRAM2 parity check disable)
nRST_STOP : 0x1 (No reset generated when entering the Stop mode)
nRST_STDBY : 0x1 (No reset generated when entering the Standby mode)
nRSTSHDW : 0x1 (No reset generated when entering the Shutdown mode)
WWDGSW : 0x1 (Software window watchdog)
IWGDSTDBY : 0x1 (Independent watchdog counter running in Standby mode)
IWDGSTOP : 0x1 (Independent watchdog counter running in Stop mode)
IWDGSW : 0x1 (Software independent watchdog)
IPCCDBA : 0x0 (0x0)
Security Configuration Option bytes:
ESE : 0x0 (Security disabled)
SFSA : 0xD6 (0xD6)
FSD : 0x0 (System and Flash secure)
DDS : 0x1 (CPU2 debug access disabled)
C2OPT : 0x1 (SBRV will address Flash)
NBRSD : 0x0 (SRAM2b is secure)
SNBRSA : 0xF (0xF)
BRSD : 0x0 (SRAM2a is secure)
SBRSA : 0xA (0xA)
SBRV : 0x35800 (0x35800)
PCROP Protection:
PCROP1A_STRT : 0x1FF (0x80FF800)
PCROP1A_END : 0x0 (0x8000800)
PCROP_RDP : 0x0 (PCROP zone is kept when RDP is decreased)
PCROP1B_STRT : 0x1FF (0x80FF800)
PCROP1B_END : 0x0 (0x8000800)
Write Protection:
WRP1A_STRT : 0xFF (0x80FF000)
WRP1A_END : 0x0 (0x8000000)
WRP1B_STRT : 0xFF (0x80FF000)
WRP1B_END : 0x0 (0x8000000)
2020-09-02 03:50 AM
Regarding the reading of the FUS state, the values are relevant when the FUS is active. One way to activate the FUS is to launch a command to the FUS, fwdelete for example. Then read the FUS state and version.
Regarding the option bytes, the RF stack seems to be correctly installed but the ESE = 0 means that the security is not enabled on this chip. I cannot clearly rely your issue to this configuration, but it is not a tested configuration at ST.
I would recommend getting rid of this chip and develop your application on a secure part (ESE = 1).