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

MBR identical in future SoftDevice versions?

Hi!

We are using a custom bootloader for our device. Current version of this erases everything from 0x0 to bootloader start address, and then writes MBR + Softdevice + application. This works fine, however we are not comfortable with erasing the MBR, bricking the unit if it experiences a reset before writing the new application. 

From what we understand, the MBR is written to the first sector, so we could just skip the first sector when erasing. However, this means that we must trust that the MBR is identical for future softdevice versions, is this correct?

Parents
  • Hi Henrik.

    The intention is that the MBR should never change in the lifecycle of a product, and that it should never be upgraded via DFU. The DFU examples we provide in the SDK strips the MBR from the SoftDevice before upgrading the SoftDevice via DFU, so that it is never overwritten. As you write, overwriting the MBR could brick the device if something goes wrong.

    Nothing lasts forever, so I cannot guarantee that the MBR in the SoftDevice/SDK will never change. What I will say though, is that even if there is a new MBR at some point, you should only use it for new products, not for existing products in the field.

Reply
  • Hi Henrik.

    The intention is that the MBR should never change in the lifecycle of a product, and that it should never be upgraded via DFU. The DFU examples we provide in the SDK strips the MBR from the SoftDevice before upgrading the SoftDevice via DFU, so that it is never overwritten. As you write, overwriting the MBR could brick the device if something goes wrong.

    Nothing lasts forever, so I cannot guarantee that the MBR in the SoftDevice/SDK will never change. What I will say though, is that even if there is a new MBR at some point, you should only use it for new products, not for existing products in the field.

Children
Related