...
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.
...