Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
DebugXmd
DebugXmd

XMD (Xilinx Microprocessor Debugger) is a low-level (assembly language) debugger that is provided by Xilinx as part of a product called the Embedded Development Kit (EDK). Documentation is in the Embedded System Tools Reference Manual (UG111) It communicates with the PowerPC System-On-Chip over a JTAG interface via a host computer's USB system. The secret of a large portion of this magic is that it is able to inject instructions into the processor over JTAG (interestingly, these instructions can be recorded to text files and disassembled with some effort). XMD and the EDK is installed on SLAC AFS (/afs/slac/g/reseng/xilinx).

The main features of XMD that the DAT group has used are:

...

  • rrd — Dump the r* registers
  • srrd — Dump the system registers (pc, msr, ctr, etc.)
  • rwr <register> <word> — Write a register by name
  • Wiki Markup
    *mrd <address> \[num\] \[w|h|b\]* --- Memory Read (default: 'w'ord)
  • Wiki Markup
    *mwr <address> <values> \[<num> <w|h|b>\]*  Memory Write (default: 'w'ord)

When connecting to the powerPCPowerPC, XMD must be told which memory ranges to map onto memory/DCR/cache. We have been doing this with an initialization file which is executed by XMD on startup. This file may either be called "xmd.ini" and placed in the current directory, or is a user-level file "~/.xmdrc".

...

Wiki Markup
This will connect to the primary USB cable.  There is an option to use a different USB cable: {{-cable type xilinx_platformusb port usb2\[\#\]}} where {{\#}} is the USB2 port number you wish to use.  (See [Xilinx+tools] for more details.)

GDB over XMD

Anchor
GdbXmd
GdbXmd

We may use GDB to connect to XMD through network socket 1234, giving us a full source-code debugger. This does have limitations in that GDB connected in this way cannot see the full RTEMS task (thread) list.

...