Keil™, An ARM® Company

Technical Support

ULINK: USING SECONDARY JTAG ON PHILIPS LPC2106


Information in this article applies to:

  • ULINK USB-JTAG Adapter
  • ULINK2 USB-JTAG Adapter
  • RealView MDK-ARM any Version

QUESTION

I have problems with a Philips LPC2106 when using the secondary JTAG with the ULINK USB-JTAG Adapter. µVision gives me the message:

Couldn't stop the ARM device. Check the JTAG cable

ANSWER

Debugging with secondary JTAG on LPC2104, LPC2105, or LPC2106 requires the following steps:

  • The secondary JTAG port must be enabled by software in the CPU startup code as soon as possible after reset. This may be done by adding the following instructions to the STARTUP.S file just at the start of the RESET_Handler:
    ; Pin definitions
    PINSEL1         EQU     0xE002C004      ; PINSEL1 Address
    PINSEL1_Val     EQU     0x55400000      ; Secondary JTAG
    
                    LDR     R0, =PINSEL1
                    LDR     R1, =PINSEL1_Val
                    STR     R1, [R0]
    

    In case that this code is erased (by accident or chip erase) and the primary JTAG is not available in your hardware design, then the only way to reprogram this startup code is to use the Philips serial ISP loader.

  • The UL2ARM.DLL version V1.06 or higher stops the Philips LPC210x directly after CPU reset which means that the secondary JTAG is not enabled since above code is no longer executed. Therefore it is required to disable the option Use Reset at Startup. This allows the device to execute the code that enables the secondary JTAG and to start debugging after this code is executed.

SEE ALSO

FORUM THREADS

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

Last Reviewed: Sunday, January 28, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure