cancel
Showing results for 
Search instead for 
Did you mean: 

Wireless firmware upgrade works with example, but not own project

DLid.1
Associate II

Hello!

 

I am trying to get Wireless Firmware Upgrade to work on an STM32WB5MMG.

I have managed to get it working with the example project in the STM32WB repository.

This is FUS information:

DLid1_0-1694108783870.png

 

When I flash this project onto the device with STM32CubeIDE,

DLid1_1-1694108867228.png

 

I am able to see and connect to the device with ST BLE Sensor app.

Once connected I press the Firmware Update button and try and flash the BLE_HeartRate_ota binary (that I got from opening the project in STM32CubeIDE and compiling it with binary output setting).

Now, when I upload that project to my STM32, indeed the STM32 is updated to the HeartRate project. So, I know that the OTA is working fine.

Now I want to try and and do it with my own simple toggle pin project.

So I make one in STM32CubeIDE and compile and generate bin file and try and upload it the same way as the heartrate one. It does upload and I can see in the app that it did so successfully, but no toggling is happening (the device is still accessable with name STM_OTA).


So what I did was to check the difference in the .id files of the HeartRate project and my project. 

 

This is the STM32WB55RGVX_FLASH.id (working heartrate):

DLid1_2-1694109422254.png

And this is is STM32WB5MMGHX_FLASH.id: (my project)

DLid1_3-1694109613267.png

I did notice that in the working Hearrate, there is this line:
FLASH (rx) : ORIGIN = 0x08007000, LENGTH = 484k
but in my project I have this:
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K

So I started to suspect that my project has the wrong memory adress origin, so I changed it to the same as the heartrate but with no luck.

I also noticed this in the HeartRate example:
.ota_region 0x08007140:
{
KEEP(*(TAG_OTA_START))
. = ALIGN(4);
} >FLASH

which I did not have in my simple project, so I added that line too,

but still no luck.


Does anyone have any idea what I am doing wrong? I cannot find any documentation on how to get our own projects onto the STM. If there are things that I need to change in the .id file, then what should I change?

Maybe I am on the right track but just missing something small, or I am totally wrong.

Appreciate any guidance. 

1 REPLY 1
DLid.1
Associate II

To add some more information, I have tried a couple of more things.

I copied the exact working STM32WB55RGVX_FLASH.id to the nonworking project with STM32WB5MMGHX_FLASH.id

Still no result when Firmware Upgrading with the app.