I'm trying to program/debug an LPC2368 system with the LPC-Link on the LPCXpresso LPC812 development board. All of the traces to the LPC812 target have been cut. I get the following error:
Debug probe not supported with this target
LinkServer does not support NXP LPC2368 (arm7tdmi)
Isn't the correct type of debug probe as described at Which debug probes are supported by LPCXpresso IDE with which MCUs?
After the error message the probe is identified as:
LPC-Link Probe v1.3
SN: HID64HS12
Type: LPC-Link (HID)
The next window that appears is "JTAG Configuration" where I am told that "IR Length required"
Device: 0
Name: [blank]
TAP Id: 0xffffffe0
IR Len: ?
Details: [blank]
Scanchain: [blank]
I'm connecting to my target via the Embedded Artist's 10 to 20 pin JTAG Adapter:
http://www.embeddedartists.com/sites/default/files/docs/schematics/10-to-20_pos_JTAG_adapter.pdf
I have not installed R29 on the LPC-Link to enable VCC, because the target is already powered.
I also note the there is no TRST signal from the LPC-Link, which would leave TRST on my target floating.
What to do?
This is because the latest LPCXpresso IDE defaults to using a debug connection mechanism that will not work with ARM7 based parts. To resolve this simply go to the workspace preferences ...
Window - Preferences - LPCXpresso - Debug Emulator Selection
and untick "LinkServer".
Note that this means that if you want to debug Cortex-M based parts rather than ARM7 based ones, you should use a different workspace where you have not made the above preference change.
Regards,
LPCXpresso Support
Unchecking "LinkServer" made the unsupported error go away. Next is the JTAG configuration. Now it displays Tap Id: 0xfffffffe. I enter 4 for the IR length and contine and get the following error:
Target reported errors
02: Failed on connect
Attempt to reset while in reset.
Emu(0): Connected. Was: NotConnected. CpuID:00000000. Info: HID64HS12
Next I powered up my target while holding the ISP pin low. This time JTAG configuration comes up as:
name: ARM7TDMI-S
Tap Id: 0x4f1f0f0f
IR Len: 4
Now I enter debug mode and the debugger stops in cr_startup_lpc23.s at line 130:
129 Vectors:
130 B _start // reset
Trying to resume/continue, the debugger always halts at line 130. I never get to main(). (This is just using the base code that is generated by LPCxpresso when creating a simple C project.) I found that if I pressed "step over" it would take me to line 384 at which point I could resume and it would take me into main(). I tried adding "next" and "continue" commands to the GDB script in the debug settings, but this had no effect.
So, the questions are now:
1) How can I prevent having to cycle power and enter ISP mode before every debug session?
2) How can I automate the debugger to skip past the startup code and break at main()?
[ By the way, this hardware works fine when debugging with an Amontec JTAGkey-2 under my old development environment utilizing OpenOCD. For the record, my target has RTCK, TDO, TDI, TMS, TRST_N, TCK, and RST connected. TDO and RST are pulled up and TCK is pulled down with 10K resistors. ]
[ I also tried debugging an Embedded Artists Base Board w/ LPC2468 module and have the same results. ]