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

DFU-OTA SDK11 to SDK15

Hello

I'm wondering if it is possible to upgrade over-the-air from SDK11 to SDK15.

I know already that using the example bootloader from SDK11 will not work because the secured bootloader of SDK15 is bigger (24kB for SDK15 vs 16kB for SDK11)

Therefore I compiled the SDK11 bootloader with enough space so that the upgraded secured bootloader from SDK15 would have space on top of the memory.

I compiled the SDK11 project with modified bootloader, SD132 V2.0.1 and my application and flashed my the PCA10040 dev-board with it. 

I also compiled the secured bootloader (with generated keys) and created several different zip-files for the DFU. Unfortunately I can't upload the new firmware with any of the generated DFU-files. nrfConnect can't start the DFU and nRF ToolBox has several Error messages (most of them indicate only that the DFU from Bootloader or Softdevice is not supported)

I tried the DFU with

- Bootloader only than SoftDevice only

- Bootloader + SD

- Bootloader + SD + App

Has anyone any ideas how this could be possible to upgrade from the legacy bootloader to the secured bootloader over the air??

Many thanks in advance

  • Hi,

    We need to know more about the errors you are getting in order to suggest a solution, but it should be possible to do this upgrade. As you are changing the major version of the SoftDevice, you have to update the bootloader and SoftDevice together in a single DFU image. That should not be a problem, provided you take the following into account (which it seems you might have done):

    1. If you have already adjusted for the increased bootloader size, then that should be OK, but typically i assume units in the field does not have this adjustment? If not, then you can rewrite the UICR to contain a new bootloader start address using a special legacy bootloader (which would then be an intermediate step). This post describes it in detail.
    2. If you update to a bootloader from a SDK version < 15.0.0 and use a SoftDevice with a different size, you will get a failure due to the bootloader not handling a change in SoftDevice size (and thus application start address). That is not a problem with SDK 15, though, so it should not affect you.
Related