This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How save is skip crc checks in bootloader_app_is_valid when crc is 0?

SDK 9.0, components/libraries/bootloader_dfu/bootloader.c, bootloader_app_is_valid:

if (p_bootloader_settings->bank_0 == BANK_VALID_APP)
{
    uint16_t image_crc = 0;

    // A stored crc value of 0 indicates that CRC checking is not used.
    if (p_bootloader_settings->bank_0_crc != 0)
    {
        image_crc = crc16_compute((uint8_t *)DFU_BANK_0_REGION_START,
                                  p_bootloader_settings->bank_0_size,
                                  NULL);
    }

    success = (image_crc == p_bootloader_settings->bank_0_crc);
}

How did you ensure, that a image doesn't surprisingly have a crc of 0 ?

(OK, this may happen only rarley, but using something like BANK_VALID_APP_WITHOUT_CRC would solve this more clearly.)

Parents Reply Children
No Data
Related