We have a board in early production, with boards assembled on a professional pick-and-place line. Most of the time everything is fine, but around 10% to 20% of the boards will not program. So of those programmed once but now will not program with revised firmware. We are programming thru the Debug Out connector on the devkit board, with a matching 10-pin header on the target. SWDIO and SWDCLK look just fine on a scope, nice square edges and full swing to the supply rails (3.33V). On the particular troublesome target at hand, RESET stays low at all times. We have tried multiple devkits, multiple ribbon cables, multiple PCs, etc. If we move to program a similar target (different form factor but very similar circuitry), RESET stays high at all times, and it programs just fine.
On the troublesome target board, RESET is routed directly from pin 10 of the header to the RESET pin on the nRF52832, not passing by any place it might be shorted to ground. And this exact board previously programmed. I am trying to program via the simulated "disk drive", via Jlink, via nRF Connect, and via Segger. None of them will now work on this particular board, and I have a set of half dozen or so returned from the client with similar problems.
Where to look?