I have an EMMC memory attached to a PSoC 6 device. To perform a firmware update I will first transfer the image to the EMMC through a custom external channel, and then start the update from the PSoC. One option to do this is to implement the functions in dfu_user.c, but that seems counter-intuitive, since I first have to parse the .cyacd2 file using the cybootloaderutils code, and then funnel it through the DFU API - all on the same MCU.
Is there some shortcut I can take here that better suits my use case? If I can instead use the .hex file a nice side effect is that it's much smaller than the .cyacd2 file.
Solved! Go to Solution.
I solved it by looking at CE220959 and using cybootloaderutils (part of PSoC Creator) to get a bootloader capable of upgrading from a .cyacd2 file stored in a local memory. Next up is to optimize the process by using a more optimized format (less verbose) than the .cyacd2.