Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
As per the current implementation of PSoC4 BLE upgradable stack OTA example project, bonding data is not shared between "Application" and "Stack" projects.
So that, user has to connect and bond again with stack project before performing firmware update over the air.
Steps to be followed to perform firmware update over the air
Connect and bond with “Application” project from the central device.
Switch to “Stack” project for OTA firmware update.
Connect a bond with “Stack” project again from the central device.
Perform OTA firmware update.
Both "Application" and "Stack" projects store bonding data at different locations. That is the reason why user need to connect and bond with the stack project before performing firmware update over the air.
The solution is to make the "Application" and "Stack" projects share the bonding data between them. Below steps are followed to share the bonding data between "Application" and "Stack" projects. Both “Application” and “Stack” projects store the bonded device list in the structure “cyBle_flashStorage” separately.
Changes made to the Upgradable Stack OTA example project.
Make the BLE name (OTA Bootloader) and address (00A050-000615) same for both Stack and Application projects.
When “Application” or “Stack” projects starts,
Store the address of “cyBle_flashStorage” structure to user SFlash available in PSoC4 BLE.
Read address of “cyBle_flashStorage” of the other project. i.e. if current project is “Application” read the address stored by “Stack” project.