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

uicr_mbr_params_page and uicr_bootloader_start_address overwrite the beginning of the softdevice.

Hi,

      I am running SDK 15.3, nRF52840 on a custom board, Softdevice 6.1.1 and SES.

When running the secure dfu example I find that the two segments uicr_mbr_params_page and uicr_bootloader_start_address overwrite the beginning of  the softdevice. nrfConnect programmer stops identifying the softdevice - turns black - and shows it as one contiguous segment at a larger size.

nrf_dfu_mbr_init_sd returns 0x7  which is NRF_ERROR_INVALID_PARAM  which in turn is returned by sd_mbr_command which is documented as  "NRF_ERROR_INVALID_PARAM if an invalid command is given." This I am interpreting as an indication that the softdevice can't be run.

I have tried moving these two segments back to their former locations - as mentioned to solve the same issue with GCC 

However that causes an unplaced sections overflow for .init in elf. Flash placement does include .init but doesn't specify a location.

The primary problem I want to fix is that softdevice isn't working. I am happy to try and fix the unplaced sections overflow or to fix the soft device over write whichever the wise heads suggest.

Many thanks in advance

Paul