How to speed up firmware updating? Lowering image size?

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

cross mob
AdHi_2630466
Level 3
Level 3
First like received

Hi All,

I'm working on a custom DFU project with CY8CPROTO-063-BLE, based on the External Memory example, except it uses the internal flash for storag.
I'm using a Generic HID interface over BT and my custom host sending the .cyacd2 file.

The 512bytes of rows are transferred through 5 SendData(Without Response) commands and 1 ProgramData commands, since the largest HID report size I could get working is 128bytes.

I noticed that the .cyacd2 file is generated for the whole application flash area (~480kB), with many empty rows containing 0's. Is there a way to skip these rows and not generate empty transfers? I feel it would speed up the updating process significantly.

Also, I have tried to increase the HID report size from 128bytes to 192, 256, in an attempt to reduce the number of SendData commands. Unfortunately the transfers stop going through and I'm trying to figure out why they don't work. Has anyone tried this before or have any pointers to look at?

Any help is much appreciated!

0 Likes
1 Solution
JeHu_3414236
Level 5
Level 5
10 likes received First like received

I set my CY_APP1_CORE0_FLASH_LENGTH and CY_APP1_CORE1_FLASH_LENGTH to the exact size of the application to minimize the .cyacd2 file size.  I have to adjust it every time the app1 size changes.

Combine bootloader and application into single hex file

View solution in original post

2 Replies
JeHu_3414236
Level 5
Level 5
10 likes received First like received

I set my CY_APP1_CORE0_FLASH_LENGTH and CY_APP1_CORE1_FLASH_LENGTH to the exact size of the application to minimize the .cyacd2 file size.  I have to adjust it every time the app1 size changes.

Combine bootloader and application into single hex file

Thank you for the advice, I also read through the thread you linked.

I need to investigate how my App0 (just a simple loader that copies from storage flash to app1 flash) and App1 (main code that downloads image into storage flash) will interract with the host.

Just like in your thread I also need to combine them into a single hex for production.

0 Likes