[meta-ti] [PATCH 3/3] gdbc6x: Add version 1.1.0
Jacob Stiffler
j-stiffler at ti.com
Mon May 18 11:59:14 PDT 2015
On 5/18/2015 1:54 PM, Denys Dmytriyenko wrote:
> On Mon, May 18, 2015 at 01:32:56PM -0400, Jacob Stiffler wrote:
>> * 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+"
> Have you run this GPLv3 instance by OSRB yet?
>
This has already gone through the OSRB when this was released for keystone.
>> +SECTION = "devel"
>> +DEPENDS = "expat ncurses readline"
>> +
>> +LIC_FILES_CHKSUM = "file://debian/copyright;md5=bf0fe2872eb3dfeebb2cbe38206fe81f"
> A bit of consistency with variable ordering, indentation etc. would be much
> appreciated. I don't require patches to be passed through oe-stylize script
> from meta-oe (yet), but please keep it neat. Thanks.
>
I'll take a look at the script and make the updates.
>> +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
>>
>> --
>> _______________________________________________
>> meta-ti mailing list
>> meta-ti at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-ti
More information about the meta-ti
mailing list