nrf52840 locked in reset

Hi 

We are using a nrf52840 on a custom board.

The board always worked fine. 

Flashing is done with :

    - SEGGER J-Link EFM32GG-STK3700 

    - nrfjprog version: 10.15.0 external

    - JLinkARM.dll version: 6.94a

    - Platform : Linux

We ported the sensor exemple from nrf5_SDK_for_Mesh_v5.0.0. to our custom board and it worked fine. 

Suddenly we were not able to erase/flash any code on it any more.

We discover that the reset pin is always low so it reboot in loop.

After soldering a 100 ohm pull up resistor we are again able to reset the board : 

nrfjprog --eraseall 

After this we can flash SoftDevice and Application.

Everything is working fine with the resistor. 

If we remove the pull-up resistor, as soon as we flash any application, including a simple Arduino blink example, the board is locked again in reset loop. 

We must right after the erase of the flash, do a : 

nrfjprog --recover -f nrf52

After that the application work only without CONFIG_GPIO_AS_PINRESET but then our reset button isn't working.

After some tests it happen that the bug only affect some boards and not other. 

Other boards work fine with CONFIG_GPIO_AS_PINRESET.

Is it possible that the state is not properly reset ? 

Parents
  • Hi,

     

    Are you using P0.18 as a generic GPIO in your application?

     

    In the nRF52840, you can use the P0.18 as nRESET or as generic GPIO (via removing "CONFIG_GPIO_AS_PINRESET" in your preprocessor defines).

    The default behavior is to use P0.18 as nRESET, so you have to first issue an erase-all (nrfjprog -e or nrfjprog --recover), then flash the device with your own firmware.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    Are you using P0.18 as a generic GPIO in your application?

     

    In the nRF52840, you can use the P0.18 as nRESET or as generic GPIO (via removing "CONFIG_GPIO_AS_PINRESET" in your preprocessor defines).

    The default behavior is to use P0.18 as nRESET, so you have to first issue an erase-all (nrfjprog -e or nrfjprog --recover), then flash the device with your own firmware.

     

    Kind regards,

    Håkon

Children
Related