[STM32WB55] Failed to update FUS (Operation exceeds memory Limits, failed to erase memory)
I was trying to upgrade the FUS and wireless stack version on my STM32WB55 Nucleo board via ST-LINK using STM32CUBE Programmer GUI tool when I came to this issue. I first managed to delete the wireless stack by clicking on "Firmware Upgrade Service -> Firmware Delete" and it was successful.
After that, I tried performing a FUS upgrade with "stm32wb5x_FUS_fw_for_fus_0_5_3.bin", as acquired from Release .12.1: STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x at master · STMicroelectronics/STM32CubeWB · GitHub. However, it failed and gave me the following error information:
16:11:30 : Old Firmware delete ...
16:11:30 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.
16:11:30 : Warning: Option Byte: nboot0, value: 0x1, was not modified.
16:11:30 : Warning: Option Byte: nboot1, value: 0x1, was not modified.
16:11:30 : Warning: Option Bytes are unchanged, Data won't be downloaded
16:11:30 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1
16:11:30 : Memory Programming ...
16:11:30 : Opening and parsing file: 0x495_FUS_Operator.bin
16:11:30 : File : 0x495_FUS_Operator.bin
16:11:30 : Size : 8 KBytes
16:11:30 : Address : 0x08000000
16:11:30 : Erasing memory corresponding to segment 0:
16:11:30 : Erasing internal memory sectors [0 1]
16:11:30 : Download in Progress:
16:11:30 : File download complete
16:11:30 : Time elapsed during download operation: 00:00:00.308
16:11:30 : Application is running, Please Hold on...
16:11:37 : Reconnecting...
16:11:37 : Reconnected !
16:11:37 : Warning: FUS_STATE_IMG_NOT_FOUND, Flash already empty !
16:11:38 : Firmware delete Success
16:11:38 : Download Stack/FUS image at address 0x80ec000 ...
16:11:38 : Memory Programming ...
16:11:38 : Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin
16:11:38 : File : stm32wb5x_FUS_fw_for_fus_0_5_3.bin
16:11:38 : Size : 138724 Bytes
16:11:38 : Address : 0x080EC000
16:11:38 : Erasing memory corresponding to segment 0:
16:11:38 : Operation exceeds memory limits
16:11:38 : failed to erase memory
16:11:38 : Error: Failed to download image!I have no idea how to fix this problem. Could anyone please advise or help? Thanks!
FYI, here is my option byte setting:
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 code area if BOOT0=0 otherwise system Flash)
nSWBOOT0 : 0x0 (BOOT0 taken from the option bit nBOOT0)
SRAM2RST : 0x0 (SRAM2 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 - 1:
ESE : 0x1 (Security enabled)
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)
OPTION BYTES BANK: 1
Security Configuration Option bytes - 2:
SFSA : 0xF6 (0x80F6000)
FSD : 0x0 (System and Flash secure)
DDS : 0x1 (CPU2 debug access disabled)
C2OPT : 0x1 (SBRV will address Flash)
NBRSD : 0x0 (SRAM2b is secure)
SNBRSA : 0x10 (0x2003C000)
BRSD : 0x1 (SRAM2a is non-secure)
SBRSA : 0x0 (0x20030000)
SBRV : 0x3D800 (0x20000000)
