Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF_DFU_IN_APP problem when MBR not initialized

I am building an app that includes background DFU in the app.  My app is based on the freertos example.

I am having problems during nrf_dfu_settings_write due to the checks in settings_forbidden_parts_equal_to_backup.  The checks appear to be copying data from an uninitialized region of flash for the comparision.  I suspect this means the MBR is not iniatilized.   

When and how does the MBR normally get initialized?   

The settings_forbidden_parts_equal_to_backup was added in more recent SDK's and did not exist in SDK 15.0.0.  What is the purpose of the check?

Parents
  • Hi,

    New from 15.1.0 was that the DFU settings page is backed up using the MBR params page for storing the backup. This backup is taken before performing an update. This also means you need to use a newer version of nrfutil for generating the bootloader settings page, as with newer versions the backup will also be part of the generated hex file. (In newer versions of nrfutil, there is a --no-backup flag for generating settings page without the backup, for use with DFU from SDK v15.0.0 and earlier.)

    Regards,
    Terje

Reply
  • Hi,

    New from 15.1.0 was that the DFU settings page is backed up using the MBR params page for storing the backup. This backup is taken before performing an update. This also means you need to use a newer version of nrfutil for generating the bootloader settings page, as with newer versions the backup will also be part of the generated hex file. (In newer versions of nrfutil, there is a --no-backup flag for generating settings page without the backup, for use with DFU from SDK v15.0.0 and earlier.)

    Regards,
    Terje

Children
No Data
Related