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

New nRF52832 will not start with Softdevice (S132 SDK14.2)

I have two nRF52832 devices. One of them I have been using for a while and the other is brand new. My BLE application will flash and run just fine on the old device but not on the new one. I have flashed S132 and the application code using the same procedure on both devices (via J-Link) but the new device never executes my application code.

Stepping through in the debugger I can see the older device (which works) has 0xFFFFFFFF in UICR.NRFFW[3] (0x10001020) but the newer one has 0x0007F000?? I am not sure if this is the problem but this causes a different execution path that results in it being stuck somewhere in the Softdevice code.

Obviously, if I run a simple app without a Softdevice loaded, it works as expected.

I'm sure I've missed something but I do not know what at this point?

Just to reiterate, I'm using SDK14.2 and S132.

Thanks for any help resolving this.

Parents
  • Hi,

    The master boot record (MBR) assumes that a bootloader is present if UICR->NRFFW[0] has been written to (MBR startup sequence). Did you check that address as well? Assuming this register is set the solution would be to do a full chip erase or an UICR erase. I'm not sure if jlink commander supports full erase / uicr erase, you may have to write to the NVMC peripheral directly in that case. With nrfjprog you can use the following commands:

    • nrfjprog -e // full chiperase
    • nrfjprog --eraseuicr  
Reply
  • Hi,

    The master boot record (MBR) assumes that a bootloader is present if UICR->NRFFW[0] has been written to (MBR startup sequence). Did you check that address as well? Assuming this register is set the solution would be to do a full chip erase or an UICR erase. I'm not sure if jlink commander supports full erase / uicr erase, you may have to write to the NVMC peripheral directly in that case. With nrfjprog you can use the following commands:

    • nrfjprog -e // full chiperase
    • nrfjprog --eraseuicr  
Children
Related