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

How to recover a battery powered device that inadvertently enabled DCDC mode?

Hi, We are in the production phase of our development, and inadvertently , the mcuboot bootloader set the DCDC on a few units. As described here, https://devzone.nordicsemi.com/f/nordic-q-a/61075/external-nrf5340-getting-locked-up, we are unable to recover the units. ( we do not use the DCDC and thus, do not populate the inductors on the board).

Our SWD interface DOES NOT bring out the nRESET pin, and thus I cannot prevent the unit from booting into the bootloader.

As an aside, IMO, having a software mechanism that puts code into such a state is rather concerning. Is this considered a bug ?

Parents
  • Hi. Unfortunately you have to power the decoupling pin to recover the device. 1.3V on DEC4 should do it. Alternatively you can write a script that does a full erase through the SWD continuously in a loop while glitching the power to the device.

    I agree that this should not be enabled by default in any example projects. It should only be enabled explicitly if DCDC components are in place. Was this the default configuration for the bootloader project you were using? Can you please explain which project this is and which SDK version you are using, and I will report this internally as a bug.

Reply
  • Hi. Unfortunately you have to power the decoupling pin to recover the device. 1.3V on DEC4 should do it. Alternatively you can write a script that does a full erase through the SWD continuously in a loop while glitching the power to the device.

    I agree that this should not be enabled by default in any example projects. It should only be enabled explicitly if DCDC components are in place. Was this the default configuration for the bootloader project you were using? Can you please explain which project this is and which SDK version you are using, and I will report this internally as a bug.

Children
  • Stian, Appreciate your response. 

    The problem with suggestion (1) is that this a fully assembled (i.e. sealed) unit and with suggestion (2) is that it is a battery powered unit. 

    The example project is from zephyrproject, the default for the pca10056 board is to use the DCDC. On our application, we chose not to use the DCDC due to its unpredictable nature, and we chose not to populate the coil for (a) cost and (b) size reasons. I am pretty sure our local FAE signed off on it.

    While having it enabled in a software project by default is questionable practice, my concern is more from a chip perspective - why does it render the DP useless? I can understand the chip not functioning, but to not have a recovery mechanism via JTAG is a hard situation to justify.

Related