[STM32WB55] Failed to update FUS (Operation exceeds memory Limits, failed to erase memory)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-11 10:17 PM
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)
Solved! Go to Solution.
- Labels:
-
STM32WB series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-12 12:30 AM
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
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-11 10:43 PM
Hope someone could help! Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-12 12:30 AM
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
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-12 1:37 AM
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".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-12 7:30 AM
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
Thanks
Imen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-12 8:08 PM
Hi @Imen DAHMEN​
Thanks for the advice. I re-installed CubeProgrammer and applied the 2.8.1 patch and now it works.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-13 3:58 AM
Glad to know the issue has been solved :) .
Thank you for your contribution.
Thanks
Imen
