2024-06-23 8:01 AM
Hi,
Totally newb. I have a custom board with a STM32WB55CEU6. Connected over ST-LINK.
I'm trying to upgrade FUS. Using stm32wb5x_FUS_fw.bin at 0x0807A000
Everything seems to work fine until the very last step, where I get an error: FUS_STATE_IMG_NOT_FOUND: Firmware/FUS upgrade requested but no image found. (such as image header corrupted or flash memory corrupted)
Any ideas?
Here's my log:
16:59:29 : Old Firmware delete ...
16:59:29 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.
16:59:29 : Warning: Option Byte: nboot0, value: 0x1, was not modified.
16:59:29 : Warning: Option Byte: nboot1, value: 0x1, was not modified.
16:59:29 : Warning: Option Bytes are unchanged, Data won't be downloaded
16:59:29 : Time elapsed during option Bytes configuration: 00:00:00.000
16:59:29 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1
16:59:29 : Memory Programming ...
16:59:29 : Opening and parsing file: 0x495_FUS_Operator.bin
16:59:29 : File : 0x495_FUS_Operator.bin
16:59:29 : Size : 8.00 KB
16:59:29 : Address : 0x08000000
16:59:29 : Erasing memory corresponding to segment 0:
16:59:29 : Erasing internal memory sectors [0 1]
16:59:29 : Download in Progress:
16:59:29 : File download complete
16:59:29 : Time elapsed during download operation: 00:00:00.212
16:59:29 : Application is running, Please Hold on...
16:59:36 : Reconnecting...
16:59:36 : Reconnected !
16:59:36 : Warning: FUS_STATE_IMG_NOT_FOUND, Flash already empty !
16:59:37 : Firmware delete Success
16:59:37 : Download Stack/FUS image at address 0x807A000 ...
16:59:37 : Memory Programming ...
16:59:37 : Opening and parsing file: stm32wb5x_FUS_fw.bin
16:59:37 : File : stm32wb5x_FUS_fw.bin
16:59:37 : Size : 424.79 KB
16:59:37 : Address : 0x0807A000
16:59:37 : Erasing memory corresponding to segment 0:
16:59:37 : Erasing internal memory sectors [122 228]
16:59:39 : Download in Progress:
16:59:46 : File download complete
16:59:46 : Time elapsed during download operation: 00:00:08.449
16:59:46 : Firmware Upgrade process started ...
16:59:46 : Application is running, Please Hold on...
17:00:18 : Reconnecting...
17:00:18 : Reconnected !
17:00:18 : Error: FUS_STATE_IMG_NOT_FOUND: Firmware/FUS upgrade requested but no image found. (such as image header corrupted or flash memory corrupted)
2024-06-26 12:22 AM
Hello,
Please check video guidance how to update FUS or stack. Up to date version of STM32CubeProgrammer is able to made even more steps for you. Please ensure, that no memory protection is active. When you're still facing issue, mass erase of the memory will help - there may be some data, which are by change wrongly identified as FUS header, so update is not done with correct data.
On custom board is also important to ensure voltage is stable during flash write and erase operations (proper decoupling and stable power input).
Is it working for you now after mass erase prior to FUS update?
Thank you in advance for your feedback,
Lubos
2024-06-28 6:02 AM
Hello, and thank you!
I am basically already following the tutorial. I use a STLINK-V3SET so some steps are different.
I did a mass erase. No difference. Same error, same logs.
The board may, off course be faulty. I didn't build it myself and I don't have the tools to check everything. But things seems to be working all right. I can read whats on the STM32, I can make changes to it, I just can't get the FUS update to work.
Anything else I should try?
2024-07-15 1:33 AM
I'm sorry for late reply.
Please check also option bytes to ensure there is no memory protection active.
For verification, could you please post content of your security option bytes?
What is the content of FUS information window on your side?
For verification, could you try FUS update also on some different custom board and also on some STM32WB55 nucleo board?
2025-08-15 7:09 AM
I'm having the same problem. I have been programming my product successfully from repository STM32Cube_FW_WB_V1.22.0, but I'm trying to set up a new windows computer for production programming and I downloaded the repository and got STM32Cube_FW_WB_V1.22.1.
I changed the script for the new directory, and it can find the stack_full file file and it downloaded it successfully, and verified it, but then the fus gives me the same error message as that previous user had.
So I tried doing it with the GUI version and I got the same result. It found the file, downloaded it, verified it, but then couldn't complete the upgrade. I did a full chip erase and tried again and got the same result.
08:03:34 : UPLOADING ...
08:03:34 : Size : 4 Bytes
08:03:34 : Address : 0x58004080
08:03:34 : Read progress:
08:03:34 : Data read successfully
08:03:34 : Time elapsed during the read operation is: 00:00:00.000
08:03:34 : UPLOADING ...
08:03:34 : Size : 4 Bytes
08:03:34 : Address : 0x58004080
08:03:34 : Read progress:
08:03:34 : Data read successfully
08:03:34 : Time elapsed during the read operation is: 00:00:00.000
08:03:53 : UPLOADING ...
08:03:53 : Size : 4 Bytes
08:03:53 : Address : 0x58004080
08:03:53 : Read progress:
08:03:53 : Data read successfully
08:03:53 : Time elapsed during the read operation is: 00:00:00.001
08:03:53 : Download Stack/FUS image at address 0x805C000 ...
08:03:53 : Opening and parsing file: stm32wb5x_BLE_Stack_full_fw.bin
08:03:53 : Memory Programming ...
08:03:53 : File : stm32wb5x_BLE_Stack_full_fw.bin
08:03:53 : Size : 127.05 KB
08:03:53 : Address : 0x0805C000
08:03:53 : Erasing memory corresponding to segment 0:
08:03:53 : Erasing internal memory sectors [92 123]
08:03:53 : Download in Progress:
08:03:55 : File download complete
08:03:55 : Time elapsed during download operation: 00:00:02.735
08:03:55 : Firmware Upgrade process started ...
08:03:55 : Warning: Option Byte: nboot0, value: 0x1, was not modified.
08:03:55 : Warning: Option Byte: nboot1, value: 0x1, was not modified.
08:03:56 : Reconnecting...
08:04:01 : Reconnected !
08:04:01 : Application is running, Please Hold on...
08:04:15 : Reconnecting...
08:04:15 : Reconnected !
08:04:15 : Error: FUS_STATE_IMG_NOT_FOUND: Firmware/FUS upgrade requested but no image found. (such as image header corrupted or flash memory corrupted)
This is using the GUI's new start address automatic determination. I also tried it using the start address that has been working for me before, 0x0805A000, and I could see it was erasing sectors 90 to 121 instead of 92 to 123, but I got the same result.
2025-08-15 7:11 AM
Here is what I get when I read the FUS
2025-08-15 7:13 AM
I tried again using the other repository I had downloaded, 1.17.2, and it worked. I noticed that it was programming sectors 90 to 127 with that stack using the start address automatic determination. I think there is something wrong with the 1.22.1 full stack binary.