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

MBR Params page

Hi there,

The DFU Nordic samples have a 4K "MBR Params" page, located in the last 4K of flash. e.g., the linker file has:

MBR_PARAMS_PAGE (rw) : ORIGIN = 0x0007E000, LENGTH = 0x1000

And, the DFU library code references it:

uint8_t m_mbr_params_page[CODE_PAGE_SIZE]       __attribute__ ((section(".mbrParamsPage")));

However, I don't see anything actually use it anywhere in Version 13.0.0 of the SDK.

I believe some values in the beginning of that MBR page had to be set in order to boot with older versions of the SoftDevice; but that doesn't seem to be the case with the S132 5.0.0-3 SoftDevice. I was able to clear that last page, and clear UICR_MBR_PARAM_PAGE, and boot successfully.

Will this MBR Params page be necessary moving forward with the S132 SoftDevice, or can we reclaim this 4K and use it for other purposes (e.g., a larger bootloader)?

Parents
  • Hi Mike,

    the MBR params page is used by the Master Boot Record(MBR) to store state information when performing flash operations, i.e. performing swap of the new SoftDevice image and/or Bootloader image. Thus, if you plan on performing any SoftDevice or Bootloader update in the future you must keep the MBR params page.

    Best regards

    Bjørn

  • Gonna make a new post specifically about this, but just to clarify, is the MBR params page only used for an update to SoftDevice or Bootloader but otherwise it is never used in normal operation or during an application update?

    We've managed to have our bootloader overlap into the MBR params page and all seems to be working fine with single bank application updates and the application runs fine as does the bootloader.  I want to see if we're safe to allow this overlap to persist as long as we do not try to do a bootloader or softdevice update, hopefully the MBR params page is never used outside of the BL/SD update.

    Thanks!

Reply
  • Gonna make a new post specifically about this, but just to clarify, is the MBR params page only used for an update to SoftDevice or Bootloader but otherwise it is never used in normal operation or during an application update?

    We've managed to have our bootloader overlap into the MBR params page and all seems to be working fine with single bank application updates and the application runs fine as does the bootloader.  I want to see if we're safe to allow this overlap to persist as long as we do not try to do a bootloader or softdevice update, hopefully the MBR params page is never used outside of the BL/SD update.

    Thanks!

Children
Related