Did you get the issue resolved? We have been doing the same thing (i.e., adding the firmware upgrade feature) but have not gotten this far. We are facing a different issue. We can compile the Bootloader project but linking the bootloadable results in the following error:
.\LinkerScripts\cm0gcc.ld:261 cannot move location counter backwards (from 20000340 to 200002c0)
collect2.exe: error: ld returned 1 exit status
Did you experience this issue? I thought it was an out-of-memory issue but "doubling" both Flash and SRAM (by choosing a different device) did not resolve the issue. Our current firmware is using about 100KB of flash and 12KB of SRAM. So 256KB of flash and 32KB of SRAM should be sufficient.
1 of 1 people found this helpful
Yes, the issue was solved. I simply put an appropriate value to CY_CHECKSUM_EXCLUDE_SIZE on the line 41. You are experiencing a different issue from mine and I would not be able to help you without looking at the script. But it looks like you're doing some calculation that takes the dot (location counter) to a smaller memory address than the current one. Each line in the script must follow an increasing memory allocation.