Difference between revisions of "Flyswatter"

From eLinux.org
Jump to: navigation, search
(Undo revision 552911 by Tperrot (talk))
(Tag: Undo)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
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.
+
==Introduction==
  
[[Image:flyswatter.jpg]]
+
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.
 +
 
 +
<!--[[Image:flyswatter.jpg]]-->
 +
[[Image:640px-Flyswatter_OpenOCd_debugger.jpg]]
 +
 
 +
available from [http://www.tincantools.com/ TinCanTools] at http://www.tincantools.com/JTAG/Flyswatter.html
  
 
Features:
 
Features:
  
* USB 2.0 Full Speed device (12 Mbits/sec) interface
+
* [[USB]] 2.0 Full Speed device (12 Mbits/sec) interface
 
* Can be used to debug and program all ARM processors supported by OpenOCD
 
* Can be used to debug and program all ARM processors supported by OpenOCD
 
* Provides a standard 2x7 pin JTAG interface
 
* Provides a standard 2x7 pin JTAG interface
Line 17: Line 23:
 
* Dimensions: 2.5 inches (width) x 3.0 inches (height)
 
* Dimensions: 2.5 inches (width) x 3.0 inches (height)
 
* Package Includes: Flyswatter board, USB Cable, 8 inch JTAG ribbon cable (14 pin - 2x7)  
 
* Package Includes: Flyswatter board, USB Cable, 8 inch JTAG ribbon cable (14 pin - 2x7)  
 +
 +
 +
==Supported Devices==
 +
 +
OpenOCD supports the following [[ARM]] cores:
 +
 +
{| class="wikitable"
 +
|-
 +
! ARM CORE
 +
! EXAMPLE PROCESSORS
 +
|-
 +
| ARM7TDMI
 +
| LPC2148, AT91SAM7
 +
|-
 +
| ARM720T 
 +
| LH79520, EP7312
 +
|-
 +
| ARM9TDMI
 +
|
 +
|-
 +
| ARM920T
 +
| S3C2410, S3C2440
 +
|-
 +
| ARM922T
 +
|
 +
|-
 +
| ARM926EJS
 +
| S3C2412, STN8811, STN8815
 +
|-
 +
| ARM966E
 +
| STR91XF
 +
|-
 +
| ARM11
 +
| S3C6400, OMAP2420, MSM7200
 +
|-
 +
| ARM1136
 +
|
 +
|-
 +
| ARM1156
 +
|
 +
|-
 +
| ARM1176
 +
|
 +
|-
 +
| CORTEX-M3
 +
| LM3S series, STM32 series
 +
|-
 +
| CORTEX-A8
 +
| OMAP3530 BeagleBoard
 +
|-
 +
| CORTEX-A8
 +
| DM3730 BeagleBoard-xM
 +
|-
 +
| CORTEX-A9
 +
| OMAP4430 PandaBoard
 +
|-
 +
| XSCALE
 +
| PXA255, PXA270, IXP42X
 +
|-
 +
| MARVEL
 +
| FEROCEON CPU CORE
 +
|-
 +
|}
 +
 +
 +
OpenOCD also supports the following [[MIPS]] cores (requires a MIPS 14-Pin JTAG Adapter):
 +
 +
{| class="wikitable"
 +
|-
 +
! MIPS CORE
 +
! EXAMPLE PROCESSORS
 +
|-
 +
| MIPS
 +
| M4K
 +
|-
 +
|}
 +
 +
==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:
 +
 +
 +
[[Image:ARM 20-Pin Adapter.jpg|150px|thumb|left|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.
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
[[Image:BeagleBoard_Adapter.jpg|150px|thumb|left|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.
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
[[Image:MIPS 14-Pin Adapter.jpg|150px|thumb|left|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.
  
 
Documents:
 
Documents:
  
* JTAG Connector Pin Assignments
+
* [[media:jtag_pin_assignments.pdf|JTAG Connector Pin Assignments]]
 
* [[media:flyswatter-schematic.pdf|Flyswatter schematic diagram]]
 
* [[media:flyswatter-schematic.pdf|Flyswatter schematic diagram]]
 +
 +
Source Code:
 +
 +
*[[Media:openocd.tar.gz|OpenOCD Source]]
 +
*[[Media:libftd2xx0.4.13.tar.gz|LibFTD2xx library files]]
 +
 +
available from [http://www.tincantools.com/product.php?productid=16134&cat=0&page=1&featured TinCanTools]
 +
 +
Devices that have been tested:
 +
 +
* [[Hammer_Board|Hammer]]: Supported by the software kit/tools that come with the Hammer
 +
* NSLU2: requires a [[JTAG]] connection to be added to the [http://www.nslu2-linux.org/wiki/Info/PinoutOfJTAGPort NSLU2] and nslu2.cfg, nslu2.ocd and Debug_handler.bin files. You can use these [[Media:nslu2.tar.gz|samples]], but may need to edit the nslu2.ocd as appropriate.
 +
* [http://zipit2system.sourceforge.net/ Zipit Z2]: requires soldering directly to the [[Media:z2jtag.jpg|Z2 board]], and using  [[Media:z2cfg.cfg|z2.cfg]] and following this [[Media:jtag.z2.txt|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.
 +
 +
 +
== [[Flyswatter2]] ==
 +
 +
[http://www.tincantools.com/ TinCanTools] has a new JTAG debugger at [http://www.tincantools.com/product.php?productid=16153&cat=0&page=1&featured 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 [http://www.tincantools.com/product.php?productid=16154&cat=251&page=1 ARM20TI14 JTAG Adapter].  This JTAG adapter board works with the [[BeagleBoard]] and BeagleBoard-xM.
 +
 +
The Flyswatter2 can be used with [[BeagleBoardJTAG#Open_source_JTAG_software|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.
 +
 +
[[Category:TinCanTools]]
 +
[[Category:Flyswatter]]

Latest revision as of 22:47, 25 June 2021

Introduction

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 http://www.tincantools.com/JTAG/Flyswatter.html

Features:

  • 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:

ARM CORE EXAMPLE PROCESSORS
ARM7TDMI LPC2148, AT91SAM7
ARM720T LH79520, EP7312
ARM9TDMI
ARM920T S3C2410, S3C2440
ARM922T
ARM926EJS S3C2412, STN8811, STN8815
ARM966E STR91XF
ARM11 S3C6400, OMAP2420, MSM7200
ARM1136
ARM1156
ARM1176
CORTEX-M3 LM3S series, STM32 series
CORTEX-A8 OMAP3530 BeagleBoard
CORTEX-A8 DM3730 BeagleBoard-xM
CORTEX-A9 OMAP4430 PandaBoard
XSCALE PXA255, PXA270, IXP42X
MARVEL FEROCEON CPU CORE


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

MIPS CORE EXAMPLE PROCESSORS
MIPS M4K

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.

Documents:

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.


Flyswatter2

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.