I've been following AN68272 on how to use my microcontroller (STM32) to update the EZ-Serial Firmware running on the Cypress CYBLE-222014-01 Module to V1.1.1. So far, I've converted the stack and application .cyacd files of the 1.1.1 EZ-Serial Firmware into a string array respectively and included the file in the program. I've also included the cybtldr files that were given with the UART example in AN68272.
These are the steps I take on my MCU host:
1) Check the firmware version using EZ-Serial API call "ezs_cmd_system_query_firmware_version()"
2) If the firmware version is not the version I get from modules that are 1.1.1 (0x101011a) then I switch the device to DFU mode over UART using ezs_cmd_dfu_reboot(2)
The next steps is where it gets confusing.
I think I need to update both the stack and the application of the EZ-Serial PSoC module (is this required to go to V1.1.1 - or just the Application?). When I update the module in OTA mode using the Cypress Smart Mobile Application, the device resets after updating the stack and continues with an application upgrade. This makes sense according to the documentation.
My thinking to implement this over the MCU is:
3) Bootload the string image of the Stack after device is in DFU mode
4) Wait for EZ-Serial Device to reset (maybe some sort of delay)
5) Bootload the string image of the Application
If someone has attempted something similar, your insight would be really appreciated.