From fb67ece977563192a42fb14ab9ae3311205e63a3 Mon Sep 17 00:00:00 2001 From: Jacob Stiffler Date: Tue, 19 May 2015 18:51:22 +0000 Subject: gdbc6x: Add version 1.1.0 * The gdbc6x utility provides remote gdb capabilities for C6x DSP cores. Signed-off-by: Jacob Stiffler Signed-off-by: Denys Dmytriyenko --- recipes-devtools/gdbc6x/gdbc6x/init | 48 +++++++++++++++++++++++++++++++++++ recipes-devtools/gdbc6x/gdbc6x_git.bb | 44 ++++++++++++++++++++++++++++++++ 2 files changed, 92 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 00000000..90210b82 --- /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 00000000..0e6a907c --- /dev/null +++ b/recipes-devtools/gdbc6x/gdbc6x_git.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "GNU debugger for TI C6X DSP." +SECTION = "devel" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=bf0fe2872eb3dfeebb2cbe38206fe81f" + +DEPENDS = "ncurses bison texinfo flex gettext" + +PR = "${INC_PR}.0" + +SRC_URI_append = " \ + file://init \ +" + +S = "${WORKDIR}/git/gdbc6x" + +inherit update-rc.d +inherit gettext + +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 +} + +RDEPENDS_${PN} = "gdbserverproxy-module-drv" + +include gdbc6x.inc + +INITSCRIPT_NAME = "gdbserverproxy" +INITSCRIPT_PARAMS = "defaults 95" + +PARALLEL_MAKE = "" -- cgit v1.2.3-54-g00ecf