DFU from local storage

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JaSi_1632926
Level 4
Level 4
Welcome! 25 replies posted 10 replies posted

Hi,

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.

Thanks, Jacob

0 Likes
1 Solution
JaSi_1632926
Level 4
Level 4
Welcome! 25 replies posted 10 replies posted

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.

View solution in original post

0 Likes
5 Replies