summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-devtools/gdbc6x
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-bsp/recipes-devtools/gdbc6x')
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc9
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch28
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init48
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb49
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb49
-rw-r--r--meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb31
6 files changed, 214 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc
new file mode 100644
index 00000000..eeb18fb1
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x.inc
@@ -0,0 +1,9 @@
1# This corresponds to version 1.1.0
2SRCREV = "dd0c82fb5763a6b32dc6d68e561efb66ab8283d7"
3
4PV = "1.1.0"
5INC_PR = "r7"
6
7SRC_URI = "git://git.ti.com/sdo-emu/gdbc6x.git;protocol=git;branch=${BRANCH}"
8
9BRANCH = "master"
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch
new file mode 100644
index 00000000..1cc23b32
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch
@@ -0,0 +1,28 @@
1From 0aa294e2bbd37a42266e59cb67687e57bfba4a88 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com>
3Date: Sat, 15 Feb 2020 15:59:37 -0500
4Subject: [PATCH] libbfd.h: suppress GCC9 -Wstringop-truncation
5
6Signed-off-by: Denys Dmytriyenko <denys@ti.com>
7---
8 gdbc6x/bfd/libbfd.h | 4 ++++
9 1 file changed, 4 insertions(+)
10
11diff --git a/gdbc6x/bfd/libbfd.h b/gdbc6x/bfd/libbfd.h
12index 72d3c50..3465f89 100644
13--- a/gdbc6x/bfd/libbfd.h
14+++ b/gdbc6x/bfd/libbfd.h
15@@ -34,6 +34,10 @@
16 #pragma GCC diagnostic ignored "-Wcast-function-type"
17 #endif
18
19+#if __GNUC__ >= 9
20+#pragma GCC diagnostic ignored "-Wstringop-truncation"
21+#endif
22+
23 #include "hashtab.h"
24
25 /* Align an address upward to a boundary, expressed as a number of bytes.
26--
272.7.4
28
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init
new file mode 100644
index 00000000..90210b82
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x/init
@@ -0,0 +1,48 @@
1#!/bin/bash
2
3GDB_DEVICE_NAME='/dev/gdbtty$i'
4DSP_FIRMWARE_NAME='/lib/firmware/dra7-dsp$[$i+1]-fw.xe66'
5
6DSP_L2_GLOBAL_OFFSET="40000000"
7DSP_L2_GLOBAL_SHIFT="00800000"
8
9case "$1" in
10 start)
11
12 dsp_core_l2_offset=$DSP_L2_GLOBAL_OFFSET
13
14 i=0
15 while [ -c "`eval echo $GDB_DEVICE_NAME`" ]
16 do
17 dsp_firmware=`eval echo $DSP_FIRMWARE_NAME`
18
19 if [ -f "`eval echo $DSP_FIRMWARE_NAME`" ]
20 then
21 eval echo "Initializing $GDB_DEVICE_NAME based on $DSP_FIRMWARE_NAME ..."
22
23 gdb_data_local=`eval readelf -s "$DSP_FIRMWARE_NAME" | \
24 grep 'gdb_globalData' | \
25 awk '{print $2}'`
26
27 echo "gdb_globalData (local) = $gdb_data_local"
28 printf "gdb_globalData (global) = %X\n" \
29 $[0x$gdb_data_local + 0x$dsp_core_l2_offset]
30
31
32 printf "%X\n" $[0x$gdb_data_local + 0x$dsp_core_l2_offset] \
33 >> `eval echo $GDB_DEVICE_NAME`
34 fi
35 i=$[$i + 1]
36 dsp_core_l2_offset=`printf "%X" $[0x$dsp_core_l2_offset + 0x$DSP_L2_GLOBAL_SHIFT]`
37 done
38 ;;
39 stop)
40 # Nothing to be done.
41 ;;
42 *)
43 echo "Usage: $0 {start|stop}"
44 exit 1
45 ;;
46esac
47
48
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb
new file mode 100644
index 00000000..df9aaee9
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbc6x_git.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "GNU debugger for TI C6X DSP."
2SECTION = "devel"
3LICENSE = "GPLv3+"
4LIC_FILES_CHKSUM = "file://debian/copyright;md5=bf0fe2872eb3dfeebb2cbe38206fe81f"
5
6DEPENDS = "ncurses bison-native texinfo flex-native gettext"
7
8COMPATIBLE_MACHINE = "dra7xx"
9
10PR = "${INC_PR}.1"
11
12SRC_URI:append = " \
13 file://init \
14 file://0001-libbfd.h-suppress-GCC9-Wstringop-truncation.patch;striplevel=2 \
15"
16
17S = "${WORKDIR}/git/gdbc6x"
18
19inherit update-rc.d
20inherit gettext
21
22CFLAGS += "-fcommon"
23
24do_configure () {
25 cd ${S}
26 ./configure --program-suffix=c6x --target=tic6x-elf-tirtos --host=${HOST_SYS} --prefix=${S}/install_gdb
27}
28
29do_install () {
30 make install
31
32 # Custom install to prevent conflict with standard GDB.
33 install -d ${D}${bindir}
34 install -d ${D}${includedir}
35 install -m 755 ${S}/install_gdb/bin/gdbc6x ${D}${bindir}
36 cp -rf ${S}/install_gdb/include/* ${D}${includedir}
37
38 install -d ${D}${sysconfdir}/init.d
39 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/gdbserverproxy
40}
41
42RDEPENDS:${PN} = "gdbserverproxy-module-drv bash"
43
44include gdbc6x.inc
45
46INITSCRIPT_NAME = "gdbserverproxy"
47INITSCRIPT_PARAMS = "defaults 95"
48
49PARALLEL_MAKE = ""
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb
new file mode 100644
index 00000000..fab4fbd2
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserver-c6x_git.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "TI gdb-server to be used with c6xgdb."
2LICENSE = "BSD"
3LIC_FILES_CHKSUM = "file://../debian/copyright;md5=82c616b6c8f9c11c46feaaf8f9a11495"
4
5DEPENDS = "ti-xdais ti-framework-components ti-cgt6x-native ti-sysbios ti-xdctools-native"
6
7PR = "${INC_PR}.0"
8
9S = "${WORKDIR}/git/gdbserver-c6x/src"
10
11PLATFORM = ""
12PLATFORM:dra7xx = "DRA7xx_PLATFORM"
13
14EXTRA_OEMAKE = "PLATFORM=${PLATFORM}"
15
16export XDAIS_DIR = "${XDAIS_INSTALL_DIR}"
17export FC_DIR = "${FC_INSTALL_DIR}"
18export TI_CGT_INSTALL = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
19export BIOS_DIR = "${SYSBIOS_INSTALL_DIR}"
20export XDC_DIR = "${XDC_INSTALL_DIR}"
21
22# The following is to prevent an unused configure.ac from erroneously
23# triggering the QA check for gettext.
24EXTRA_OECONF = "--disable-nls"
25do_configure() {
26 :
27}
28
29do_install() {
30 install -d ${D}${datadir}/ti/gdbc6x/include
31 install -d ${D}${datadir}/ti/gdbc6x/lib
32 cp -f ../include/* ${D}${datadir}/ti/gdbc6x/include
33 cp -f ../lib/* ${D}${datadir}/ti/gdbc6x/lib
34}
35
36COMPATIBLE_MACHINE = "dra7xx"
37PACKAGE_ARCH = "${MACHINE_ARCH}"
38
39FILES:${PN}-dev += "\
40 ${datadir}/ti/gdbc6x \
41"
42
43include gdbc6x.inc
44
45require recipes-ti/includes/ti-paths.inc
46
47ALLOW_EMPTY:${PN} = "1"
48
49PARALLEL_MAKE = ""
diff --git a/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb
new file mode 100644
index 00000000..168e4be3
--- /dev/null
+++ b/meta-ti-bsp/recipes-devtools/gdbc6x/gdbserverproxy-module-drv_git.bb
@@ -0,0 +1,31 @@
1DESCRIPTION = "Interface for GDB to commincate witha TI C66X DSP"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING.txt;md5=75859989545e37968a99b631ef42722e"
4
5# This package builds a kernel module, use kernel PR as base and append a local
6MACHINE_KERNEL_PR:append = "b"
7PR = "${MACHINE_KERNEL_PR}"
8PV:append = "+git${SRCPV}"
9
10S = "${WORKDIR}/git/kernel_module/gdbproxy-mod"
11
12inherit module
13
14PLATFORM = ""
15PLATFORM:dra7xx = "DRA7xx_PLATFORM"
16
17EXTRA_OEMAKE = "PLATFORM=${PLATFORM} KVERSION=${KERNEL_VERSION} KERNEL_SRC=${STAGING_KERNEL_DIR}"
18
19# The following is to prevent an unused configure.ac from erroneously
20# triggering the QA check for gettext.
21EXTRA_OECONF = "--disable-nls"
22do_configure() {
23 :
24}
25
26COMPATIBLE_MACHINE = "dra7xx"
27PACKAGE_ARCH = "${MACHINE_ARCH}"
28
29include gdbc6x.inc
30
31KERNEL_MODULE_AUTOLOAD += "gdbserverproxy"