We have a device, based on CYBLE-222005-00. The firmware was created long time ago, following AN97060, so that it allows OTA upgrade of the BLE Stack and the Application. Since then, the PSoC Creator Components have been updated several times. Firmware development was started in PSoC Creator 4.1 and later continued on – PSoC Creator 4.2.
I was recently doing a code review and checking the firmware generation flow. When I repeated the instructions from AN97060 for an OTA Upgradable Application with added Upgradable Stack OTA Bootloader, I discovered one difference in the “cm0gcc.ld” file.
In our project file we have:
CY_CHECKSUM_EXCLUDE_SIZE = ALIGN(675, CY_FLASH_ROW_SIZE);
while in the example, the same line is different:
CY_CHECKSUM_EXCLUDE_SIZE = ALIGN(685, CY_FLASH_ROW_SIZE);
The following questions arise:
1. Why is that? I do not remember changing that file. Does this value depend on the version of any of the PSoC Creator Components? For example, I see that the BLE Component in the example is of version 3.30, while in our project this component is of version 3.60.
2. Should I expect any problems as a result of using 675 instead of 685?
3. Is there any different way to determine and use a correct value for CY_CHECKSUM_EXCLUDE_SIZE than copying the “cm0gcc.ld” file from the example?