Revision as of 22:47, 25 June 2021 by Tperrot (talk | contribs) (Undo revision 552911 by Tperrot (talk))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


The Flyswatter JTAG board is a low cost USB based JTAG programmer for the Hammer CPU board. It can be used with all ARM processors that are supported by OpenOCD. It is based upon FTDI's popular FT2232 USB UART/FIFO IC. The Flyswatter provides a standard JTAG interface as well as a standard RS232 port with support for full modem signals.

640px-Flyswatter OpenOCd debugger.jpg

available from TinCanTools at


  • USB 2.0 Full Speed device (12 Mbits/sec) interface
  • Can be used to debug and program all ARM processors supported by OpenOCD
  • Provides a standard 2x7 pin JTAG interface
  • Adds a virtual RS232 serial port to your computer or laptop with full modem signals: TXD, RXD, RTS, CTS, DTR, DSR, DCD, RI
  • Supports ARM target voltages of: 3.3V, 2.5V, 1.8V, 1.5V, 1.2V (voltage range: 1.2V to 3.6V)
  • Adds a virtual RS232 serial port to your computer or laptop with all of the modem signals: DTR, DSR, DCD, RTS, CTS, Rx, Tx
  • No external power supply required – it runs off of the USB voltage from the computer
  • Open hardware – complete schematic provided
  • Open software - software supported by OpenOCD (open source) debugger
  • Included CD comes with OpenOCD for Linux
  • Dimensions: 2.5 inches (width) x 3.0 inches (height)
  • Package Includes: Flyswatter board, USB Cable, 8 inch JTAG ribbon cable (14 pin - 2x7)

Supported Devices

OpenOCD supports the following ARM cores:

ARM720T LH79520, EP7312
ARM920T S3C2410, S3C2440
ARM926EJS S3C2412, STN8811, STN8815
ARM11 S3C6400, OMAP2420, MSM7200
CORTEX-M3 LM3S series, STM32 series
CORTEX-A8 OMAP3530 BeagleBoard
CORTEX-A8 DM3730 BeagleBoard-xM
CORTEX-A9 OMAP4430 PandaBoard

OpenOCD also supports the following MIPS cores (requires a MIPS 14-Pin JTAG Adapter):


JTAG Adapters

JTAG Adapters plug into the ARM 14-pin connector located on the Flyswatter and change the pin-out to a different JTAG interface. Three JTAG adapters are available for the Flyswatter:

ARM 20 pin JTAG Adapter

ARM 20-Pin JTAG Adapter - This adapter converts the Flyswatter's JTAG interface into a standard ARM 20-pin configuration. The package also includes 14-pin ribbon cable.

BeagleBoard JTAG Adapter

BeagleBoard JTAG Adapter - This adapter converts the Flyswatter's JTAG interface into a standard TI 14-pin JTAG configuration. The package also includes a serial adapter board that converts the DB-9 Male connector located on the Flyswatter to a 10-Pin ribbon cable. This ribbon cable is used on the BeagleBoard Rev B/C boards to interface to the serial port. The 10-pin ribbon cable is included in the package.

MIPS 14-Pin JTAG Adapter

MIPS 14-Pin JTAG Adapter - This adapter converts the Flyswatter's JTAG interface into a standard MIPS 14-pin JTAG configuration. The package also includes 14-pin ribbon cable.

Serial Port

The Flyswatter's serial port provides you with an independent functional "USB to RS-232" serial device. The serial port is completely independent from OpenOCD on both Linux and Windows. You can use the Flyswatter's serial port and never have to use OpenOCD or JTAG, or you can use it together with OpenOCD and have both a serial port and JTAG interface operating at the same time for debugging your target device.

For Linux, the RS232 driver for the FT2232 is part of the main kernel tree and is provided in most standard Linux distributions. In Windows, you have to load the Windows driver for the FT2232. Once the driver is loaded, Windows will assign a virtual COM port to the Flyswatter's serial port. It operates just like a standard COM port. You can use the Flyswatter's serial port on laptops or PC's that do not have a 9-pin legacy serial connector.

Serial Port Interface

You can use Minicom to communicate with the Flyswatter's serial port on Linux. See the Minicom page for setup instructions.


Source Code:

available from TinCanTools

Devices that have been tested:

  • Hammer: Supported by the software kit/tools that come with the Hammer
  • NSLU2: requires a JTAG connection to be added to the NSLU2 and nslu2.cfg, nslu2.ocd and Debug_handler.bin files. You can use these samples, but may need to edit the nslu2.ocd as appropriate.
  • Zipit Z2: requires soldering directly to the Z2 board, and using z2.cfg and following this how-to.

Flyswatter How To

The Flyswatter How To and Flyswatter Windows How To guides show a new user how to connect the Flyswatter to the Beagleboard, and how to install and run OpenOCD and GDB Debugger. To reach the guide, follow the link in the section title.


TinCanTools has a new JTAG debugger at Flyswatter2 that has support for OpenOCD and ARM Cortex A8 processors: OMAP3530 BeagleBoard and DM3730 BeagleBoard-xM. The Flyswatter2 is 5 to 10 times faster than the original Flyswatter.

They also have a ARM20TI14 JTAG Adapter. This JTAG adapter board works with the BeagleBoard and BeagleBoard-xM.

The Flyswatter2 can be used with OpenOCD (Beagle (OMAP3xx) support is complete).

To use the Flyswatter2 under Ubuntu (and derivatives) without superuser rights, place this in /etc/udev/rules.d/60-flyswatter2.rules (or whatever name you like):

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6010", MODE="0666"

Maybe it also works for the original Flyswatter, but not yet verified. If not, the idVendor and idProduct values must be adjusted.