I am currently developing a system in which a PSoC5 talks to a PC through EtherCAT, using the ET1200 EtherCAT ASIC.
Talking to the EtherCAT chip is fairly complex, and I don't want to put this functionality into the bootloader. I would prefer to only have this functionality in the firmware. Therefore, in order to bootload new firmware, I am considering the following process:
As far as I can tell, none of the use cases in the document Bootloader_v1_50.pdf are appropriate to my particular process.
To implement the copying process, I have selected "Custom Interface" in the configuration of the Bootloader Component. My implementation of the custom interface has the CyBtldrCommRead() function read the new FW from FLASH, 256 bytes at a time, and give it to the Bootloader Component. Essentially, by code is acting like a Bootloader Host, controlling the Bootloader Component.
Does this sound like a sensible way to do this?
Is there a function in the Bootloader component to simply copy the firmware from the unused FLASH into the correct location? I notice that there is a "Copier" available, but only to the Launcher-Combination use case.
As such presently there is no API available in Bootloader Component that can copy the firmware from the unused FLASH into another location.