I am having a hard time differentiating the JTAG pods.
I’ll be debugging a LPC2378 using openOCD, gdb, gcc and Eclipse on Linux.
What is the functional difference between using a wiggler, the arm-usb-ocd device and other devices ? Can they all program all types of memory ? How fast do they program the memory ?
Anything else I should know before buying ?
I’d love to hear what works and what doesn’t before I start mucking around.
All USB dongles supported by the OpenOCD use the FTDI FT2232 and are therefor very similar in terms of performance. There are differences in the range of voltages supported, and whether/how the FT2232’s second port (Could be used for GPIOs or as a UART) can be used. The Olimex ARM-USB-OCD further allows you to power your target board from the JTAG Pod. If you want to build the interface yourself there’s a site with a free hardware design: http://www.joernonline.de/dw/doku.php?i … s:oocdlink
Using a Wiggler, the OpenOCD typically achieves download speeds of about 16kB/s to target RAM on an ARM7/ARM9.
Using one of the USB dongles you can achieve up to 120kB/s.
The USB dongles can be used with every modern PC/laptop, while many newer systems don’t have a parallel port anymore. USB->LPT converters don’t work for a Wiggler, compatible PCMCIA->LPT cards cost more than some of the USB based dongles.
The functionality is the same for every dongle, like the number of targets supported and the flashes that can be written.
Some dongles allow you to specify different output configurations for the reset lines (push-pull vs. open-drain), but that’s not too important in most of the cases. All commercially available USB dongles and the Wiggler clone from Olimex offer individual control over both reset lines, which is important when trying to debug out of reset (this might not work with the LPC23xx, at least it didn’t with the LPC21xx/22xx)