1 Reply Latest reply on Mar 26, 2019 6:15 AM by GeonaP_26

    Bootloader will load bootloadable only if they are "compatible"




      My device holds a Bootloader that loads first and then loads the Bootloadable.

      My goal is to create a Bootloader that can determine if the BootLoadable is "compatible" without the need to load it.

      In case the Bootloader detects the BootLoadable is "incompatible" it will not load the BootLoadable and will wait for a correct BootLoadable to be sent.


      For that, I would like to know :


      How can I place some parameter in the Bootloadable, and indicate the Bootloader to read that specific parameter/location?

        • 1. Re: Bootloader will load bootloadable only if they are "compatible"

          There is a 64-byte block of flash called metadata section which is the shared area for both bootloader and bootloadable applications. It contains various fields such as Bootloadable Application Custom ID, Bootloadable Application ID etc., If compatibility is checked via application version or ID, the user can use these medadata fields straight away. These fields contain the application details specified in the bootloadable Component customizer.


          Bootloader supports uint32 Bootloader_GetMetadata (uint8 field, uint8 appId) API that returns the value of the specified metadata field. This can be checked for compatibility and launch/bootload appropriate bootloadable firmware from bootloader.