All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application
@ 2017-09-21 19:46 Djordje Senicic
  2017-09-21 19:50 ` [EXTERNAL] " Jacob Stiffler
  2017-09-21 19:51 ` Denys Dmytriyenko
  0 siblings, 2 replies; 3+ messages in thread
From: Djordje Senicic @ 2017-09-21 19:46 UTC (permalink / raw)
  To: meta-arago; +Cc: d-senicic1, Djordje Senicic

* TIOVX is TI’s implementation of OpenVX Khronos Standard. TIOVX allows users to create vision and compute applications using OpenVX API and can be executed on TI SoCs. 
  TIOVX also provides optimized OpenVX kernels for C66x DSP. An extension API allows users to integrate their own natively developed custom kernels and call them using OpenVX APIs.

* TIOVX-APP includes sample TIOVX applications, like conformance tests, IPC implementation and DSP firmware (includes kernels and DSP-side of TIOVX framework)


Signed-off-by: Djordje Senicic <x0157990@ti.com>
---
 ...agegroup-arago-tisdk-addons-sdk-target.bbappend |   6 +
 .../packagegroup-arago-tisdk-addons.bbappend       |   2 +
 recipes-ti/includes/ti-paths-append.inc            |   5 +
 ...hs-for-Yocto-build-and-add-RTOS-build-var.patch | 133 +++++++++++++++++++++
 recipes-ti/tiovx/tiovx-app-host.bb                 |  32 +++++
 recipes-ti/tiovx/tiovx-lib-host.bb                 |  41 +++++++
 recipes-ti/tiovx/tiovx-sys-iface.bb                |  32 +++++
 recipes-ti/tiovx/tiovx-sys.inc                     |   5 +
 8 files changed, 256 insertions(+)
 create mode 100644 recipes-ti/includes/ti-paths-append.inc
 create mode 100644 recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
 create mode 100644 recipes-ti/tiovx/tiovx-app-host.bb
 create mode 100644 recipes-ti/tiovx/tiovx-lib-host.bb
 create mode 100644 recipes-ti/tiovx/tiovx-sys-iface.bb
 create mode 100644 recipes-ti/tiovx/tiovx-sys.inc

diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
index aeabbc0..8de7992 100644
--- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
+++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
@@ -75,3 +75,9 @@ EXTRA_LIBS_append_ti43x = "\
     cmem-dev \
     cmem-staticdev \
 "
+
+EXTRA_LIBS_append_dra7xx = " \
+    tiovx-lib-host-dev \
+    tiovx-lib-host-staticdev \
+    tiovx-sys-iface \
+"
diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
index 91e92ff..30b6eb6 100644
--- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
+++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
@@ -34,3 +34,5 @@ UTILS_append_k2g = " uio-test-pruss"
 EXTRA_PACKAGES_append_omap-a15 = " big-data-ipc-demo-linux \
                                    big-data-ipc-demo-linux-firmware \
 "
