2023-01-17 07:14 PM
Hello everyone,
I'm migrating a code base from the STM32L475 to the STM32WB55. The WB55 was selected due to availability and it's not expected to use the connectivity features (BLE, ZigBee, etc.) it has.
Looking at the OTA firmware upgrade examples for BLE/ZigBee it's not clear to me if I can use that in a project when not using the connectivity stacks.
I am still looking at AN5185 to implement something without using a wireless stack but using the firmware upgrade services.
The previous hardware (L475) had dual banks so the upgrade was implemented using one bank at a time. In the WB55 there is only one bank available, one idea is to partition this bank and allocate an amount of space to store the new image.
As a side note, the image is received using an LTE connection.
Do you have any suggestions (examples, projects, input) on implementing the firmware upgrades on the WB55?
Regards,
Carlos
2023-01-18 01:26 AM
Hello,
The easiest way to perform a firmware upgrade is to have a loader like BLE_Ota project, your application on the top of your loader and allocate a part of the memory to store the new image. When the new image is written in the memory, jump on the loader, delete your active application and copy the new image at the right address and reboot on it.
You can look BLE_Ota project available in STM32CubeWB package, for more information see AN5247. You can also look the X-CUBE-SBSFU Secure Boot and Secure Firmware Update solution allows the update of the STM32 microcontroller built-in program with new firmware versions.
Best Regards