The Flyswatter is a compact USB to JTAG in-circuit debugger and
programmer designed for ARM cores. It can be used with all ARM
processors that are supported by OpenOCD. It connects via USB to the
host PC. The Flyswatter provides a standard 14-pin JTAG interface as well as a standard RS232 port with support for full modem signals.
The Flyswatter is based upon FTDI's popular FT2232 Dual USB UART/FIFO
integrated circuit. The FT2232 has two devices integrated on it:
- PORT A: USB to JTAG interface.
- PORT B: USB to SERIAL UART.
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.
The Flyswatter provides a standard ARM-compatible 14-pin JTAG
interface. The JTAG interface enables access to the on-chip debug
module which is integrated into the ARM CPU. The debug module enables
a programmer to debug the software on an embedded target system. The
second purpose of the JTAG interface is to allow the programming of NOR
and NAND FLASH memory devices that are connected to the target CPU.
OpenOCD (Open On-Chip Debugger) is open-source software that interfaces
to the Flyswatter's JTAG port. OpenOCD provides debugging and
in-system programming for embedded target devices. OpenOCD provides the
ability to flash NAND and NOR FLASH memory devices that are attached to
the processor on the target system. Flash programming is supported for
external CFI compatible flashes (Intel and AMD/Spansion command set)
and several internal flashes (LPC2000, AT91SAM7, STR7x, STR9x, LM3 and
OpenOCD supports the following ARM cores:
- arm7tdmi (i.e. LPC2148, AT91SAM7)
- arm720t (i.e. LH79520, EP7312)
- arm920t (i.e. S3C2410, S3C2440)
- arm926ejs (i.e. S3C2412, STN8811, STN8815)
- arm966e (i.e. STR91XF)
- arm11 (i.e. S3C6400, OMAP2420, MSM7200)
- cortex-m3 (i.e. LM3S series, STM32 series)
- cortex-a8 (i.e. OMAP3530 BeagleBoard)
- cortex-a8 (i.e. DM3730 BeagleBoard-xM)
- cortex-a9 (i.e. OMAP4430 PandaBoard)
- xscale (i.e. PXA255, PXA270, IXP42X)
- marvel feroceon cpu core
OpenOCD also supports the following MIPS cores:
OpenOCD supports the GDB (GNU Project debugger) open-source debugger.
GDB allows you to see what is going on "inside" another program while
it executes -- or what another program was doing at the moment it
GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
- Start your program, specifying anything that might affect its behavior.
- Make your program stop on specified conditions.
- Examine what has happened, when your program has stopped. (display registers, etc.)
- Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
The program being debugged can be written in Ada, C, C++,
Objective-C, Pascal (and many other languages). GDB can run on most
popular Linux and Microsoft Windows variants.
- 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 target system voltages of: 3.3V, 2.5V, 1.8V, 1.5V, 1.2V (voltage range: 1.2V to 3.6V)
- No external power supply required – it runs off of the USB power from the host computer
- Open hardware – complete schematic provided
- Open 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)
The Flyswatter can be used to flash the bootloader, Linux kernel, and root file system onto the Hammer CPU board.
The BeagleBoard Adapter Kit
is a set of adapter boards for the Flyswatter. These adapter boards enable the Flyswatter to interface to the BeagleBoard's
JTAG and RS-232 ports. If you want to interface the Flyswatter to the BeagleBoard, you need to purchase the BeagleBoard Adapter Kit in addition to the Flyswatter.
The ARM 20-Pin JTAG Adapter Kit
provides an adapter board that converts the Flyswatter's
14-pin JTAG interface into a standard ARM 20-pin JTAG interface.
The kit also includes a 20-Pin JTAG cable. If you want to interface the Flyswatter to ARM targets with 20-Pin connectors, you need to purchase the ARM 20-Pin Adapter Kit in
addition to the Flyswatter.