JTAG Not Working on Custom LPC2148 Board

Finally got around to checking this on a known good board (Olimex LPC-P2148), which has a 10K pull-down on TCK. PINSEL2 reads as 0x00000004 after reset, and none of the JTAG pins P1.25 - P1.31 function as GPIO unless/until I write 0 to that location. Then they all work as GPIO.

That is what I had expected from reading the manual. I thought it was odd that your original board / chip came up with some pins working as GPIO to begin with, which was why I asked about PINSEL2.

BTW I had some sequences I can’t quite explain while checking this. I was able to flash the code that would set PINSEL2 to 0 using JTAG. But then it didn’t run even after pulling the JTAG interface and hitting reset - only after killing and restoring power.

Thanks for the follow-up. I have also noticed that with the LPC-h2148 olimex board I have. Once you’ve flashed it via JTAG, you have to do a hard power cycle before it’ll run. You can debug/run through JTAG straight away, but have to power cycle if you want to actually run on its own without the JTAG connected. As far as I knew, the debug pins will come up as GPIO unless the RTCK pin is held low on a RESET (hence the point of having the jumper in there).

I’ve checked a blank board and continuity between pins, and it seems the board and soldering is OK. I see 10K looking between TDI and Vdd which is about what we’d expect (and same for TMS ↔ Vdd). I think a bad chip is about the only other option we have left, I just haven’t had time to try replacing it yet. Will let you guys know how things go once that’s done.

Long delay, but figure I’ll post a follow-up in case anyone else runs across the same problem. It was indeed a bad chip, replacing it seemed to solve the problem; no changes to the schematic. Happy to have that problem solved, thanks to all for their input.