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:
- Adjust the bootloader address to the new address by changing the UICR (NRF_UICR_BASE + 0x14) --> this works without a problem
- Copy the current bootloader to free space in flash (bank 1)
- Erase the space for the new bootloader
- 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.