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

nRF52840 custom boards executes code only when Jlink is connected

I have a strange problem. We built 100 custom boards. I've only checked about 50 boards so far. 47 boards work properly. 3 do not.

We used secure_bootloader_uart_pca10056 example and did minimal changes to fit with our GPIO configurations. Loaded the hex file to the boards via a JLink device to all the boards. 47 boards come up properly and we can flash new firmware via OTA. 

3 boards have odd behaviors. Each power up in different ways, but they all have one thing in common. When power is applied, no activity is detected (should have blinky LEDs), when the Jlink is plugged in (nothing else is done, just plug the Jlink into the programming header, no software or any command is issued) the code starts to execute and we see blinky LEDs on all three boards.

One of the three boards loads the code correctly and VDD rails shows 3.0V, as set in the firmware. One comes up with VDD rail at 1.8V and the last with VDD at 3.8V.

I am trying to rule out firmware as the culprit and see if it's due to the processor not having a proper reflow. What could potentially cause such a behavior? Why would code starts execution when the Jlink is merely plugged into the board? (The Jlink header has VDD, SWDIO, SWDCLK and GND).

If the code doesn't execute, could it mean, the crystal is not detected? Would Jlink help provide a clock for the code to start? If the code execute properly with Jlink connected, it seems to indicate that all pins on the nRF52840 should be properly soldered...

Thank you for your support.

Parents Reply Children
Related