Set the EMU pins on the JTAG Adapter Board.

The EMU0 and EMU1 pins should be set to 1. Set both jumpers to the position closest to the 14-pin interface, as in the picture.

Connect the JTAG Adapter Board to the Flyswatter2.

Connect the 20-pin end of the adapter board to the Flyswatter2's JTAG interface.

Connect the 14-pin Ribbon Cable to the JTAG Adapter Board.

Your cable most likely has a notch on the head to force it into the correct position. If it doesn't, align Pin 1 on the ribbon cable with the side of the board opposite the EMU pins. (In the picture, Pin 1 is marked by the red stripe on the cable.)

Connect the Other End of the Ribbon Cable to the Pandaboard.

Be sure to align the ribbon cable correctly. Pin 1 on the Pandaboard is the pin closest to the center of the board.

Plug in the Serial Cable.

Connect the Flyswatter2 and the Pandaboard with the RS-232 serial cable.

Connect the USB cable to the Flyswatter2.

Find the USB cable that comes with the Flyswatter2. Connect the B end (the square end, not the flat end) to the Flyswatter.

Connect the Power Cable to the Pandaboard.

The Pandaboard's power adapter is next to the USB and ethernet ports.

Plug the Power Adapter into a Wall Outlet.

The green power LED on the Pandaboard should come on and remain on.

Plug the USB Cable into your PC.

The green power LED on the Flyswatter2 should come on and remain on.

Installing OpenOCD

OpenOCD (Open On-Chip Debugger) is open-source software that interfaces with the Flyswatter2. OpenOCD provides debugging and in-system programming for embedded target devices. You will need to compile OpenOCD from source, and patch the source with one of the OpenOCD Patches for Flyswatter 2 support.

Whichever guide you use, be sure to install the patch! Both guides include instructions on downloading and installing the patch.

Telnet Connection

You cannot enter commands directly to OpenOCD. Open a new terminal window and type:

telnet localhost 4444

You will should see this prompt:

You can give commands to OpenOCD through this prompt.

Common OpenOCD Commands

To see a full list of OpenOCD commands, enter help in the telnet window.

reset

Resets the Pandaboard. The output of the Reset command should look like this:

halt

Sends a halt request to the Pandaboard. If the Pandaboard halts, you will see text output in the telnet window. (If the Pandaboard is already halted, you will see no output.)

halt [timeout]

You can also use halt followed by a time in milliseconds. OpenOCD waits for the target to halt the specified amount of time, then gives up if the target has not halted. You can use this to avoid OpenOCD hanging because the Pandaboard fails to halt. For example, to send a halt command with a timeout of one second, type:

halt 1000

resume

Enter resume to end a halt. You will not see any text output in the telnet window.

reg

Displays a numbered list of all of the Pandaboard's registers.

reg [entry]

Run reg with a register number to display the contents of a register, in hexadecimal. The register number corresponds to the output of the reg command with no arguments, above. You must run the halt command before reading registers.

If you run reg while the Pandaboard is not halted, you will still see the value stored in the register. However, registers change contents very quickly while the device is running; by the time you see the value, the value actually in the register may be different. If you try to run reg while the device is not halted, you will see this:

reg [entry] [value]

Sets the value of a register. The register number corresponds to the output of the reg command with no arguments, above. Make sure the Pandaboard is halted (with the halt command) before you change the value of a register!

You can enter registry values in either decimal, by typing a number by itself, or in hexadecimal, by prefacing the value with 0x.

GDB Debugger

GDB, the GNU Project Debugger is a debugging tool provided with the GNU Compiler Collection (GCC). GDB allows you to stop and start a running program, examine its functioning, and make changes. GDB is installed on Ubuntu 10.04 by default, but you will need a different version of GDB build for embedded targets. Follow the instructions on the GDB Debugger page below.