|ARM Technical Support Knowledge Articles|
Applies to: ULINK USB-JTAG Debugger
Information in this article applies to:
I have worked several days successfully with the Keil ULINK and a Philips/NXP LPC2000 ARM device. Now, when I download a slightly modified application the device no longer responds.
I only get an error message box with:
JTAG Communication Error
What can cause this?
Your application program has most likely disabled the JTAG port during program execution. ARM devices start program execution even when the JTAG adapter is connected. When your application software disables the JTAG port, it is no longer possible to connect to the device via the JTAG interface.
Once you have recovered your device, you should use a while loop at the main entry of your application program as described under ULINK: RESET BEHAVIOUR ON PHILIPS LPC2000 DEVICES. This technique allows you to analyze the instruction (typically in the device initialization) that disables the JTAG interface.
For example, the execution of the following C statement disables the JTAG pins:
PINSEL2 = 0x8
Altering PINSEL2 in this way, basically disables the JTAG port.
Other reasons for such a problem might be the Watchdog timer. When you enable the watchdog, debugging may fail. So you should search your program for sequences like the following:
WDTC = 15103; // Timer reload value 15103*4*(1/60MHz)=1.0ms WDMOD = 3; // WDEN = WDRESET = 1
Basically, the watchdog should be not enabled under debugging.
Article last edited on: 2008-02-28 06:58:02
Did you find this article helpful? Yes No
How can we improve this article?