[meta-ti] [PATCH 3/3] gdbc6x: Add version 1.1.0

Jacob Stiffler j-stiffler at ti.com
Mon May 18 10:32:56 PDT 2015


* The gdbc6x utility provides remote gdb capabilities for C6x DSP
  cores.

Signed-off-by: Jacob Stiffler <j-stiffler at ti.com>
---
 recipes-devtools/gdbc6x/gdbc6x/init   |   48 +++++++++++++++++++++++++++++++++
 recipes-devtools/gdbc6x/gdbc6x_git.bb |   48 +++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)
 create mode 100644 recipes-devtools/gdbc6x/gdbc6x/init
 create mode 100644 recipes-devtools/gdbc6x/gdbc6x_git.bb

diff --git a/recipes-devtools/gdbc6x/gdbc6x/init b/recipes-devtools/gdbc6x/gdbc6x/init
new file mode 100644
index 0000000..90210b8
--- /dev/null
+++ b/recipes-devtools/gdbc6x/gdbc6x/init
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+GDB_DEVICE_NAME='/dev/gdbtty$i'
+DSP_FIRMWARE_NAME='/lib/firmware/dra7-dsp$[$i+1]-fw.xe66'
+
+DSP_L2_GLOBAL_OFFSET="40000000"
+DSP_L2_GLOBAL_SHIFT="00800000"
+
+case "$1" in
+  start)
+
+    dsp_core_l2_offset=$DSP_L2_GLOBAL_OFFSET
+
+    i=0
+    while [ -c "`eval echo $GDB_DEVICE_NAME`" ]
+    do
+      dsp_firmware=`eval echo $DSP_FIRMWARE_NAME`
+
+      if [ -f "`eval echo $DSP_FIRMWARE_NAME`" ]
+      then 
+        eval echo "Initializing $GDB_DEVICE_NAME based on $DSP_FIRMWARE_NAME ..."
+
+        gdb_data_local=`eval readelf -s "$DSP_FIRMWARE_NAME" | \
+                        grep 'gdb_globalData' | \
+                        awk '{print $2}'`
+
+        echo "gdb_globalData (local)  = $gdb_data_local"
+        printf "gdb_globalData (global) = %X\n" \
+          $[0x$gdb_data_local + 0x$dsp_core_l2_offset]
+
+
+        printf "%X\n" $[0x$gdb_data_local + 0x$dsp_core_l2_offset] \
+          >> `eval echo $GDB_DEVICE_NAME`
+      fi
+      i=$[$i + 1]
+      dsp_core_l2_offset=`printf "%X" $[0x$dsp_core_l2_offset + 0x$DSP_L2_GLOBAL_SHIFT]`
+    done
+  ;;
+  stop)
+    # Nothing to be done.
+  ;;
+  *)
+    echo "Usage: $0 {start|stop}"
+    exit 1
+  ;;
+esac
+
+
diff --git a/recipes-devtools/gdbc6x/gdbc6x_git.bb b/recipes-devtools/gdbc6x/gdbc6x_git.bb
new file mode 100644
index 0000000..9fc95fe
--- /dev/null
+++ b/recipes-devtools/gdbc6x/gdbc6x_git.bb
@@ -0,0 +1,48 @@
+DESCRIPTION="GNU debugger for TI C6X DSP."
+
+LICENSE = "GPLv3+"
+SECTION = "devel"
+DEPENDS = "expat ncurses readline"
+
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=bf0fe2872eb3dfeebb2cbe38206fe81f"
+
+include gdbc6x.inc
+
+PR = "${INC_PR}.0"
+
+DEPENDS = "ncurses bison texinfo flex gettext"
+
+RDEPENDS_${PN}  = "gdbserver-c6x gdbserverproxy-module-drv"
+
+S = "${WORKDIR}/git/gdbc6x"
+
+SRC_URI_append = " \
+    file://init \
+"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "gdbserverproxy"
+INITSCRIPT_PARAMS = "defaults 95"
+
+inherit gettext
+
+PARALLEL_MAKE = ""
+
+do_configure () {
+    cd ${S}
+    ./configure --program-suffix=c6x --target=tic6x-elf-tirtos --host=${HOST_SYS} --prefix=${S}/install_gdb
+}
+
+do_install () {
+    make install
+
+    # Custom install to prevent conflict with standard GDB.
+    install -d ${D}${bindir}
+    install -d ${D}${includedir}
+    install -m 755  ${S}/install_gdb/bin/gdbc6x ${D}${bindir} 
+    cp -rf ${S}/install_gdb/include/* ${D}${includedir}
+
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/gdbserverproxy
+}
-- 
1.7.9.5



More information about the meta-ti mailing list