+
+EXTRA_PACKAGES_append_dra7xx = " tiovx-app-host "
diff --git a/recipes-ti/includes/ti-paths-append.inc b/recipes-ti/includes/ti-paths-append.inc
new file mode 100644
index 0000000..48f8a9c
--- /dev/null
+++ b/recipes-ti/includes/ti-paths-append.inc
@@ -0,0 +1,5 @@
+require recipes-ti/includes/tisdk-paths.inc
+
+export TIOVX_INSTALL_DIR_RECIPE      = "${installdir}/ti-tiovx-lib-tree"
+export TIOVX_INSTALL_DIR      = "${STAGING_DIR_TARGET}${TIOVX_INSTALL_DIR_RECIPE}"
+
diff --git a/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
new file mode 100644
index 0000000..1e667b8
--- /dev/null
+++ b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
@@ -0,0 +1,133 @@
+From 32bd788608034f5a49d9cd4a0163190ef666d9a2 Mon Sep 17 00:00:00 2001
+From: Djordje Senicic <d-senicic1@ti.com>
+Date: Mon, 14 Aug 2017 10:26:39 -0400
+Subject: [PATCH] Fix paths for Yocto build and add RTOS build var
+
+Signed-off-by: Djordje Senicic <d-senicic1@ti.com>
+---
+ Makefile            | 27 +++++++++++++++++++--------
+ psdk_tools_path.mak | 32 ++++++++++++++------------------
+ 2 files changed, 33 insertions(+), 26 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0832e07..1be5b0d 100755
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ 
+ # Valid values are: vsdk psdk
+-BUILD_SDK=vsdk
++BUILD_SDK=psdk
+ 
+ include $(BUILD_SDK)_tools_path.mak
+ 
+@@ -8,11 +8,12 @@ BUILD_EMULATION_MODE?=no
+ BUILD_TARGET_MODE?=yes
+ 
+ BUILD_CONFORMANCE_TEST?=yes
+-BUILD_IVISION_KERNELS?=yes
++BUILD_IVISION_KERNELS?=no
+ BUILD_BAM?=yes
+ BUILD_TUTORIAL?=yes
+ BUILD_LINUX_A15?=yes
+-BUILD_EVE?=yes
++BUILD_RTOS?=no
++BUILD_EVE?=no
+ 
+ PROFILE?=all
+ 
+@@ -43,12 +44,17 @@ TARGET_COMBOS :=
+ 
+ ifeq ($(BUILD_TARGET_MODE),yes)
+   ifeq ($(PROFILE), $(filter $(PROFILE), debug all))
+-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
+-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
++	ifeq ($(BUILD_RTOS),yes)
++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
++	endif
++
+ 	ifeq ($(BUILD_EVE),yes)
+ 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:debug:ARP32CGT
+ 	endif
++	ifeq ($(BUILD_RTOS),yes)
+ 	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:debug:GCC
++	endif
+ 	ifneq ($(OS),Windows_NT)
+ 		ifeq ($(BUILD_LINUX_A15),yes)
+ 		TARGET_COMBOS += TDAX:LINUX:A15:1:debug:GCC_LINARO
+@@ -57,12 +63,17 @@ ifeq ($(BUILD_TARGET_MODE),yes)
+   endif
+ 
+   ifeq ($(PROFILE), $(filter $(PROFILE), release all))
+-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
+-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
++	ifeq ($(BUILD_RTOS),yes)
++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
++	endif
++
+ 	ifeq ($(BUILD_EVE),yes)
+ 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:release:ARP32CGT
+ 	endif
+-	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
++	ifeq ($(BUILD_RTOS),yes)
++	  TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
++	endif
+ 	ifneq ($(OS),Windows_NT)
+ 		ifeq ($(BUILD_LINUX_A15),yes)
+ 		TARGET_COMBOS += TDAX:LINUX:A15:1:release:GCC_LINARO
+diff --git a/psdk_tools_path.mak b/psdk_tools_path.mak
+index 36394f8..8fd468d 100755
+--- a/psdk_tools_path.mak
++++ b/psdk_tools_path.mak
+@@ -2,7 +2,6 @@
+ TIOVX_PATH = $(abspath .)
+ 
+ PLSDK_PATH := /home/x0157990/ti-processor-sdk-linux-am57xx-evm-04.00.00.04
+-PRSDK_PATH := /home/x0157990/ti-processor-sdk-rtos-am57xx-evm-04-00-00-04
+ 
+ CROSS_COMPILE_LINARO := arm-linux-gnueabihf-
+ CROSS_COMPILE := arm-none-eabi-
+@@ -16,23 +15,20 @@ ifeq ($(BUILD_OS),Windows_NT)
+ GCC_WINDOWS_ROOT ?= C:/CodeBlocks/MinGW
+ endif
+ 
+-XDC_PATH := $(PRSDK_PATH)/xdctools_3_32_01_22_core/
+-TIARMCGT_ROOT := $(PRSDK_PATH)/ti-cgt-arm_16.9.2.LTS
++XDC_PATH := $(XDC_INSTALL_DIR)
++TIARMCGT_ROOT :=  $(TIARMCGTPATH)
++GCC_ROOT_LINARO := $(GCCLINARO)
++XDIAS_PATH := $(XDAISPATH)
++BIOS_PATH := $(SYSBIOSPATH)
++PDK_PATH := $(PDKPATH)
++SDK_PLATFORM_IF_PATH := $(SDKPLATFORMIFPATH)
+ 
+-GCC_ROOT := $(PRSDK_PATH)/gcc-arm-none-eabi-4_9-2015q3
+-GCC_ROOT_LINARO := /home/x0157990/linaro/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
+-CGT6X_ROOT := $(PRSDK_PATH)/ti-cgt-c6000_8.1.3/
++GCC_ROOT ?= $(GCCARMNONEPATH)
++CGT6X_ROOT := $(TI_CGT_INSTALL)
+ GCC_LINUX_ROOT ?= /usr/
++VXLIB_PATH ?= $(VXLIBPATH)
++ARP32CGT_ROOT ?= $(EVETOOLSPATH}
++DMAUTILS_PATH ?= $(DSPAPPS_PATH)/dmautils
++ALGFRAMEWORK_PATH ?= $(DSPAPPS_PATH)/algframework
++EDMA3_LLD_PATH := $(EDMA3LLDPATH)
+ 
+-
+-VXLIB_PATH ?= $(PRSDK_PATH)/vxlib_c66x_1_1_0_0
+-XDIAS_PATH := $(PRSDK_PATH)/xdais_7_24_00_04
+-EDMA3_LLD_PATH := $(PRSDK_PATH)/edma3_lld_2_12_04_28/
+-BIOS_PATH := $(PRSDK_PATH)/bios_6_46_05_55/
+-
+-DMAUTILS_PATH ?= $(PRSDK_PATH)/REL.DMAUTILS.00.08.00.02/dmautils
+-ALGFRAMEWORK_PATH ?= $(PRSDK_PATH)/REL.ALGFRAMEWORK.02.07.00.00/algframework
+-PDK_PATH := $(PRSDK_PATH)/pdk_am57xx_1_0_7
+-CMEM_PATH ?= $(PLSDK_INSTALL_PATH)/board-support/extra-drivers/cmem-mod-4.14.00.00+gitAUTOINC+b514a99ac4/
+-TARGETFS := $(PLSDK_PATH)/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/
+-SDK_PLATFORM_IF_PATH ?= /home/x0157990/am57/openvx/ex41_forwardmsg/vx
+\ No newline at end of file
+-- 
+1.9.1
+
diff --git a/recipes-ti/tiovx/tiovx-app-host.bb b/recipes-ti/tiovx/tiovx-app-host.bb
new file mode 100644
index 0000000..38d6f3f
--- /dev/null
+++ b/recipes-ti/tiovx/tiovx-app-host.bb
@@ -0,0 +1,32 @@
+SUMMARY = "TI OpenVX HOST (Linux A15) conformance verification application, and Host side IPC implementation "
+DESCRIPTION = "TI OpenVX implementation, TIOVX, includes Khronos defined conformance test as well as additional TI specific tests. This package creates application which runs all the tests (7K-8K). Same package includes IPC implementation (MessageQ based) needed for communication with DSP firmware (loaded at boot time) "
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX-APP-HOST_1.0.0.0_manifest.html;md5=de53bc8bf67ffa9a316fe48e3bacbf6d"
+
+require recipes-ti/includes/ti-paths-append.inc
+require tiovx-sys.inc
+
+DEPENDS = " tiovx-sys-iface tiovx-lib-host ti-ipc cmem "
+
+PR = "r2"
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PROCLIST = "host"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE += " TARGET_ROOTDIR=${STAGING_DIR_HOST} "
+EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} TIOVXPATH=${TIOVX_INSTALL_DIR} IPCPATH=${IPC_INSTALL_DIR} "
+EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface "
+EXTRA_OEMAKE += " PROC_LIST=${PROCLIST} "
+
+do_install () {
+    install -d ${D}${bindir}/
+    install -m 0755 ${S}/host/bin/debug/app_host ${D}${bindir}/tiovx-app_host
+}
+
+FILES_${PN} += "${bindir}/*"
+INSANE_SKIP_${PN} = "ldflags"
diff --git a/recipes-ti/tiovx/tiovx-lib-host.bb b/recipes-ti/tiovx/tiovx-lib-host.bb
new file mode 100644
index 0000000..17af8b0
--- /dev/null
+++ b/recipes-ti/tiovx/tiovx-lib-host.bb
@@ -0,0 +1,41 @@
+SUMMARY = "TI OpenVX HOST (Linux A15) side library"
+DESCRIPTION = "TI OpenVX implementation, TIOVX, based on Khronos OpenVX framework implementation including multiple C66 optimized kernels. Khronos defined conformance test is part of this package as well as additional TI specific tests. Few tutorial examples are also included. This package creates necessary libraries and header files for Linux Host side only. "
+
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX_manifest.html;md5=edd4fbfc6c1f01c20d49def4670efac0"
+
+require recipes-ti/includes/ti-paths-append.inc
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PV = "01.00.00.00"
+PR = "r1"
+
+BRANCH = "master"
+SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx.git;protocol=ssh;branch=${BRANCH}"
+SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch "
+SRCREV = "ea5da232c371cfb4c081fb9c614e3ce7c022b512"
+
+
+S = "${WORKDIR}/git"
+
+DEPENDS = " tiovx-sys-iface "
+
+EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} "
+EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface BUILD_RTOS=no "
+
+do_install () {
+    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+    install -d ${D}${includedir}/VX
+    install -d ${D}${includedir}/VX/TI
+    install -d ${D}${libdir}
+    cp ${CP_ARGS} ${S}/lib/TDAX/A15/LINUX/release/*.a ${D}${libdir}
+    cp ${CP_ARGS} ${S}/include/VX/* ${D}${includedir}/VX
+    cp ${CP_ARGS} ${S}/include/TI/* ${D}${includedir}/VX/TI
+}
+
+FILES_${PN}-staticdev = "${libdir}"
+FILES_${PN}-dev = "${includedir}"
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/recipes-ti/tiovx/tiovx-sys-iface.bb b/recipes-ti/tiovx/tiovx-sys-iface.bb
new file mode 100644
index 0000000..f4728d9
--- /dev/null
+++ b/recipes-ti/tiovx/tiovx-sys-iface.bb
@@ -0,0 +1,32 @@
+SUMMARY = "TI OpenVX interface header files between TIOVX library and HOST, DSP IPC side implementation "
+DESCRIPTION = "Collection of header files needed to defined interface between TIOVX library and HOST and DSP IPC side implementation. In order to maintain source compatibility, directory structure follows VSDK source tree layout."
+
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://iface/VSDK/docs/TIOVX-SYS-IFACE_1.0.0.0_manifest.html;md5=10904cbdb4f065c025a63ca71ae7de2d"
+
+require recipes-ti/includes/ti-paths-append.inc
+require tiovx-sys.inc
+
+PR = "r1"
+
+COMPATIBLE_MACHINE = "dra7xx"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+#   Install the header files
+    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+    install -d ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
+    cp ${CP_ARGS} ${S}/iface/VSDK/* ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
+    install -d ${D}/${base_libdir}/firmware
+    install -m 0644 ${S}/firmware/tiovx_dsp1.xe66 ${D}/${base_libdir}/firmware/dra7-dsp1-fw.xe66.openvx
+    install -m 0644 ${S}/firmware/tiovx_dsp2.xe66 ${D}/${base_libdir}/firmware/dra7-dsp2-fw.xe66.openvx
+}
+
+FILES_${PN} += "${TIOVX_INSTALL_DIR_RECIPE}/sys-iface/* "
+PACKAGES =+ "${PN}-firmware"
+FILES_${PN}-firmware = "${base_libdir}/firmware/*"
+
+INSANE_SKIP_${PN}-firmware = "arch"
+
diff --git a/recipes-ti/tiovx/tiovx-sys.inc b/recipes-ti/tiovx/tiovx-sys.inc
new file mode 100644
index 0000000..61e6d8d
--- /dev/null
+++ b/recipes-ti/tiovx/tiovx-sys.inc
@@ -0,0 +1,5 @@
+PV = "01.00.00.00"
+
+BRANCH="master"
+SRCREV = "b17cafb972fb3803794785f70a449e67bcf455a2"
+SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx-app.git;protocol=ssh;branch=${BRANCH}"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [EXTERNAL] [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application
  2017-09-21 19:46 [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application Djordje Senicic
@ 2017-09-21 19:50 ` Jacob Stiffler
  2017-09-21 19:51 ` Denys Dmytriyenko
  1 sibling, 0 replies; 3+ messages in thread
From: Jacob Stiffler @ 2017-09-21 19:50 UTC (permalink / raw)
  To: Djordje Senicic, meta-arago; +Cc: d-senicic1



On 9/21/2017 3:46 PM, Djordje Senicic wrote:
> * TIOVX is TI’s implementation of OpenVX Khronos Standard. TIOVX allows users to create vision and compute applications using OpenVX API and can be executed on TI SoCs.
>    TIOVX also provides optimized OpenVX kernels for C66x DSP. An extension API allows users to integrate their own natively developed custom kernels and call them using OpenVX APIs.
>
> * TIOVX-APP includes sample TIOVX applications, like conformance tests, IPC implementation and DSP firmware (includes kernels and DSP-side of TIOVX framework)
>
>
> Signed-off-by: Djordje Senicic <x0157990@ti.com>
> ---

Can you split this into multi commits? One per recipe?

>   ...agegroup-arago-tisdk-addons-sdk-target.bbappend |   6 +
>   .../packagegroup-arago-tisdk-addons.bbappend       |   2 +
>   recipes-ti/includes/ti-paths-append.inc            |   5 +
>   ...hs-for-Yocto-build-and-add-RTOS-build-var.patch | 133 +++++++++++++++++++++
>   recipes-ti/tiovx/tiovx-app-host.bb                 |  32 +++++
>   recipes-ti/tiovx/tiovx-lib-host.bb                 |  41 +++++++
>   recipes-ti/tiovx/tiovx-sys-iface.bb                |  32 +++++
>   recipes-ti/tiovx/tiovx-sys.inc                     |   5 +
>   8 files changed, 256 insertions(+)
>   create mode 100644 recipes-ti/includes/ti-paths-append.inc

This file should not exist in meta-processor-sdk. Please make the 
updates in recipes-ti/includes/tisdk-paths.inc

>   create mode 100644 recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
>   create mode 100644 recipes-ti/tiovx/tiovx-app-host.bb
>   create mode 100644 recipes-ti/tiovx/tiovx-lib-host.bb
>   create mode 100644 recipes-ti/tiovx/tiovx-sys-iface.bb
>   create mode 100644 recipes-ti/tiovx/tiovx-sys.inc
>
> diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> index aeabbc0..8de7992 100644
> --- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> +++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> @@ -75,3 +75,9 @@ EXTRA_LIBS_append_ti43x = "\
>       cmem-dev \
>       cmem-staticdev \
>   "
> +
> +EXTRA_LIBS_append_dra7xx = " \
> +    tiovx-lib-host-dev \
> +    tiovx-lib-host-staticdev \
> +    tiovx-sys-iface \
> +"
> diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> index 91e92ff..30b6eb6 100644
> --- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> +++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> @@ -34,3 +34,5 @@ UTILS_append_k2g = " uio-test-pruss"
>   EXTRA_PACKAGES_append_omap-a15 = " big-data-ipc-demo-linux \
>                                      big-data-ipc-demo-linux-firmware \
>   "
> +
> +EXTRA_PACKAGES_append_dra7xx = " tiovx-app-host "
> diff --git a/recipes-ti/includes/ti-paths-append.inc b/recipes-ti/includes/ti-paths-append.inc
> new file mode 100644
> index 0000000..48f8a9c
> --- /dev/null
> +++ b/recipes-ti/includes/ti-paths-append.inc
> @@ -0,0 +1,5 @@
> +require recipes-ti/includes/tisdk-paths.inc
> +
> +export TIOVX_INSTALL_DIR_RECIPE      = "${installdir}/ti-tiovx-lib-tree"
> +export TIOVX_INSTALL_DIR      = "${STAGING_DIR_TARGET}${TIOVX_INSTALL_DIR_RECIPE}"
> +
> diff --git a/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
> new file mode 100644
> index 0000000..1e667b8
> --- /dev/null
> +++ b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
> @@ -0,0 +1,133 @@
> +From 32bd788608034f5a49d9cd4a0163190ef666d9a2 Mon Sep 17 00:00:00 2001
> +From: Djordje Senicic <d-senicic1@ti.com>
> +Date: Mon, 14 Aug 2017 10:26:39 -0400
> +Subject: [PATCH] Fix paths for Yocto build and add RTOS build var
> +
> +Signed-off-by: Djordje Senicic <d-senicic1@ti.com>
> +---
> + Makefile            | 27 +++++++++++++++++++--------
> + psdk_tools_path.mak | 32 ++++++++++++++------------------
> + 2 files changed, 33 insertions(+), 26 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 0832e07..1be5b0d 100755
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -1,6 +1,6 @@
> +
> + # Valid values are: vsdk psdk
> +-BUILD_SDK=vsdk
> ++BUILD_SDK=psdk
> +
> + include $(BUILD_SDK)_tools_path.mak
> +
> +@@ -8,11 +8,12 @@ BUILD_EMULATION_MODE?=no
> + BUILD_TARGET_MODE?=yes
> +
> + BUILD_CONFORMANCE_TEST?=yes
> +-BUILD_IVISION_KERNELS?=yes
> ++BUILD_IVISION_KERNELS?=no
> + BUILD_BAM?=yes
> + BUILD_TUTORIAL?=yes
> + BUILD_LINUX_A15?=yes
> +-BUILD_EVE?=yes
> ++BUILD_RTOS?=no
> ++BUILD_EVE?=no
> +
> + PROFILE?=all
> +
> +@@ -43,12 +44,17 @@ TARGET_COMBOS :=
> +
> + ifeq ($(BUILD_TARGET_MODE),yes)
> +   ifeq ($(PROFILE), $(filter $(PROFILE), debug all))
> +-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
> +-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
> ++	endif
> ++
> + 	ifeq ($(BUILD_EVE),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:debug:ARP32CGT
> + 	endif
> ++	ifeq ($(BUILD_RTOS),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:debug:GCC
> ++	endif
> + 	ifneq ($(OS),Windows_NT)
> + 		ifeq ($(BUILD_LINUX_A15),yes)
> + 		TARGET_COMBOS += TDAX:LINUX:A15:1:debug:GCC_LINARO
> +@@ -57,12 +63,17 @@ ifeq ($(BUILD_TARGET_MODE),yes)
> +   endif
> +
> +   ifeq ($(PROFILE), $(filter $(PROFILE), release all))
> +-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
> +-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
> ++	endif
> ++
> + 	ifeq ($(BUILD_EVE),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:release:ARP32CGT
> + 	endif
> +-	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
> ++	endif
> + 	ifneq ($(OS),Windows_NT)
> + 		ifeq ($(BUILD_LINUX_A15),yes)
> + 		TARGET_COMBOS += TDAX:LINUX:A15:1:release:GCC_LINARO
> +diff --git a/psdk_tools_path.mak b/psdk_tools_path.mak
> +index 36394f8..8fd468d 100755
> +--- a/psdk_tools_path.mak
> ++++ b/psdk_tools_path.mak
> +@@ -2,7 +2,6 @@
> + TIOVX_PATH = $(abspath .)
> +
> + PLSDK_PATH := /home/x0157990/ti-processor-sdk-linux-am57xx-evm-04.00.00.04
> +-PRSDK_PATH := /home/x0157990/ti-processor-sdk-rtos-am57xx-evm-04-00-00-04
> +
> + CROSS_COMPILE_LINARO := arm-linux-gnueabihf-
> + CROSS_COMPILE := arm-none-eabi-
> +@@ -16,23 +15,20 @@ ifeq ($(BUILD_OS),Windows_NT)
> + GCC_WINDOWS_ROOT ?= C:/CodeBlocks/MinGW
> + endif
> +
> +-XDC_PATH := $(PRSDK_PATH)/xdctools_3_32_01_22_core/
> +-TIARMCGT_ROOT := $(PRSDK_PATH)/ti-cgt-arm_16.9.2.LTS
> ++XDC_PATH := $(XDC_INSTALL_DIR)
> ++TIARMCGT_ROOT :=  $(TIARMCGTPATH)
> ++GCC_ROOT_LINARO := $(GCCLINARO)
> ++XDIAS_PATH := $(XDAISPATH)
> ++BIOS_PATH := $(SYSBIOSPATH)
> ++PDK_PATH := $(PDKPATH)
> ++SDK_PLATFORM_IF_PATH := $(SDKPLATFORMIFPATH)
> +
> +-GCC_ROOT := $(PRSDK_PATH)/gcc-arm-none-eabi-4_9-2015q3
> +-GCC_ROOT_LINARO := /home/x0157990/linaro/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
> +-CGT6X_ROOT := $(PRSDK_PATH)/ti-cgt-c6000_8.1.3/
> ++GCC_ROOT ?= $(GCCARMNONEPATH)
> ++CGT6X_ROOT := $(TI_CGT_INSTALL)
> + GCC_LINUX_ROOT ?= /usr/
> ++VXLIB_PATH ?= $(VXLIBPATH)
> ++ARP32CGT_ROOT ?= $(EVETOOLSPATH}
> ++DMAUTILS_PATH ?= $(DSPAPPS_PATH)/dmautils
> ++ALGFRAMEWORK_PATH ?= $(DSPAPPS_PATH)/algframework
> ++EDMA3_LLD_PATH := $(EDMA3LLDPATH)
> +
> +-
> +-VXLIB_PATH ?= $(PRSDK_PATH)/vxlib_c66x_1_1_0_0
> +-XDIAS_PATH := $(PRSDK_PATH)/xdais_7_24_00_04
> +-EDMA3_LLD_PATH := $(PRSDK_PATH)/edma3_lld_2_12_04_28/
> +-BIOS_PATH := $(PRSDK_PATH)/bios_6_46_05_55/
> +-
> +-DMAUTILS_PATH ?= $(PRSDK_PATH)/REL.DMAUTILS.00.08.00.02/dmautils
> +-ALGFRAMEWORK_PATH ?= $(PRSDK_PATH)/REL.ALGFRAMEWORK.02.07.00.00/algframework
> +-PDK_PATH := $(PRSDK_PATH)/pdk_am57xx_1_0_7
> +-CMEM_PATH ?= $(PLSDK_INSTALL_PATH)/board-support/extra-drivers/cmem-mod-4.14.00.00+gitAUTOINC+b514a99ac4/
> +-TARGETFS := $(PLSDK_PATH)/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/
> +-SDK_PLATFORM_IF_PATH ?= /home/x0157990/am57/openvx/ex41_forwardmsg/vx
> +\ No newline at end of file
> +--
> +1.9.1
> +
> diff --git a/recipes-ti/tiovx/tiovx-app-host.bb b/recipes-ti/tiovx/tiovx-app-host.bb
> new file mode 100644
> index 0000000..38d6f3f
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-app-host.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "TI OpenVX HOST (Linux A15) conformance verification application, and Host side IPC implementation "
> +DESCRIPTION = "TI OpenVX implementation, TIOVX, includes Khronos defined conformance test as well as additional TI specific tests. This package creates application which runs all the tests (7K-8K). Same package includes IPC implementation (MessageQ based) needed for communication with DSP firmware (loaded at boot time) "
> +
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX-APP-HOST_1.0.0.0_manifest.html;md5=de53bc8bf67ffa9a316fe48e3bacbf6d"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +require tiovx-sys.inc
> +
> +DEPENDS = " tiovx-sys-iface tiovx-lib-host ti-ipc cmem "
> +
> +PR = "r2"
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +PROCLIST = "host"
> +
> +S = "${WORKDIR}/git"
> +
> +EXTRA_OEMAKE += " TARGET_ROOTDIR=${STAGING_DIR_HOST} "
> +EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} TIOVXPATH=${TIOVX_INSTALL_DIR} IPCPATH=${IPC_INSTALL_DIR} "
> +EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface "
> +EXTRA_OEMAKE += " PROC_LIST=${PROCLIST} "
> +
> +do_install () {
> +    install -d ${D}${bindir}/
> +    install -m 0755 ${S}/host/bin/debug/app_host ${D}${bindir}/tiovx-app_host
> +}
> +
> +FILES_${PN} += "${bindir}/*"
> +INSANE_SKIP_${PN} = "ldflags"
> diff --git a/recipes-ti/tiovx/tiovx-lib-host.bb b/recipes-ti/tiovx/tiovx-lib-host.bb
> new file mode 100644
> index 0000000..17af8b0
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-lib-host.bb
> @@ -0,0 +1,41 @@
> +SUMMARY = "TI OpenVX HOST (Linux A15) side library"
> +DESCRIPTION = "TI OpenVX implementation, TIOVX, based on Khronos OpenVX framework implementation including multiple C66 optimized kernels. Khronos defined conformance test is part of this package as well as additional TI specific tests. Few tutorial examples are also included. This package creates necessary libraries and header files for Linux Host side only. "
> +
> +LICENSE = "TI-TSPA"
> +LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX_manifest.html;md5=edd4fbfc6c1f01c20d49def4670efac0"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +PV = "01.00.00.00"
> +PR = "r1"
> +
> +BRANCH = "master"
> +SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx.git;protocol=ssh;branch=${BRANCH}"
> +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch "
> +SRCREV = "ea5da232c371cfb4c081fb9c614e3ce7c022b512"
> +
> +
> +S = "${WORKDIR}/git"
> +
> +DEPENDS = " tiovx-sys-iface "
> +
> +EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} "
> +EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface BUILD_RTOS=no "
> +
> +do_install () {
> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +    install -d ${D}${includedir}/VX
> +    install -d ${D}${includedir}/VX/TI
> +    install -d ${D}${libdir}
> +    cp ${CP_ARGS} ${S}/lib/TDAX/A15/LINUX/release/*.a ${D}${libdir}
> +    cp ${CP_ARGS} ${S}/include/VX/* ${D}${includedir}/VX
> +    cp ${CP_ARGS} ${S}/include/TI/* ${D}${includedir}/VX/TI
> +}
> +
> +FILES_${PN}-staticdev = "${libdir}"
> +FILES_${PN}-dev = "${includedir}"
> +
> +ALLOW_EMPTY_${PN} = "1"
> diff --git a/recipes-ti/tiovx/tiovx-sys-iface.bb b/recipes-ti/tiovx/tiovx-sys-iface.bb
> new file mode 100644
> index 0000000..f4728d9
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-sys-iface.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "TI OpenVX interface header files between TIOVX library and HOST, DSP IPC side implementation "
> +DESCRIPTION = "Collection of header files needed to defined interface between TIOVX library and HOST and DSP IPC side implementation. In order to maintain source compatibility, directory structure follows VSDK source tree layout."
> +
> +LICENSE = "TI-TSPA"
> +LIC_FILES_CHKSUM = "file://iface/VSDK/docs/TIOVX-SYS-IFACE_1.0.0.0_manifest.html;md5=10904cbdb4f065c025a63ca71ae7de2d"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +require tiovx-sys.inc
> +
> +PR = "r1"
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +S = "${WORKDIR}/git"
> +
> +do_install () {
> +#   Install the header files
> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +    install -d ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
> +    cp ${CP_ARGS} ${S}/iface/VSDK/* ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
> +    install -d ${D}/${base_libdir}/firmware
> +    install -m 0644 ${S}/firmware/tiovx_dsp1.xe66 ${D}/${base_libdir}/firmware/dra7-dsp1-fw.xe66.openvx
> +    install -m 0644 ${S}/firmware/tiovx_dsp2.xe66 ${D}/${base_libdir}/firmware/dra7-dsp2-fw.xe66.openvx
> +}
> +
> +FILES_${PN} += "${TIOVX_INSTALL_DIR_RECIPE}/sys-iface/* "
> +PACKAGES =+ "${PN}-firmware"
> +FILES_${PN}-firmware = "${base_libdir}/firmware/*"
> +
> +INSANE_SKIP_${PN}-firmware = "arch"
> +
> diff --git a/recipes-ti/tiovx/tiovx-sys.inc b/recipes-ti/tiovx/tiovx-sys.inc
> new file mode 100644
> index 0000000..61e6d8d
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-sys.inc
> @@ -0,0 +1,5 @@
> +PV = "01.00.00.00"
> +
> +BRANCH="master"
> +SRCREV = "b17cafb972fb3803794785f70a449e67bcf455a2"
> +SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx-app.git;protocol=ssh;branch=${BRANCH}"



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application
  2017-09-21 19:46 [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application Djordje Senicic
  2017-09-21 19:50 ` [EXTERNAL] " Jacob Stiffler
@ 2017-09-21 19:51 ` Denys Dmytriyenko
  1 sibling, 0 replies; 3+ messages in thread
From: Denys Dmytriyenko @ 2017-09-21 19:51 UTC (permalink / raw)
  To: Djordje Senicic; +Cc: meta-arago, d-senicic1

Is it going public?


On Thu, Sep 21, 2017 at 03:46:33PM -0400, Djordje Senicic wrote:
> * TIOVX is TI’s implementation of OpenVX Khronos Standard. TIOVX allows users to create vision and compute applications using OpenVX API and can be executed on TI SoCs. 
>   TIOVX also provides optimized OpenVX kernels for C66x DSP. An extension API allows users to integrate their own natively developed custom kernels and call them using OpenVX APIs.
> 
> * TIOVX-APP includes sample TIOVX applications, like conformance tests, IPC implementation and DSP firmware (includes kernels and DSP-side of TIOVX framework)
> 
> 
> Signed-off-by: Djordje Senicic <x0157990@ti.com>
> ---
>  ...agegroup-arago-tisdk-addons-sdk-target.bbappend |   6 +
>  .../packagegroup-arago-tisdk-addons.bbappend       |   2 +
>  recipes-ti/includes/ti-paths-append.inc            |   5 +
>  ...hs-for-Yocto-build-and-add-RTOS-build-var.patch | 133 +++++++++++++++++++++
>  recipes-ti/tiovx/tiovx-app-host.bb                 |  32 +++++
>  recipes-ti/tiovx/tiovx-lib-host.bb                 |  41 +++++++
>  recipes-ti/tiovx/tiovx-sys-iface.bb                |  32 +++++
>  recipes-ti/tiovx/tiovx-sys.inc                     |   5 +
>  8 files changed, 256 insertions(+)
>  create mode 100644 recipes-ti/includes/ti-paths-append.inc
>  create mode 100644 recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
>  create mode 100644 recipes-ti/tiovx/tiovx-app-host.bb
>  create mode 100644 recipes-ti/tiovx/tiovx-lib-host.bb
>  create mode 100644 recipes-ti/tiovx/tiovx-sys-iface.bb
>  create mode 100644 recipes-ti/tiovx/tiovx-sys.inc
> 
> diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> index aeabbc0..8de7992 100644
> --- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> +++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons-sdk-target.bbappend
> @@ -75,3 +75,9 @@ EXTRA_LIBS_append_ti43x = "\
>      cmem-dev \
>      cmem-staticdev \
>  "
> +
> +EXTRA_LIBS_append_dra7xx = " \
> +    tiovx-lib-host-dev \
> +    tiovx-lib-host-staticdev \
> +    tiovx-sys-iface \
> +"
> diff --git a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> index 91e92ff..30b6eb6 100644
> --- a/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> +++ b/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bbappend
> @@ -34,3 +34,5 @@ UTILS_append_k2g = " uio-test-pruss"
>  EXTRA_PACKAGES_append_omap-a15 = " big-data-ipc-demo-linux \
>                                     big-data-ipc-demo-linux-firmware \
>  "
> +
> +EXTRA_PACKAGES_append_dra7xx = " tiovx-app-host "
> diff --git a/recipes-ti/includes/ti-paths-append.inc b/recipes-ti/includes/ti-paths-append.inc
> new file mode 100644
> index 0000000..48f8a9c
> --- /dev/null
> +++ b/recipes-ti/includes/ti-paths-append.inc
> @@ -0,0 +1,5 @@
> +require recipes-ti/includes/tisdk-paths.inc
> +
> +export TIOVX_INSTALL_DIR_RECIPE      = "${installdir}/ti-tiovx-lib-tree"
> +export TIOVX_INSTALL_DIR      = "${STAGING_DIR_TARGET}${TIOVX_INSTALL_DIR_RECIPE}"
> +
> diff --git a/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
> new file mode 100644
> index 0000000..1e667b8
> --- /dev/null
> +++ b/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch
> @@ -0,0 +1,133 @@
> +From 32bd788608034f5a49d9cd4a0163190ef666d9a2 Mon Sep 17 00:00:00 2001
> +From: Djordje Senicic <d-senicic1@ti.com>
> +Date: Mon, 14 Aug 2017 10:26:39 -0400
> +Subject: [PATCH] Fix paths for Yocto build and add RTOS build var
> +
> +Signed-off-by: Djordje Senicic <d-senicic1@ti.com>
> +---
> + Makefile            | 27 +++++++++++++++++++--------
> + psdk_tools_path.mak | 32 ++++++++++++++------------------
> + 2 files changed, 33 insertions(+), 26 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 0832e07..1be5b0d 100755
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -1,6 +1,6 @@
> + 
> + # Valid values are: vsdk psdk
> +-BUILD_SDK=vsdk
> ++BUILD_SDK=psdk
> + 
> + include $(BUILD_SDK)_tools_path.mak
> + 
> +@@ -8,11 +8,12 @@ BUILD_EMULATION_MODE?=no
> + BUILD_TARGET_MODE?=yes
> + 
> + BUILD_CONFORMANCE_TEST?=yes
> +-BUILD_IVISION_KERNELS?=yes
> ++BUILD_IVISION_KERNELS?=no
> + BUILD_BAM?=yes
> + BUILD_TUTORIAL?=yes
> + BUILD_LINUX_A15?=yes
> +-BUILD_EVE?=yes
> ++BUILD_RTOS?=no
> ++BUILD_EVE?=no
> + 
> + PROFILE?=all
> + 
> +@@ -43,12 +44,17 @@ TARGET_COMBOS :=
> + 
> + ifeq ($(BUILD_TARGET_MODE),yes)
> +   ifeq ($(PROFILE), $(filter $(PROFILE), debug all))
> +-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
> +-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:debug:TIARMCGT
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:debug:CGT6X
> ++	endif
> ++
> + 	ifeq ($(BUILD_EVE),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:debug:ARP32CGT
> + 	endif
> ++	ifeq ($(BUILD_RTOS),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:debug:GCC
> ++	endif
> + 	ifneq ($(OS),Windows_NT)
> + 		ifeq ($(BUILD_LINUX_A15),yes)
> + 		TARGET_COMBOS += TDAX:LINUX:A15:1:debug:GCC_LINARO
> +@@ -57,12 +63,17 @@ ifeq ($(BUILD_TARGET_MODE),yes)
> +   endif
> + 
> +   ifeq ($(PROFILE), $(filter $(PROFILE), release all))
> +-	TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
> +-	TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:M4:1:release:TIARMCGT
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:C66:1:release:CGT6X
> ++	endif
> ++
> + 	ifeq ($(BUILD_EVE),yes)
> + 	TARGET_COMBOS += TDAX:SYSBIOS:EVE:1:release:ARP32CGT
> + 	endif
> +-	TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
> ++	ifeq ($(BUILD_RTOS),yes)
> ++	  TARGET_COMBOS += TDAX:SYSBIOS:A15:1:release:GCC
> ++	endif
> + 	ifneq ($(OS),Windows_NT)
> + 		ifeq ($(BUILD_LINUX_A15),yes)
> + 		TARGET_COMBOS += TDAX:LINUX:A15:1:release:GCC_LINARO
> +diff --git a/psdk_tools_path.mak b/psdk_tools_path.mak
> +index 36394f8..8fd468d 100755
> +--- a/psdk_tools_path.mak
> ++++ b/psdk_tools_path.mak
> +@@ -2,7 +2,6 @@
> + TIOVX_PATH = $(abspath .)
> + 
> + PLSDK_PATH := /home/x0157990/ti-processor-sdk-linux-am57xx-evm-04.00.00.04
> +-PRSDK_PATH := /home/x0157990/ti-processor-sdk-rtos-am57xx-evm-04-00-00-04
> + 
> + CROSS_COMPILE_LINARO := arm-linux-gnueabihf-
> + CROSS_COMPILE := arm-none-eabi-
> +@@ -16,23 +15,20 @@ ifeq ($(BUILD_OS),Windows_NT)
> + GCC_WINDOWS_ROOT ?= C:/CodeBlocks/MinGW
> + endif
> + 
> +-XDC_PATH := $(PRSDK_PATH)/xdctools_3_32_01_22_core/
> +-TIARMCGT_ROOT := $(PRSDK_PATH)/ti-cgt-arm_16.9.2.LTS
> ++XDC_PATH := $(XDC_INSTALL_DIR)
> ++TIARMCGT_ROOT :=  $(TIARMCGTPATH)
> ++GCC_ROOT_LINARO := $(GCCLINARO)
> ++XDIAS_PATH := $(XDAISPATH)
> ++BIOS_PATH := $(SYSBIOSPATH)
> ++PDK_PATH := $(PDKPATH)
> ++SDK_PLATFORM_IF_PATH := $(SDKPLATFORMIFPATH)
> + 
> +-GCC_ROOT := $(PRSDK_PATH)/gcc-arm-none-eabi-4_9-2015q3
> +-GCC_ROOT_LINARO := /home/x0157990/linaro/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
> +-CGT6X_ROOT := $(PRSDK_PATH)/ti-cgt-c6000_8.1.3/
> ++GCC_ROOT ?= $(GCCARMNONEPATH)
> ++CGT6X_ROOT := $(TI_CGT_INSTALL)
> + GCC_LINUX_ROOT ?= /usr/
> ++VXLIB_PATH ?= $(VXLIBPATH)
> ++ARP32CGT_ROOT ?= $(EVETOOLSPATH}
> ++DMAUTILS_PATH ?= $(DSPAPPS_PATH)/dmautils
> ++ALGFRAMEWORK_PATH ?= $(DSPAPPS_PATH)/algframework
> ++EDMA3_LLD_PATH := $(EDMA3LLDPATH)
> + 
> +-
> +-VXLIB_PATH ?= $(PRSDK_PATH)/vxlib_c66x_1_1_0_0
> +-XDIAS_PATH := $(PRSDK_PATH)/xdais_7_24_00_04
> +-EDMA3_LLD_PATH := $(PRSDK_PATH)/edma3_lld_2_12_04_28/
> +-BIOS_PATH := $(PRSDK_PATH)/bios_6_46_05_55/
> +-
> +-DMAUTILS_PATH ?= $(PRSDK_PATH)/REL.DMAUTILS.00.08.00.02/dmautils
> +-ALGFRAMEWORK_PATH ?= $(PRSDK_PATH)/REL.ALGFRAMEWORK.02.07.00.00/algframework
> +-PDK_PATH := $(PRSDK_PATH)/pdk_am57xx_1_0_7
> +-CMEM_PATH ?= $(PLSDK_INSTALL_PATH)/board-support/extra-drivers/cmem-mod-4.14.00.00+gitAUTOINC+b514a99ac4/
> +-TARGETFS := $(PLSDK_PATH)/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/
> +-SDK_PLATFORM_IF_PATH ?= /home/x0157990/am57/openvx/ex41_forwardmsg/vx
> +\ No newline at end of file
> +-- 
> +1.9.1
> +
> diff --git a/recipes-ti/tiovx/tiovx-app-host.bb b/recipes-ti/tiovx/tiovx-app-host.bb
> new file mode 100644
> index 0000000..38d6f3f
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-app-host.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "TI OpenVX HOST (Linux A15) conformance verification application, and Host side IPC implementation "
> +DESCRIPTION = "TI OpenVX implementation, TIOVX, includes Khronos defined conformance test as well as additional TI specific tests. This package creates application which runs all the tests (7K-8K). Same package includes IPC implementation (MessageQ based) needed for communication with DSP firmware (loaded at boot time) "
> +
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX-APP-HOST_1.0.0.0_manifest.html;md5=de53bc8bf67ffa9a316fe48e3bacbf6d"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +require tiovx-sys.inc
> +
> +DEPENDS = " tiovx-sys-iface tiovx-lib-host ti-ipc cmem "
> +
> +PR = "r2"
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +PROCLIST = "host"
> +
> +S = "${WORKDIR}/git"
> +
> +EXTRA_OEMAKE += " TARGET_ROOTDIR=${STAGING_DIR_HOST} "
> +EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} TIOVXPATH=${TIOVX_INSTALL_DIR} IPCPATH=${IPC_INSTALL_DIR} "
> +EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface "
> +EXTRA_OEMAKE += " PROC_LIST=${PROCLIST} "
> +
> +do_install () {
> +    install -d ${D}${bindir}/
> +    install -m 0755 ${S}/host/bin/debug/app_host ${D}${bindir}/tiovx-app_host
> +}
> +
> +FILES_${PN} += "${bindir}/*"
> +INSANE_SKIP_${PN} = "ldflags"
> diff --git a/recipes-ti/tiovx/tiovx-lib-host.bb b/recipes-ti/tiovx/tiovx-lib-host.bb
> new file mode 100644
> index 0000000..17af8b0
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-lib-host.bb
> @@ -0,0 +1,41 @@
> +SUMMARY = "TI OpenVX HOST (Linux A15) side library"
> +DESCRIPTION = "TI OpenVX implementation, TIOVX, based on Khronos OpenVX framework implementation including multiple C66 optimized kernels. Khronos defined conformance test is part of this package as well as additional TI specific tests. Few tutorial examples are also included. This package creates necessary libraries and header files for Linux Host side only. "
> +
> +LICENSE = "TI-TSPA"
> +LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX_manifest.html;md5=edd4fbfc6c1f01c20d49def4670efac0"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +PV = "01.00.00.00"
> +PR = "r1"
> +
> +BRANCH = "master"
> +SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx.git;protocol=ssh;branch=${BRANCH}"
> +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch "
> +SRCREV = "ea5da232c371cfb4c081fb9c614e3ce7c022b512"
> +
> +
> +S = "${WORKDIR}/git"
> +
> +DEPENDS = " tiovx-sys-iface "
> +
> +EXTRA_OEMAKE += " GCCLINARO=${TOOLCHAIN_PATH} "
> +EXTRA_OEMAKE += " SDKPLATFORMIFPATH=${TIOVX_INSTALL_DIR}/sys-iface BUILD_RTOS=no "
> +
> +do_install () {
> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +    install -d ${D}${includedir}/VX
> +    install -d ${D}${includedir}/VX/TI
> +    install -d ${D}${libdir}
> +    cp ${CP_ARGS} ${S}/lib/TDAX/A15/LINUX/release/*.a ${D}${libdir}
> +    cp ${CP_ARGS} ${S}/include/VX/* ${D}${includedir}/VX
> +    cp ${CP_ARGS} ${S}/include/TI/* ${D}${includedir}/VX/TI
> +}
> +
> +FILES_${PN}-staticdev = "${libdir}"
> +FILES_${PN}-dev = "${includedir}"
> +
> +ALLOW_EMPTY_${PN} = "1"
> diff --git a/recipes-ti/tiovx/tiovx-sys-iface.bb b/recipes-ti/tiovx/tiovx-sys-iface.bb
> new file mode 100644
> index 0000000..f4728d9
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-sys-iface.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "TI OpenVX interface header files between TIOVX library and HOST, DSP IPC side implementation "
> +DESCRIPTION = "Collection of header files needed to defined interface between TIOVX library and HOST and DSP IPC side implementation. In order to maintain source compatibility, directory structure follows VSDK source tree layout."
> +
> +LICENSE = "TI-TSPA"
> +LIC_FILES_CHKSUM = "file://iface/VSDK/docs/TIOVX-SYS-IFACE_1.0.0.0_manifest.html;md5=10904cbdb4f065c025a63ca71ae7de2d"
> +
> +require recipes-ti/includes/ti-paths-append.inc
> +require tiovx-sys.inc
> +
> +PR = "r1"
> +
> +COMPATIBLE_MACHINE = "dra7xx"
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +S = "${WORKDIR}/git"
> +
> +do_install () {
> +#   Install the header files
> +    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +    install -d ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
> +    cp ${CP_ARGS} ${S}/iface/VSDK/* ${D}${TIOVX_INSTALL_DIR_RECIPE}/sys-iface
> +    install -d ${D}/${base_libdir}/firmware
> +    install -m 0644 ${S}/firmware/tiovx_dsp1.xe66 ${D}/${base_libdir}/firmware/dra7-dsp1-fw.xe66.openvx
> +    install -m 0644 ${S}/firmware/tiovx_dsp2.xe66 ${D}/${base_libdir}/firmware/dra7-dsp2-fw.xe66.openvx
> +}
> +
> +FILES_${PN} += "${TIOVX_INSTALL_DIR_RECIPE}/sys-iface/* "
> +PACKAGES =+ "${PN}-firmware"
> +FILES_${PN}-firmware = "${base_libdir}/firmware/*"
> +
> +INSANE_SKIP_${PN}-firmware = "arch"
> +
> diff --git a/recipes-ti/tiovx/tiovx-sys.inc b/recipes-ti/tiovx/tiovx-sys.inc
> new file mode 100644
> index 0000000..61e6d8d
> --- /dev/null
> +++ b/recipes-ti/tiovx/tiovx-sys.inc
> @@ -0,0 +1,5 @@
> +PV = "01.00.00.00"
> +
> +BRANCH="master"
> +SRCREV = "b17cafb972fb3803794785f70a449e67bcf455a2"
> +SRC_URI = "git://git@bitbucket.itg.ti.com/processor-sdk/tiovx-app.git;protocol=ssh;branch=${BRANCH}"
> -- 
> 1.9.1
> 
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-21 19:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-21 19:46 [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application Djordje Senicic
2017-09-21 19:50 ` [EXTERNAL] " Jacob Stiffler
2017-09-21 19:51 ` Denys Dmytriyenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.