UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22347

11.1 EDK XMD - How can Debug Multiprocessor Systems be implemented in different Xilinx FPGAs using XMD or GDB?

Description

Is it possible to debug dual or multi- Xilinx processor systems implemented in different Xilinx FPGAs using XMD or GDB?

Solution

The different Xilinx FPGAs must be in the same JTAG chain. The following two debug options are available for a single processor system:

GUI Method of Debugging Multiple Processors on different Xilinx FPGAs

NOTE: This method can be used with MicroBlaze or PowerPC/MicroBlaze systems.

1. Open XPS project for first Xilinx FPGA.
2. Select Options -> XMD Debug Options.
3. Deselect "Auto-Discover JTAG Chain Definition".
4. Specify the JTAG Devices in the Chain. Select the first FPGA as the Debug Device.
5. Click "Save". Launch the Debugger to start XMD and connect to the PowerPC (or MicroBlaze) on the first Xilinx FPGA.
6. Debug the program using GDB.
7. Open XPS project for second Xilinx FPGA.
8. SelectOptions -> XMD Debug Options.
9. Deselect "Auto-Discover JTAG Chain Definition".
10. Specify the JTAG Devices in the Chain. Select the second Xilinx FPGA as the Debug Device.
11. Click "Save". Launch the Debugger to start XMD and connect to the PowerPC (or MicroBlaze) on the second Xilinx FPGA.
12. Debug the program using GDB.

NOTE: XMD opens the GDBServer at port 1235. Connect to this port.

Command Line Method of Debugging Multiple Processors

1. Run two XMD sessions, each PowerPC (or MicroBlaze) connected through an XMD Session.
2. To distinguish between the PowerPCs (or MicroBlazes) at connect time from XMD, use the appropriate XMD connect options. Assuming that you have only two Xilinx FPGAs in the JTAG chain and both FPGAs are single PowerPC devices, perform the following:
a. Open the first XMD Window, and launch using the applicable command below:

For PowerPC

connect ppc hw -cable <JTAG Cable Type> -debugdevice devicenr 1

For MicroBlaze
connect mb hw -cable <JTAG Cable Type> -debugdevice devicenr 1
This step connects the first PowerPC (or MicroBlaze) in the first Xilinx FPGA in the JTAG Chain.

b. Open a second XMD Window, and launch using the applicable command below:

For PowerPC
connect ppc hw -cable <JTAG Cable Type> -debugdevice devicenr 2

For MicroBlaze
connect mb hw -cable <JTAG Cable Type> -debugdevice devicenr 2
This step connects the second PowerPC (or MicroBlaze) in the second Xilinx FPGA in the JTAG Chain.

c. Only one processor (or target) is "active" at any time in the XMD shell. For example, issuing an XMD command such as rrd or mrd applies to the active processor. Use the targets command to view the list of targets and to identify which targets are active ("*" indicates active targets).
d. To change between targets at any time, use the "targets <target num>" command.

AR# 22347
Date Created 09/04/2007
Last Updated 02/17/2013
Status Active
Type General Article
Tools
  • EDK - 11.1
  • EDK - 11.2
  • EDK - 11.3
  • More
  • EDK - 11.4
  • EDK - 11.5
  • Less