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

Move bootloader during application

I would like to update my current bootloader with one, that is bigger than the predefined space of the current bootloader. For that, I want to flash an application via DFU that moves the bootloader to a lower address, so that the new bootloader can fit into the bigger space. Than I simply make a DFU with the new bootloader.

The problem is currently the moving part where my application does the following:

  1. Adjust the bootloader address to the new address by changing the UICR (NRF_UICR_BASE + 0x14) --> this works without a problem
  2. Copy the current bootloader to free space in flash (bank 1)
  3. Erase the space for the new bootloader
  4. Copy the current bootloader from bank 1 to the new address (see 1.)

All this is done successfully, but when I do a soft reset to start the moved bootloader, nothing happens anymore.

What am I missing here? Thanks.

I'm working with an Eclipse makefile Project with Cross ARM GCC on a nRF52832 with s132_nrf52_2.0.0_softdevice.hex and the nRF5_SDK_11.0.0_89a8197.

Parents Reply Children
No Data
Related