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

Bootloader DFU SDK11 to SDK12

Hi

I'm upgrading from SDK11 to SDK12 on the nrf52 and part of that is the secure bootloader. I've created a new bootloader and have this working with the new softdevice (s132 3.0.0).

Now, updating devices with the old SDK11 bootloader are a problem. When sending the new sdk12 bootloader using the DFU service, I get the error "Error during firmware upload. Error occured while waiting for response for START DFU. Error response Data Size Exceeds Limit.". Reading some more, it seems that the SDK11 bootloader has allocated 16KB (default from the dual bank example) while the SDK12 bootloader needs at least 24KB. Is there a way to adjust this? I've tried creating a SDK11 bootloader with adjusted memory areas (using Keil, I adjusted the target IROM1 size) to reserve more room, simply as an "intermediate step" in the update process. But this doesn't seem to have any effect.

Does anyone know how we can handle DFU upgrades from SDK11 to SDK12, even if it requires intermediate steps in the update process?

Parents
  • As you correctly stated, we introduced a new secure bootloader in SDK v12.0.0 which allow you to sign the firmware images. However, this bootloader is considerably larger[~24kB) compared to the legacy bootloader(~15kB), which means that it is not possible to update from the legacy to the secure bootloader unless the size bootloader region was initially set to 24kB. This is becaue the bootloader address that is stored in a UICR register. The register cannot be rewritten without erasing all the other UICR registers on the device.

    Best regards

    Bjørn

  • Ok, I have made a bootloader based on SDK v11.0.0 thats compatible with both v1.0.0 and v2.0.x. Could you create a new question with your first comment as the question and post the link here? Then I will answer that question and attach the bootloader project.

Reply Children
No Data
Related