Keil Logo


Information in this article applies to:

  • ULINK USB-JTAG Adapter
  • ULINK2 USB-JTAG Adapter


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.

You may recover an NXP LPC2000 ARM device with the Flash Magic Programming Tool from Embedded Systems Academy that erases the application software via a serial 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.




The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Thursday, February 28, 2008

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.