From: Denys Dmytriyenko <denys@ti.com>
To: Djordje Senicic <x0157990@ti.com>
Cc: meta-arago@arago-project.org, d-senicic1@ti.com
Subject: Re: [meta-processor-sdk][PATCH] tiovx: Add TIOVX framework host side package, IPC implementation and sample application
Date: Thu, 21 Sep 2017 15:51:23 -0400 [thread overview]
Message-ID: <20170921195123.GI26843@edge> (raw)
In-Reply-To: <1506023193-16873-1-git-send-email-x0157990@ti.com>
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
prev parent reply other threads:[~2017-09-21 19:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170921195123.GI26843@edge \
--to=denys@ti.com \
--cc=d-senicic1@ti.com \
--cc=meta-arago@arago-project.org \
--cc=x0157990@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.