Hi,
We have encountered an issue while trying to flash our custom nRF53840 board using the debug out (P19) on another nRF53840 DK as a programmer. Previously, we were able to flash a nRF52840 custom board using the debug out (P19) on an external nRF52840 DK without any problems. On both programming boards, we have soldered SB47 to provide power to our custom board.
When the custom board is connected we can use jlink viewer to check if there is a valid connection between nRF52840 DK and our nRF52840 custom board. If there isn't a successful connection, we get an error message saying "Could not connect to target. The same thing happens when we try to flash using the nRF52840 DK with SB47 soldered. If our nRF52840 custom board is connected to the debug out, we can flash it successfully. Otherwise, we get an error message saying flashing has failed. This all seems like the correct behaviour as the DK data sheet says the following; "While SB47 is shorted, it is not possible to program the onboard nRF52840 SoC even if the external board is unplugged".
However, the nRF53840 DK behaves differently. With SB47 shorted on the nRF53840 DK, connection through RTT viewer or flashing via vs code (west) is successful even if nothing connected on the debug out (P19). What could the DK be flashing if there is nothing connected on the debug out with SB47 shorted? Could this just be different behaviour between the nRF52840 and nRF53840 DKs?
Despite this difference, we are still able to successfully flash an external nRF53840 DK via the debug in connector from another nRF53840 DK (with SB47 shorted). I have included an image below of this setup.
From this image we can see only the external board only has been flashed, as indicated by the firmware switches on LED 1, 2, and 3 on the DK.
However when we try the same setup replacing the external DK with our custom nRF53840 board using a programming jig for SWDIO, SWDCLK, VCC and GND it did not flash our nRF53840 custom board. It did not seem to flash the internal nRF53840 on the DK either, but it gave a flashing successful message. We've also tried reading the INFO.DEVICEID[n] using nrfjprog, but we only got a unique device ID when a DK was the external board. When the custom board was connected, we got the same value as when no board was connected.
On our custom board we are using a High Voltage DC/DC setup with a supply voltage ranging from 2V to 3.7V (battery powered). We've tried using VDD supplied from the programming DK or by providing power from a constant external source(3.6V) with VDD on the programming pins disconnected, but neither worked. The pins we use for programming are SWDIO, SWDCLK, VDDH and GND. RESET is not connected, is this needed?
I've attached the schematics for our custom board below .
We're using this Raytac module.
Below is Raytac's recommended circuit design for high voltage input.
Another important thing to note is our board does not contain an external LFCLK.
Can you see any issues in our HW design?
Thanks in advance for your help.