Versions Compared

Key

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

...

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

  • Download/control PowerPC ELF executables
  • Control XMD via GDB
  • Read/Write memory (both off-chip and integrated on-chip FPGA Block RAM)
  • Read/Write PowerPC cache/tags
  • Read/Write PowerPC registers
  • Read/Write registers on the DCR bus

...

Code Block
user@rdcds104>> xmd 
...
XMD% stop
XMD% rst -processor
Target reset successfully

XMD% dow /reg/lab1/home/panetta//cctdat/foo_install/bin/ppc-rtems-rce405-dbg/core.2.0.devel
System Reset .... DONE
Downloading Program -- /reg/lab1/home/panetta//cctdat/foo_install/bin/ppc-rtems-rce405-dbg/core.2.0.devel
        section, .init: 0x0007c600-0x0007c63f
        section, .text: 0x0007c640-0x001f6be3
        section, .fini: 0x001f6be4-0x001f6c03
        section, .got: 0x00249710-0x0024971f
        section, .interp: 0x00002000-0x00002010
        section, .dynamic: 0x00002014-0x0000208b
        section, .hash: 0x0000208c-0x0000df9f
        section, .dynsym: 0x0000dfa0-0x0002db9f
        section, .dynstr: 0x0002dba0-0x0007c5fe
        section, .rodata: 0x001f6c08-0x00214263
        section, .sbss2: 0x00214264-0x00214264
        section, .eh_frame: 0x00214268-0x0023dabf
        section, .data: 0x0023dac0-0x002408a3
        section, .gcc_except_table: 0x002408a4-0x0024963b
        section, .got2: 0x0024963c-0x00249657
        section, .ctors: 0x00249658-0x002496c3
        section, .dtors: 0x002496c4-0x0024970f
        section, .jcr: 0x00249720-0x00249723
        section, .sdata: 0x00249728-0x00249aaf
        section, .sbss: 0x00249ab0-0x00249ec4
        section, .bss: 0x00249ee0-0x00255d23
Setting PC with Program Start Address 0x0007c640

XMD% con
Info:Processor started. Type "stop" to stop processor

RUNNING> XMD%

...

Code Block
$ powerpc-rtems4.10-gdb /reg/lab1/home/panetta//cctdat/foo_install/bin/ppc-rtems-rce405-dbg/core.2.0.devel
...
(gdb) target remote localhost:1234
40      ../../../../../../../../RTEMS/c/src/lib/libbsp/powerpc/virtex4/dlentry/dlentry.S: No such file or directory.
        in ../../../../../../../../RTEMS/c/src/lib/libbsp/powerpc/virtex4/dlentry/dlentry.S
Current language:  auto; currently asm
(gdb) break init_executive
Breakpoint 1 at 0x7d488: file /reg/lab1/home/panetta/ctkdat/core/rceapp/core/devel.cc, line 82.
(gdb) c
Continuing.

Breakpoint 1, init_executive () at /reg/lab1/home/tether/source/checkout/trunk/release/rceapp/core/devel.cc:82
82            printv("RCE core %d.%d.%s", majorVersion, minorVersion, branch.c_str());
(gdb) info thread
warning: RMT ERROR : failed to get remote thread list. 

...

The implementation developed at SSRL requires some patches to GDB in order to run. This patched version of GDB is available via the CTK DAT group's AFS space in /afs/slac/g/cci/package/gnu. Also, the core code on the RCE must have the GDB stub compiled in and started automatically. This is true as of core 1.3 (commit 1135). Note: the GDB daemons only run on the development core, not in the production core.

...