2 Replies Latest reply on Apr 2, 2020 10:11 AM by IvBu_1817031

    Should I update CY_CHECKSUM_EXCLUDE_SIZE and how?

    IvBu_1817031

      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?

        • 1. Re: Should I update CY_CHECKSUM_EXCLUDE_SIZE and how?
          GaneshD_41

          Hi

           

          Please find the answers below:

           

          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.

          Cypress--> 675 vs 685 is the difference in checksum exclude size between the two releases. However the align macro would make sure it is aligned to the flash row size. For the latest version of BLE components, we recommend you to use 685 as used in the ota example.

           

              2. Should I expect any problems as a result of using 675 instead of 685?

              Cypress--> No. There will not be any problem.

           

             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?

            Cypress--> Its basically the developer's choice depending on the application. There is no strict value. please refer bootloader/bootloader component datasheet for more information.

           

          Thanks

          Ganesh

           

          1 of 1 people found this helpful