* [master/thud/ti2019.03 1/4] tiovx-sys-iface: add interface header files between TIOVX library and IPC implementation @ 2019-09-23 19:21 Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side Hongmei Gou ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Hongmei Gou @ 2019-09-23 19:21 UTC (permalink / raw) To: meta-arago; +Cc: Hongmei Gou, d-senicic1, Djordje Senicic * Use update-alternatives for the firmware * Add reload-dsp-fw.sh to enable run-time firmware switch between opencl and tiovx Signed-off-by: Djordje Senicic <x0157990@ti.com> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> Signed-off-by: Hongmei Gou <a0271529@ti.com> --- .../recipes-ti/tiovx/files/reload-dsp-fw.sh | 66 +++++++++++++++++++ .../recipes-ti/tiovx/tiovx-sys-iface.bb | 49 ++++++++++++++ .../recipes-ti/tiovx/tiovx-sys.inc | 5 ++ 3 files changed, 120 insertions(+) create mode 100755 meta-arago-extras/recipes-ti/tiovx/files/reload-dsp-fw.sh create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-sys-iface.bb create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-sys.inc diff --git a/meta-arago-extras/recipes-ti/tiovx/files/reload-dsp-fw.sh b/meta-arago-extras/recipes-ti/tiovx/files/reload-dsp-fw.sh new file mode 100755 index 00000000..198fd60f --- /dev/null +++ b/meta-arago-extras/recipes-ti/tiovx/files/reload-dsp-fw.sh @@ -0,0 +1,66 @@ +#!/bin/sh +usage() { + cat << EOF + + Usage: + $0 <fw-type: opencl, tiovx> + +EOF +} + +if [ "$1" ]; then +case "$1" in + opencl) echo "Reload opencl firmware to DSP" + ;; + tiovx) echo "Reload tiovx firmware to DSP" + ;; + *) echo "Wrong argument $1" + usage + exit + ;; +esac +else + usage + exit +fi + +fw="${1}" + +if [[ ${fw} == opencl ]]; then + #Start OpenCL CMEM memory allocation daemon + if pgrep -x "ti-mctd" > /dev/null + then + echo "ti-mctd is running" + else + echo "Starting ti-mctd..." + ti-mctd + fi + # Link opencl monitor firmware for DSPs + ln -s -f /lib/firmware/dra7-dsp1-fw.xe66.opencl-monitor /lib/firmware/dra7-dsp1-fw.xe66 + ln -s -f /lib/firmware/dra7-dsp2-fw.xe66.opencl-monitor /lib/firmware/dra7-dsp2-fw.xe66 +fi + +if [[ ${fw} == tiovx ]]; then + # Kill CMEM multi-process daemon. This releases all CMEM memory used by OpenCL memory allocation + pkill ti-mctd + + # Link tiovx firmware for DSPs + ln -s -f /lib/firmware/dra7-dsp1-fw.xe66.openvx /lib/firmware/dra7-dsp1-fw.xe66 + ln -s -f /lib/firmware/dra7-dsp2-fw.xe66.openvx /lib/firmware/dra7-dsp2-fw.xe66 +fi + +cd /sys/bus/platform/drivers/omap-rproc/ + +# release DSPs +echo "Releasing DSPs..." +echo 40800000.dsp > unbind + +echo 41000000.dsp > unbind + +# reload firmware for DSPs +echo "Reloading firmware for DSPs..." +echo 40800000.dsp > bind + +echo 41000000.dsp > bind + +cd ~- diff --git a/meta-arago-extras/recipes-ti/tiovx/tiovx-sys-iface.bb b/meta-arago-extras/recipes-ti/tiovx/tiovx-sys-iface.bb new file mode 100644 index 00000000..84d2934b --- /dev/null +++ b/meta-arago-extras/recipes-ti/tiovx/tiovx-sys-iface.bb @@ -0,0 +1,49 @@ +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/tisdk-paths.inc +require tiovx-sys.inc + +PR = "r1" + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit update-alternatives + +SRC_URI_append += "\ + file://reload-dsp-fw.sh \ +" + +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 the firmware + 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 +# Install the scripts for loading dsp firmware + install -d ${D}${bindir}/ + install -m 0755 ${WORKDIR}/reload-dsp-fw.sh ${D}${bindir} +} + +ALTERNATIVE_${PN} = "dra7-dsp1-fw.xe66 dra7-dsp2-fw.xe66" +ALTERNATIVE_LINK_NAME[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/dra7-dsp1-fw.xe66" +ALTERNATIVE_TARGET[dra7-dsp1-fw.xe66] = "${base_libdir}/firmware/dra7-dsp1-fw.xe66.openvx" +ALTERNATIVE_LINK_NAME[dra7-dsp2-fw.xe66] = "${base_libdir}/firmware/dra7-dsp2-fw.xe66" +ALTERNATIVE_TARGET[dra7-dsp2-fw.xe66] = "${base_libdir}/firmware/dra7-dsp2-fw.xe66.openvx" +ALTERNATIVE_PRIORITY = "20" + +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/meta-arago-extras/recipes-ti/tiovx/tiovx-sys.inc b/meta-arago-extras/recipes-ti/tiovx/tiovx-sys.inc new file mode 100644 index 00000000..becf0cc1 --- /dev/null +++ b/meta-arago-extras/recipes-ti/tiovx/tiovx-sys.inc @@ -0,0 +1,5 @@ +PV = "01.00.01.00" + +BRANCH="master" +SRCREV = "5be60aee8d013907a4d8a6cc8af35a517a33b49e" +SRC_URI = "git://git.ti.com/processor-sdk/tiovx-app.git;protocol=git;branch=${BRANCH}" -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side 2019-09-23 19:21 [master/thud/ti2019.03 1/4] tiovx-sys-iface: add interface header files between TIOVX library and IPC implementation Hongmei Gou @ 2019-09-23 19:21 ` Hongmei Gou 2019-10-01 20:03 ` Denys Dmytriyenko 2019-09-23 19:21 ` [master/thud/ti2019.03 3/4] tiovx-app-host: TI OpenVX IPC HOST implementation and sample applications Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 4/4] ti-tisdk-makefile: include source for tiovx-app-host and add it to the top-level makefile Hongmei Gou 2 siblings, 1 reply; 7+ messages in thread From: Hongmei Gou @ 2019-09-23 19:21 UTC (permalink / raw) To: meta-arago; +Cc: Hongmei Gou, d-senicic1, Djordje Senicic Signed-off-by: Djordje Senicic <x0157990@ti.com> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> Signed-off-by: Hongmei Gou <a0271529@ti.com> --- ...r-Yocto-build-and-add-RTOS-build-var.patch | 133 ++++++++++++++++++ .../recipes-ti/tiovx/tiovx-lib-host.bb | 41 ++++++ 2 files changed, 174 insertions(+) create mode 100644 meta-arago-extras/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb diff --git a/meta-arago-extras/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch b/meta-arago-extras/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch new file mode 100644 index 00000000..1e667b87 --- /dev/null +++ b/meta-arago-extras/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/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb b/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb new file mode 100644 index 00000000..6115b195 --- /dev/null +++ b/meta-arago-extras/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/tisdk-paths.inc + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PV = "01.00.00.00" +PR = "r1" + +BRANCH = "master" +SRC_URI = "git://git.ti.com/processor-sdk/tiovx.git;protocol=git;branch=${BRANCH}" +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch " +SRCREV = "2bfa01201804eaf2e675c743e708e88ab612049e" + + +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" -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side 2019-09-23 19:21 ` [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side Hongmei Gou @ 2019-10-01 20:03 ` Denys Dmytriyenko 2019-10-07 20:19 ` Denys Dmytriyenko 0 siblings, 1 reply; 7+ messages in thread From: Denys Dmytriyenko @ 2019-10-01 20:03 UTC (permalink / raw) To: Hongmei Gou; +Cc: meta-arago, d-senicic1, Djordje Senicic On Mon, Sep 23, 2019 at 03:21:19PM -0400, Hongmei Gou wrote: > Signed-off-by: Djordje Senicic <x0157990@ti.com> > Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> > Signed-off-by: Hongmei Gou <a0271529@ti.com> > --- > ...r-Yocto-build-and-add-RTOS-build-var.patch | 133 ++++++++++++++++++ > .../recipes-ti/tiovx/tiovx-lib-host.bb | 41 ++++++ > 2 files changed, 174 insertions(+) > create mode 100644 meta-arago-extras/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch > create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb [...] > diff --git a/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb b/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb > new file mode 100644 > index 00000000..6115b195 > --- /dev/null > +++ b/meta-arago-extras/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/tisdk-paths.inc ERROR: ParseError at .../meta-arago/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb:7: Could not include required file recipes-ti/includes/tisdk-paths.inc > + > +COMPATIBLE_MACHINE = "dra7xx" > +PACKAGE_ARCH = "${MACHINE_ARCH}" > + > +PV = "01.00.00.00" > +PR = "r1" > + > +BRANCH = "master" > +SRC_URI = "git://git.ti.com/processor-sdk/tiovx.git;protocol=git;branch=${BRANCH}" > +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch " > +SRCREV = "2bfa01201804eaf2e675c743e708e88ab612049e" > + > + > +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" > -- > 2.17.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] 7+ messages in thread
* Re: [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side 2019-10-01 20:03 ` Denys Dmytriyenko @ 2019-10-07 20:19 ` Denys Dmytriyenko 2019-10-07 22:34 ` Gou, Hongmei 0 siblings, 1 reply; 7+ messages in thread From: Denys Dmytriyenko @ 2019-10-07 20:19 UTC (permalink / raw) To: Hongmei Gou; +Cc: meta-arago, d-senicic1, Djordje Senicic Ping? On Tue, Oct 01, 2019 at 04:03:49PM -0400, Denys Dmytriyenko wrote: > On Mon, Sep 23, 2019 at 03:21:19PM -0400, Hongmei Gou wrote: > > Signed-off-by: Djordje Senicic <x0157990@ti.com> > > Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> > > Signed-off-by: Hongmei Gou <a0271529@ti.com> > > --- > > ...r-Yocto-build-and-add-RTOS-build-var.patch | 133 ++++++++++++++++++ > > .../recipes-ti/tiovx/tiovx-lib-host.bb | 41 ++++++ > > 2 files changed, 174 insertions(+) > > create mode 100644 meta-arago-extras/recipes-ti/tiovx/files/0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch > > create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb > > [...] > > > > diff --git a/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb b/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb > > new file mode 100644 > > index 00000000..6115b195 > > --- /dev/null > > +++ b/meta-arago-extras/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/tisdk-paths.inc > > ERROR: ParseError at .../meta-arago/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb:7: Could not include required file recipes-ti/includes/tisdk-paths.inc > > > > + > > +COMPATIBLE_MACHINE = "dra7xx" > > +PACKAGE_ARCH = "${MACHINE_ARCH}" > > + > > +PV = "01.00.00.00" > > +PR = "r1" > > + > > +BRANCH = "master" > > +SRC_URI = "git://git.ti.com/processor-sdk/tiovx.git;protocol=git;branch=${BRANCH}" > > +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build-var.patch " > > +SRCREV = "2bfa01201804eaf2e675c743e708e88ab612049e" > > + > > + > > +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" > > -- > > 2.17.1 > > > > _______________________________________________ > > meta-arago mailing list > > meta-arago@arago-project.org > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago > _______________________________________________ > meta-arago mailing list > meta-arago@arago-project.org > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side 2019-10-07 20:19 ` Denys Dmytriyenko @ 2019-10-07 22:34 ` Gou, Hongmei 0 siblings, 0 replies; 7+ messages in thread From: Gou, Hongmei @ 2019-10-07 22:34 UTC (permalink / raw) To: Dmytriyenko, Denys; +Cc: meta-arago, Senicic, Djordje v2 is now submitted for the first 3 patches of the patch set. > -----Original Message----- > From: Dmytriyenko, Denys > Sent: Monday, October 07, 2019 4:20 PM > To: Gou, Hongmei > Cc: meta-arago@arago-project.org; Senicic, Djordje; Senicic, Djordje > Subject: Re: [meta-arago] [master/thud/ti2019.03 2/4] tiovx-lib-host: add > recipe for TI OpenVX library, host side > > Ping? > > On Tue, Oct 01, 2019 at 04:03:49PM -0400, Denys Dmytriyenko wrote: > > On Mon, Sep 23, 2019 at 03:21:19PM -0400, Hongmei Gou wrote: > > > Signed-off-by: Djordje Senicic <x0157990@ti.com> > > > Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> > > > Signed-off-by: Hongmei Gou <a0271529@ti.com> > > > --- > > > ...r-Yocto-build-and-add-RTOS-build-var.patch | 133 > ++++++++++++++++++ > > > .../recipes-ti/tiovx/tiovx-lib-host.bb | 41 ++++++ > > > 2 files changed, 174 insertions(+) > > > create mode 100644 meta-arago-extras/recipes-ti/tiovx/files/0001-Fix- > paths-for-Yocto-build-and-add-RTOS-build-var.patch > > > create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-lib- > host.bb > > > > [...] > > > > > > > diff --git a/meta-arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb b/meta- > arago-extras/recipes-ti/tiovx/tiovx-lib-host.bb > > > new file mode 100644 > > > index 00000000..6115b195 > > > --- /dev/null > > > +++ b/meta-arago-extras/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=edd4fbfc6c1f01c20d49def4 > 670efac0" > > > + > > > +require recipes-ti/includes/tisdk-paths.inc > > > > ERROR: ParseError at .../meta-arago/meta-arago-extras/recipes- > ti/tiovx/tiovx-lib-host.bb:7: Could not include required file recipes- > ti/includes/tisdk-paths.inc > > > > > > > + > > > +COMPATIBLE_MACHINE = "dra7xx" > > > +PACKAGE_ARCH = "${MACHINE_ARCH}" > > > + > > > +PV = "01.00.00.00" > > > +PR = "r1" > > > + > > > +BRANCH = "master" > > > +SRC_URI = "git://git.ti.com/processor- > sdk/tiovx.git;protocol=git;branch=${BRANCH}" > > > +SRC_URI += "file://0001-Fix-paths-for-Yocto-build-and-add-RTOS-build- > var.patch " > > > +SRCREV = "2bfa01201804eaf2e675c743e708e88ab612049e" > > > + > > > + > > > +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" > > > -- > > > 2.17.1 > > > > > > _______________________________________________ > > > meta-arago mailing list > > > meta-arago@arago-project.org > > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago > > _______________________________________________ > > meta-arago mailing list > > meta-arago@arago-project.org > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago ^ permalink raw reply [flat|nested] 7+ messages in thread
* [master/thud/ti2019.03 3/4] tiovx-app-host: TI OpenVX IPC HOST implementation and sample applications 2019-09-23 19:21 [master/thud/ti2019.03 1/4] tiovx-sys-iface: add interface header files between TIOVX library and IPC implementation Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side Hongmei Gou @ 2019-09-23 19:21 ` Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 4/4] ti-tisdk-makefile: include source for tiovx-app-host and add it to the top-level makefile Hongmei Gou 2 siblings, 0 replies; 7+ messages in thread From: Hongmei Gou @ 2019-09-23 19:21 UTC (permalink / raw) To: meta-arago; +Cc: Hongmei Gou, d-senicic1, Djordje Senicic * The sample applications include running OpenVX conformance tests as well as a Khronos tutorial example Signed-off-by: Djordje Senicic <x0157990@ti.com> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> Signed-off-by: Hongmei Gou <a0271529@ti.com> --- .../recipes-ti/tiovx/files/setenv.sh | 8 +++ .../recipes-ti/tiovx/tiovx-app-host.bb | 56 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 meta-arago-extras/recipes-ti/tiovx/files/setenv.sh create mode 100644 meta-arago-extras/recipes-ti/tiovx/tiovx-app-host.bb diff --git a/meta-arago-extras/recipes-ti/tiovx/files/setenv.sh b/meta-arago-extras/recipes-ti/tiovx/files/setenv.sh new file mode 100644 index 00000000..dc7bcea3 --- /dev/null +++ b/meta-arago-extras/recipes-ti/tiovx/files/setenv.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export PROC_LIST='host khronos_example' + +export LINUX_SYSROOT_DIR=/ +export TIOVXPATH=/usr/include/VX +export IPCPATH=/usr/share/ti/ti-ipc-tree +export SDKPLATFORMIFPATH=/usr/share/ti/ti-tiovx-lib-tree/sys-iface diff --git a/meta-arago-extras/recipes-ti/tiovx/tiovx-app-host.bb b/meta-arago-extras/recipes-ti/tiovx/tiovx-app-host.bb new file mode 100644 index 00000000..91286dc7 --- /dev/null +++ b/meta-arago-extras/recipes-ti/tiovx/tiovx-app-host.bb @@ -0,0 +1,56 @@ +SUMMARY = "TI OpenVX HOST (Linux A15) conformance verification application, Khronos tutorial example, and Host side IPC implementation " +DESCRIPTION = "TI OpenVX implementation, TIOVX, includes Khronos defined conformance test and tutorial example, as well as additional TI specific tests. This package creates application which runs all the conformance tests (7K-8K) and Khronos tutorial exercise1. Same package includes IPC implementation (MessageQ based) needed for communication with DSP firmware (loaded at boot time) " + +LICENSE = "BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "file://docs/manifest/TIOVX-APP-HOST_01.00.01.00_manifest.html;md5=247d7c56d783f583bf802490d5c93db3" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append += "\ + file://setenv.sh \ +" + +inherit pkgconfig + +require recipes-ti/includes/tisdk-paths.inc +require tiovx-sys.inc + +DEPENDS = " tiovx-sys-iface tiovx-lib-host ti-ipc cmem opencv udev" +RDEPENDS_${PN} = " tiovx-sys-iface tiovx-sys-iface-firmware tiovx-lib-host ti-ipc cmem" + +PR = "r3" + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PROCLIST = "host khronos_example" + +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 + install -m 0755 ${S}/khronos_example/bin/debug/opticalflow ${D}${bindir}/tiovx-opticalflow + + oe_runmake clean + install -d ${D}${datadir}/ti/examples/openvx + install -m 644 ${S}/products.mak ${D}${datadir}/ti/examples/openvx + install -m 644 ${S}/makefile ${D}${datadir}/ti/examples/openvx + install -m 644 ${WORKDIR}/setenv.sh ${D}${datadir}/ti/examples/openvx + cp -r ${S}/host ${D}${datadir}/ti/examples/openvx + cp -r ${S}/khronos_example ${D}${datadir}/ti/examples/openvx + cp -r ${S}/shared ${D}${datadir}/ti/examples/openvx +} + +PACKAGES += "${PN}-examples" +FILES_${PN}-examples = "${datadir}/ti/examples/openvx" +RDEPENDS_${PN}-examples = "tiovx-lib-host-staticdev tiovx-lib-host-dev" + +FILES_${PN} += "${bindir}/*" +INSANE_SKIP_${PN} = "ldflags" +INSANE_SKIP_${PN}-examples = "dev-deps" -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [master/thud/ti2019.03 4/4] ti-tisdk-makefile: include source for tiovx-app-host and add it to the top-level makefile 2019-09-23 19:21 [master/thud/ti2019.03 1/4] tiovx-sys-iface: add interface header files between TIOVX library and IPC implementation Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 3/4] tiovx-app-host: TI OpenVX IPC HOST implementation and sample applications Hongmei Gou @ 2019-09-23 19:21 ` Hongmei Gou 2 siblings, 0 replies; 7+ messages in thread From: Hongmei Gou @ 2019-09-23 19:21 UTC (permalink / raw) To: meta-arago; +Cc: Hongmei Gou, d-senicic1 Signed-off-by: Hongmei Gou <a0271529@ti.com> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> --- .../conf/distro/include/arago-source-ipk.inc | 3 ++ .../ti-tisdk-makefile/Makefile_tiovx-app-host | 34 +++++++++++++++++++ .../ti-tisdk-makefile_1.0.bb | 4 ++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile/Makefile_tiovx-app-host diff --git a/meta-arago-distro/conf/distro/include/arago-source-ipk.inc b/meta-arago-distro/conf/distro/include/arago-source-ipk.inc index 6e56c771..aa9638f8 100644 --- a/meta-arago-distro/conf/distro/include/arago-source-ipk.inc +++ b/meta-arago-distro/conf/distro/include/arago-source-ipk.inc @@ -79,6 +79,9 @@ SRCIPK_INSTALL_DIR_pn-mmwavegesture-hmi = "example-applications/${PN}-${PV}" CREATE_SRCIPK_pn-pdm-anomaly-detection = "1" SRCIPK_INSTALL_DIR_pn-pdm-anomaly-detection = "example-applications/${PN}-${PV}" +CREATE_SRCIPK_pn-tiovx-app-host = "1" +SRCIPK_INSTALL_DIR_pn-tiovx-app-host = "example-applications/${PN}-${PV}" + CREATE_SRCIPK_pn-image-gallery = "1" SRCIPK_INSTALL_DIR_pn-image-gallery = "example-applications/${PN}" diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile/Makefile_tiovx-app-host b/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile/Makefile_tiovx-app-host new file mode 100644 index 00000000..f25472d3 --- /dev/null +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile/Makefile_tiovx-app-host @@ -0,0 +1,34 @@ +# tiovx-app-host build targets +tiovx-app-host: + @echo ===================================== + @echo Building TIOVX Host Application + @echo ===================================== + @cd example-applications; cd `find . -name "*tiovx-app-host*"`; . $(ENV_SETUP); make \ + TARGET_ROOTDIR=$(SDK_PATH_TARGET) \ + GCCLINARO=$(LINUX_DEVKIT_PATH)/sysroots/x86_64-arago-linux/usr \ + TIOVXPATH=$(SDK_PATH_TARGET)/usr/include/VX \ + IPCPATH=$(SDK_PATH_TARGET)/usr/share/ti/ti-ipc-tree \ + SDKPLATFORMIFPATH=$(SDK_PATH_TARGET)/usr/share/ti/ti-tiovx-lib-tree/sys-iface \ + PROC_LIST='host khronos_example' + +tiovx-app-host_install: + @echo ======================================= + @echo Installing TIOVX Host Application + @echo ======================================= + @if [ ! -d $(DESTDIR) ] ; then \ + echo "The extracted target filesystem directory doesn't exist."; \ + echo "Please run setup.sh in the SDK's root directory and then try again."; \ + exit 1; \ + fi + @cd example-applications; \ + cd `find . -name "*tiovx-app-host*"`; \ + install -m 0755 host/bin/debug/app_host $(DESTDIR)/usr/bin/tiovx-app_host; \ + install -m 0755 khronos_example/bin/debug/opticalflow $(DESTDIR)/usr/bin/tiovx-opticalflow + +tiovx-app-host_clean: + @echo ======================================= + @echo Cleaning TIOVX Host Application + @echo ======================================= + @cd example-applications; cd `find . -name "*tiovx-app-host*"`; . $(ENV_SETUP); \ + make PROC_LIST='host khronos_example' clean + diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile_1.0.bb b/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile_1.0.bb index 417b28b6..80ec54ea 100644 --- a/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile_1.0.bb +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-makefile/ti-tisdk-makefile_1.0.bb @@ -51,11 +51,12 @@ SRC_URI = "\ file://Makefile_sysfw-image \ file://Makefile_mmwavegesture-hmi \ file://Makefile_pdm-anomaly-detection \ + file://Makefile_tiovx-app-host \ file://Makefile_ti-ipc \ file://Makefile_jailhouse \ " -PR = "r101" +PR = "r102" MAKEFILES_MATRIX_GUI = "matrix-gui-browser \ refresh-screen \ @@ -124,6 +125,7 @@ MAKEFILES_append_dra7xx = " cryptodev \ openmpacc-examples \ qt-opencv-opencl-opengl-multithreaded \ linalg-examples \ + tiovx-app-host \ " MAKEFILES_append_omap-a15 = " u-boot-spl \ -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-10-07 22:35 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-09-23 19:21 [master/thud/ti2019.03 1/4] tiovx-sys-iface: add interface header files between TIOVX library and IPC implementation Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 2/4] tiovx-lib-host: add recipe for TI OpenVX library, host side Hongmei Gou 2019-10-01 20:03 ` Denys Dmytriyenko 2019-10-07 20:19 ` Denys Dmytriyenko 2019-10-07 22:34 ` Gou, Hongmei 2019-09-23 19:21 ` [master/thud/ti2019.03 3/4] tiovx-app-host: TI OpenVX IPC HOST implementation and sample applications Hongmei Gou 2019-09-23 19:21 ` [master/thud/ti2019.03 4/4] ti-tisdk-makefile: include source for tiovx-app-host and add it to the top-level makefile Hongmei Gou
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.