The most likely issue in this case concerns the "loader" project that you compiled your new target firmware image against. The EZ-Serial platform implements the "UpgradableStack" architecture demonstrated in one of the PSoC Creator example project sets, but in order for this to work correctly, all three projects (launcher, stack, app) must be built using the correct bootloader -> bootloadable chaining. In short, this means:
- The "loader" project has one Bootloader component
- The "stack" project has:
- One Bootloadable component referencing the "loader" project's .hex/.elf set
- One Bootloader component
- The "app" project has one Bootloadable component referencing the "stack" project's .hex/.elf set
If you perform a stack upgrade using a stack image compiled against a different loader image, it won't boot correctly because the stack and loader projects aren't correlated correctly.
This is a bit of a catch-22 at the moment because there is no place (yet) to download the EZ-Serial launcher binary images. Part of the reason for this is that the OTA bootloader within EZ-Serial is primarily intended to facilitate future upgrades of EZ-Serial specifically, rather than generically switching to a different project. However, there is no technical limitation as long as you are able to use the correct launcher as a foundation.
I've attached a .zip file with the .hex/.elf files for your target module (CYBLE-214009-00) to test. Download and extract the two images wherever you prefer, then update the stack project's Bootloadable component to point to those files instead of your original. Then recompile both your stack project and app project, reflash EZ-Serial (via SWD) to return to the original state, and finally attempt the full OTA update process again.
(If I have made incorrect assumptions about what you are trying to do, please let me know and I'll revise my instructions.)
Thank you for your fast response! You totally got my point. I already guessed that it had something to do with the launcher/loader but I did not get what ;)
Thanks a lot I'll try the solution you suggested and keep you up to date about the progress here.
Can you tell me the main difference between the launcher from the EZ-Seial and the one of the example project for the OTA Upgradeable Stack bootloader?
Just tried your solution! Worked fine! You cannot imagine how much time you saved me ;)
I'm glad to hear that everything worked as expected, and especially that you saved a lot of time! The difference between launcher projects mainly concerns what debug code options and output methods are available, since EZ-Serial requires none of these things for production. The core functionality of the launcher (i.e. what the bootloader component does) is basically identical.