JTAG-lock-pick

JTAG-lock-pick is an ARM core processors JTAG using USB bus to connect to PC. The device is based on FTDI FT2232 chip – a dual channel USB <=> UART/FIFO converter. By design first channel is connected to JTAG interface and the second one has full UART / RS-232 interface (RXDTXDRTSCTSDCDDSRDTRRI) with option to connect to RS-485 converter. JTAG-lock-pick project was created to be an uncompromising and powerful solution, taking maximum advantage of all used ICs.

Maximum frequency of JTAG interface’s clock is 6MHz. Thanks to USB bus the device can be connected to any PC on the market – it would not be possible with parallel interface (LPT), which is completely obsolete nowadays. Thanks to use of 74LVC series advanced line buffers, target devices with very wide range of supply voltage – from about 1.6V up to 5.5V – can be connected.

One of project’s requirements was to have both UART and RS-232 interface. Selection between RS-232 and UART is automatic and based on presence of UART interface’s line buffers’ supply voltage – if this voltage is higher than about 1.7V then UART interface is enabled. Four most important signals of UART interface (RXD,TXDRTSCTS) are also buffered with 74LVC series level shifters. Other lines are driven directly by FT2232 chip – output signal’s high level voltage is 5V, input’s high level voltage is (typically) about 1.6V. Thanks to having TXDEN signal on UART connector, RS-485 converter can be connected to the device.

Designed circuit faciliates powering of line buffers – and thus target device (via JTAG / UART connectors) – with 3.3V or 5V voltage. UART’s and JTAG’s supply rails are separated, additional jumper allows to connect them, so various voltage configurations are possible. USB bus is the source of these voltages, maximum current drawn by the target is 500mA for 5V voltage (according to specification) or 150mA for 3.3V voltage, which is more than enough for complex digital devices without power circuits.

JTAG-lock-pick is fully software compatible with JTAGkey interface from Amontec, so in many applications available configurations can be used instead of creating them manually. It is also possible to program FPGACPLD and AVR chips with SVF files using JTAG-lock-pick and software provided by Amontec.

JTAG-lock-pick has separate SRST and TRST lines, which can be independently configured to push-pull or open-drain mode.

JTAG-lock-pick project is a successor to 4R|\/|-JT4G Rev02 project, eliminating it’s shortcomings. Most important one – predecessor had SRST i TRST lines shorted “by design”, which limited debugging capabilities. Additionally the buffering IC used previously – 74VHC244 – had a significant flaw, which resulted in breakdown of input voltages through clamp diodes on unconnected supply rail, which was very confusing but perfectly safe for JTAG and target device. These problems do not occur in JTAG-lock-pick.


Supported target chips

JTAG-lock-pick interface and PC software that uses it (among others: OpenOCDAtollic TrueSTUDIOCooCox CoIDEKeil MDK-ARMIAR Embedded Workbench for ARMRowley CrossWorks for ARM, see chapter 4) are able to communicate with almost any existing type of ARM processor, including the most popular:

  • ARM7 (LPC2xxxAT91SAM7STR7xx, …),
  • ARM9 (LPC3xxxAT91SAM9STR9xx, …),
  • Cortex-M (STM32LM3SLPC17xxAT91SAM3, …),

The only limiting factor is support for specific chip in PC software.


“Strong points” of JTAG-lock-pick project

  • safe and reliable communication with target devices with supply voltage in the range from about 1.6V up to 5.5V, signals buffered with 74LVC series advanced level shifters,
  • UART and RS-232 interfaces, each with complete set of eight standard signals, four most important lines of UART interface are buffered (from about 1.6V up to 5.5V),
  • ability to power target circuit through JTAG with 3.3V or 5V voltage,
  • separated supply rails of JTAG and UART,
  • safe enclosing, which protects JTAG, connected PC and target device from accidental damage,
  • ability to connect RS-485 converter,

Contents of the package

  • JTAG-lock-pick debugger / programmer (JTAG + RS-232 + UART), machine assembled, tested, in transparent enclosure (outer dimensions 24mm x 47mm x 66mm) with machine milled connector slots and with rubber feet,
  • JTAG <=> target ribbon cable, 20cm,
  • IDC-10 <=> DB-9 (RS-232) ribbon adapter cable, 20cm,
  • two IDC-14 ribbon crimp connectors + 20cm of 14-wire ribbon cable to assemble any UART interface cable,
  • USB mini-B cable, black, 1.8m,
  • DVD with manual, drivers, set of useful software – free (CodeSourcery GCC toolchain, Eclipse IDEOpenOCDCooCox CoIDE) and proprietary in evaluation versions (Atollic TrueSTUDIO for STM32 LiteKeil MDK-ARM + CooCox CoMDKPluginIAR Embedded Workbench for ARM + CooCox CoIARPluginRowley CrossWorks for ARM) – all of them in the most recent versions.