Defined: dongle: A small device that plugins into a computer and serves as an adapter .... [snip]
In the OpenOCD case, this generally refers to a small adapater one attaches to your computer via USB or the Parallel Printer Port. The execption being the Zylin ZY1000 which is a small box you attach via an ethernet cable. The Zylin ZY1000 has the advantage that it does not require any drivers to be installed on the developer PC. It also has a built in web interface. It supports RTCK/RCLK or adaptive clocking and has a built in relay to power cycle targets remotely.
There are three things you should keep in mind when choosing a dongle.
ZY1000 See: http://www.zylin.com/zy1000.html Technically, not a dongle, but a standalone box. The ZY1000 has the advantage that it does not require any drivers installed on the developer PC. It also has a built in web interface. It supports RTCK/RCLK or adaptive clocking and has a built in relay to power cycle targets remotely.
There are many USB JTAG dongles on the market, many of them are based on a chip from “Future Technology Devices International” (FTDI) known as the FTDI FT2232; this is a USB full speed (12 Mbps) chip. See: http://www.ftdichip.com for more information. In summer 2009, USB high speed (480 Mbps) versions of these FTDI chips are starting to become available in JTAG adapters.
There are several OEM versions of the Segger JLINK adapter. It is an example of a micro controller based JTAG adapter, it uses an AT91SAM764 internally.
Raisonance has an adapter called RLink. It exists in a stripped-down form on the STM32 Primer, permanently attached to the JTAG lines. It also exists on the STM32 Primer2, but that is wired for SWD and not JTAG, thus not supported.
The two well known “JTAG Parallel Ports” cables are the Xilnx DLC5 and the MacGraigor Wiggler. There are many clones and variations of these on the market.