cancel
Showing results for 
Search instead for 
Did you mean: 

[STM32WB55] Failed to update FUS (Operation exceeds memory Limits, failed to erase memory)

OShen.1
Associate II

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)

1 ACCEPTED SOLUTION

Accepted Solutions
Imen.D
ST Employee

Hello @OShen.1​ and welcome to the Community 🙂

Make sure to use the lastest release of STM32Cubeprogrammer.

Try to set RDP option byte to 0xBB (level 1) and then back to 0xAA (level 0). Then, upgrade the FUS once again.

Let me know if this solves your problem.

When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

6 REPLIES 6
OShen.1
Associate II

Hope someone could help! Thanks in advance!

Imen.D
ST Employee

Hello @OShen.1​ and welcome to the Community 🙂

Make sure to use the lastest release of STM32Cubeprogrammer.

Try to set RDP option byte to 0xBB (level 1) and then back to 0xAA (level 0). Then, upgrade the FUS once again.

Let me know if this solves your problem.

When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
OShen.1
Associate II

Hi @Imen DAHMEN​ 

Thank you so much for getting back to me! I have been using STM32Cubeprogrammer version 2.8.0, which I think is the latest. I have done exactly as you said but also getting the same result, i.e. complaining that "Operation exceeds memory limits".

I adivse you to follow the steps described in the eLearning WB Bluetooth mesh - 4 STM32CubeWB Bluetooth LE Stack installation.

(From navigation bar, go to Academy > eLearning Catalog > General Purpose Microcontrollers > STM32 Wireless BLE > Board installation and Materials overview > WB Bluetooth mesh - 4 STM32CubeWB Bluetooth LE Stack installation)

 Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Hi @Imen DAHMEN​ 

Thanks for the advice. I re-installed CubeProgrammer and applied the 2.8.1 patch and now it works.

Glad to know the issue has been solved 🙂 .

Thank you for your contribution.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen