Content originally posted in LPCWare by Pacman on Wed Jan 29 09:49:28 MST 2014
I've built two breadboards using the LPC43xx and have them working. Both are using the LQFP144 packages. Of course I had problems in the beginning, but after re-checking an unknown number of times, I found that I made incorrect connections on the JTAG interface.
Here's my working setup:
10K Pull-up on ~TRST [3], TDI [5], TMS [7], TDO [13], nRESET [15]
10K Pull-down on TCLK [9], RTCK [11], DBGRQ [17] and DBGACK [19]
The 'nRESET' must of course always have a pull-up, no matter if JTAG is used or not. It's a good idea to also put a 100nF ceramic capacitor from GND to nRESET (but it will work on a test-board without it).
With the above setup, I've successfully programmed the internal flash-memory of a LPC4337 and OpenOCD using JTAG-lock-pick Tiny 2, Olimex ARM-USB-TINY-H and Olimex ARM-USB-OCD-H.
Although the DBGRQ and DBGACK have pull-downs, it should work even if they're floating.
It doesn't matter much how I set the P2_7 pin, when using OpenOCD 0.8.0; I've actually ended up leaving it as floating (!)
If you are using OpenOCD 0.7.0, you will run into trouble; you need to pull the latest git version (0.8.0), which have endian problems fixed plus the LPC2000 driver for the LPC43xx is fixed.
Regarding debugging, I have no experience in this area. I never use a debugger (other than OpenOCD itself) for microcontrollers, but hopefully you would be able to connect to the device and flash-program it.