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

DFU: Should we update the MBR when updating SD 6.0.0 to 6.1.1?

Hello,

I'm currently designing a custom bootloader to perform a DFU. So far I'm able to update the bootloader and the application, however there is a problem when I try to update the softdevice (It is updated by the bootloader, not by the MBR). I believe that this is due to a misunderstanding regarding the need to update or not the MBR during the DFU.

What I did to test this is to update the softdevice s140 from version 6.0.0 to version 6.1.1. To achieve this, my bootloader will erase the current softdevice from address 0x1000 (end of MBR) to address 0x26000 (start of application). Then I write the new softdevice in this address range (so I don't touch the parts of the SD hex file that are between 0x0-0x1000).

I do this like this because the SoftDevice Specification states this:

During a firmware update process, the MBR is never erased.

Now I suspect that I misunderstood this statement, and that in case of a SoftDevice update, I should update the MBR as well. Can you please tell me what is the way to go regarding SoftDevice updates?

 

Note: There is already a thread that talks about this, this one, but  it's a bit outdated and it's not SD s140. 

Parents Reply Children
  • Hello Vidar, thank you for your answer. No I didn't remove the MBR section with nrfutil, I don't use this script, we have our own script that creates files in a proprietary format. But the script basically takes the softdevice image except for addresses 0x0-0x1000. 

    Anyway I've found where the issue was and fixed it, the MBR part is correct and it's good to have your confirmation that this is the good way to update the softdevice.

    Have a nice evening ! 

    Tim 

Related