cancel
Showing results for 
Search instead for 
Did you mean: 

Is there an example project or instructions on how to best introduce OTA support in an BLE Mesh application?

TMA.1
Associate

We are basing an BLE Mesh application on the example project BLE_MeshLightingLPN for STM32WB55 and would like to add OTA update support to the application.

3 REPLIES 3
Remy ISSALYS
ST Employee

Hello,

OTA update over BLE Mesh network isn't yet available, it will be available in BLE Mesh v1.1. To update via OTA an unprovisioned node, there is no example but you can add OTA support to Mesh project. To do that, you shall add OTA reboot characteristic (look the code under the #define BLE_CFG_OTA_REBOOT_CHAR in BLE_HeartRate project), modify the linker file to flash your application at 0x08007000 (look the difference between stm32wb55xx_flash_cm4.icf and stm32wb55xx_flash_cm4_ota.icf) and remove the following part in SystemInit function:

#if defined(VECT_TAB_SRAM) && defined(VECT_TAB_BASE_ADDRESS)  

 /* program in SRAMx */

 SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAMx for CPU1 */

#else  /* program in FLASH */

 SCB->VTOR = VECT_TAB_OFFSET;       /* Vector Table Relocation in Internal FLASH */

#endif

When the application is expected to be downloaded by OTA, the SCB->VTOR shall not be modified as it has already been set to the correct value by the BLE_Ota application before jumping to the current application.

You need to load BLE_Ota application at 0x08000000 and your Mesh application with OTA at 0x08007000.

Best Regards

TMA.1
Associate

Hi Remy, thank you for the informative answer! Great that OTA over BLE mesh is in the roadmap ...

We are using BLE Mesh library version 1.13.002 from the STM32CubeWB repository, how does that relate to "BLE Mesh v1.1"? In other words, when is the v1.1 with OTA support scheduled for release?

Kind regards

Remy ISSALYS
ST Employee

Hello,

Indeed BLE Mesh v1.1 is in the roadmap, but for the moment no date has been announced.

Best Regards