1 Reply Latest reply on Apr 16, 2019 12:28 AM by GeonaP_26

    Psoc4 BootLoader Application Validation



          About the Psoc4 bootloader  application in the memory  of the flash,I have some question :

          1:where the checksum for the bootloader portion of the flash and the booloader size are placed in the flash?How should I know?


          2:Why the "start" parameter is 0x0C when call the "Bootloader_Calc8BitSum " function to calculate the checksum of the bootloader application  but not from the 0x00?


        • 1. Re: Psoc4 BootLoader Application Validation

          Flash locations from 0x00000000–0x000000BF contains exception vector table. The exception vector table can be either in flash (0x00000000–0x000000BF) or in SRAM (0x20000000–0x200000BF). The PSoC Creator startup code stores it in SRAM by default so that it can be changed. For more details, please refer to Procedure to Fetch Contents from Every Flash Location in PSoC®4 – KBA91483


          Whenever you try to access these locations, the CPU subsystem translates it to SRAM address 0x20000000–0x200000BF. Therefore, accessing the first C0 flash locations will provide incorrect values. Hence, bootloader checksum validation ignores these locations.


          cyelftool.exe -P command during build updates the bootloader checksum and bootloader size in variables Bootloader_Checksum and Bootloader_SizeBytes placed in .bootloader memory section.