The Flyswatter is based upon FTDI's popular FT2232 Dual USB UART/FIFO integrated circuit. The FT2232 has two devices integrated on it:
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. JTAG Interface 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 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 STM32x). OpenOCD supports the following ARM cores:
GDB Debugger 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 crashed.
GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
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.
The Flyswatter can be used to flash the bootloader, Linux kernel, and root file system onto the Hammer CPU board.