cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55 - FUS_STATE_IMG_NOT_FOUND

peter627
Associate II

Hello all,

 

I have been running into a lot of issues trying to get the firmware for the BLE onto my board using the STM32WB55RG.

 

Now I did follow this video and originally got it working, but then I accidently hit delete firmware and was unable to get it on again. Right now any time I try to upgrade my firmware I always get the WARNING: FUS_STATE_IMG_NOT_FOUND.

I have tried doing a mass erase and then re-upgrading as I saw in another post but that also will not work.

Here is the list of steps I take right now:
1. Plug in board

2. Connect via STM32CubeProgrammer

3. Start FUS

4. Read FUS Info

5. Attempt to upgrade stm32wb5x_BLE_Stack_full_fw.bin at 0x080C7000

6. Receive error message

peter627_0-1749079937920.png

This is a custom board, but I did at one point have the BLE working on it.

 

Here is my option bytes configuration:

peter627_1-1749080001734.png

peter627_2-1749080014171.png

peter627_0-1749080260978.png

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
theARTof1337
Associate II

I've successfully upgraded FUS and installed wireless stack using STMCubeProgrammer. Try the steps listed in my previuos topic...
https://community.st.com/t5/stm32-mcus-wireless/cannot-flash-ble-wireless-stack-into-stm32wb55cg-usb-dongle-fus/td-p/809775

View solution in original post

8 REPLIES 8
theARTof1337
Associate II

I've successfully upgraded FUS and installed wireless stack using STMCubeProgrammer. Try the steps listed in my previuos topic...
https://community.st.com/t5/stm32-mcus-wireless/cannot-flash-ble-wireless-stack-into-stm32wb55cg-usb-dongle-fus/td-p/809775

Dude I love you so much. It worked.

I was fiddling around with this for like 4 hours yesterday after I accidently messed it up and thought I was gonna have to solder on new chips.

So I have uploaded the firmware successfully and when I read it, it seems correct.
And I am able to successfully start the wireless stack from the WB Commands.

peter627_0-1749135168507.png

But when I try using the same code I did before my BLE is not able to initialize. Not sure if you have used the stm32duinoble library which is what I am using, but if you have, any ideas on what is going on would be appreciated.

I have tried starting the wireless stack before flashing code and it still wont initialize too.

valilai
Associate

Hi,

for everyone landing on this page where the suggested solution of @theARTof1337 is not working, here is my solution:

The FUS must be installed in the correct order: v0.5.3.0 -> v1.2.0 -> v2.1.0 !
The big problem for me was that (04.11.25) the v0.5.3 seem to be the v1.20... some file/meta data mismatch i guess.

valilai_0-1762220427167.png

Idk whats happening here because i did get the files from latest github (https://github.com/STMicroelectronics/STM32CubeWB/tree/v1.23.0)

So yea, i needed to do Firmware Upgrade in this order:

1. *fw_0_5_3.bin (aka v1.2.0) on 0x080EC000

2. *fw.bin (aka v2.1.0) on 0x080EE000

I also did before every Firmware Upgrade an "Start FUS" and next "Read FUS infos". Idk if this does something really because it first started to work after i noticed the version mismatch between filename and GUI "Selected file" info. 

 



Hello, this also happened to me. Some boards give an error during programming, and I have to erase everything, including BLE, and check the FUS version. Previously, it wasn't necessary to update the FUS if using older versions of BLE, but now the newer boards come with FUS (1.2.0). I'm updating to 2.1.0 and BLE 1.23.3, and so far so good. Now, some boards are giving an error and not starting BLE, as far as I can tell, because even though it's correct when I program my firmware, which communicates via USB generating a COM port, it doesn't communicate with the software (developed by my company for firmware updates). If you look in the Windows device manager, it's there. I've already started the FUS and BLE stack, and it doesn't solve the problem.

The microcontrollers were coming with FUS 1.1.0, and to use BLE 1.23.0, you have to update to 1.2.0 and 2.1.0. Another detail that caught my attention at the end of last year is that the microcontrollers already came with FUS version 1.2.0, only needing an update to version 2.1.0.

Hi,
you are working on the FUS Software? Nice :) I am using stm32 in my masters. Some things just feel off for me, with this board and the whole ble and flashing topic. Is it because no one is really earning money with this chip so no one cares? Or is it a situation of: you need to be diamond partner to get some better experience.

Are the fus.bin named so wired because you need to flash 1.20 if you have 0.5.3 and then they named the binary 0.5.3 because its for this version? Idk, but that so confusing for me... 

Also i have to flash my ble stack from time to time. Is there a relation between how often you flash the m4 ? Like it will stop working on purpose after to many flashes of m4?

Have a great day :) 

There is a document that explains about FUS and BLE.

This document explains how to update FUS and program BLE, but it doesn't go into much detail. I followed all the FUS and BLE rules, and even so, the chip doesn't work; it seems to no longer be usable for my needs.

https://wiki.st.com/stm32mcu/wiki/Connectivity%3ASTM32WB_FUS?utm_source

Alexandre__Promont_0-1768477996530.png

Alexandre__Promont_1-1768478110240.pngAlexandre__Promont_2-1768478142801.png

It really seems strange because I installed FUS version 0.5.3 and STM32CUBEIDE shows the file stm32wb5x_FUS_fw.bin as version 1.2.0. When I tried to write it, a message appeared but it updated correctly. This is really confusing; it seems like they are updating the 0.5.3 file but not updating the file name.

I'm getting the files from GitHub using STM32CUBEPROGRAMMER v2.21.0.

Could someone from the community answer this question?