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

Relocating bootloader by DFU

Description:

We'd like to extend our existing bootloader. It currently supports UART transport and we want to retrofit a bootloader that also supports OTA via BLE. On merging the code bases for pca10056_uart and pca10056_ble it became clear that we run into a space issue: Current bootloader is around 22KB (24KB available), the modified version is 28KB so it doesn't fit. Even with -lto enabled it is still too big (around 26KB)

My question: (having already looked at https://devzone.nordicsemi.com/f/nordic-q-a/16378/relocating-bootloader-by-dfu ):

Is there any possibility to retrofit a bigger bootloader via DFU?

Undesired options:

I know that it is easily possible via debug probe but we have a considerable amount of devices already sold and it would make no sense to maintain two architectures. So it either works and we offer OTA as well or we can't offer it at all.

Setup:

  • Chip: nrf52840
  • Current Bootloader: Secure Bootloader UART (from 15.3.0_59ac345/examples/dfu/secure_bootloader/pca10056_uart)
  • Linker script puts the bootloader at 0xF8000 with a slot of 0x6000
Related