TIOVX User Guide
TIOVX Build & Run Instructions

Build instructions for x86_64 Linux Platform (HOST Emulation Mode)

Requirements

  • Tested on Ubuntu Linux x86_64 machine, v18.04 LTS
  • Tested with GCC 5.4.0
    sudo -E add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-5 g++-5
  • Install libpng for x86_64 arch, follow steps below to install,
    sudo apt-get install libpng-dev
    sudo apt-get install zlib1g-dev
    sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include

Setup

  • Edit $TIOVX_PATH/psdkra_tools_path.mak
    • Modify "GCC_LINUX_ROOT" to match your environment if needed

Build

  • Open a command prompt at $TIOVX_PATH
  • Type "make" to build TIOVX and associated libraries
    • This builds the TIOVX libraries, conformance tests, and tutorial executables
    • This uses pre-built library for VXLIB, from "$TIOVX_PATH\lib\PC\x86_64\LINUX\$PROFILE\*.a"
    • The pre-built libraries are compiled in 64bit x86 host emulation mode
  • Conformance test, tutorial executable is output at
    • "$TIOVX_PATH\out\PC\x86_64\LINUX\debug\vx_conformance_tests_exe"
    • "$TIOVX_PATH\out\PC\x86_64\LINUX\debug\vx_tutorial_exe"

Running the conformance test and tutorial

  • Open a command prompt at the folder "$TIOVX_PATH/out/PC/x86_64/LINUX/$PROFILE/"
  • Set environment variable below to specify the path of the test data. This is used by both the conformance test and tutorial executables
    export VX_TEST_DATA_PATH=../../../../../conformance_tests/test_data
  • Execute "./vx_conformance_tests_exe" to run the conformance test
  • Execute "./vx_tutorial_exe" to run the tutorial
  • NOTE: Output .bmp/.png files generated by the tutorial will be present in the folder $VX_TEST_DATA_PATH

Build instructions for J7 EVM Platform (Target Mode)

  • TIOVX is built for the J7 SoC as a part of the Vision Apps "make sdk" command. Please refer to the Vision Apps User Guide for more details.

Makefile build options (found in Makefile and/or build_flags.mak)

Build Options

Build Option Description Default Setting
PROFILE Determines which profile to build for
Valid values are:
release, debug, all
all
BUILD_EMULATION_MODE Builds PC emulation mode yes
BUILD_EMULATION_ARCH PC emulation architecture.
Valid values are: X86 x86_64 all
x86_64
BUILD_TARGET_MODE Builds for target SoC platform like TDAxx yes
BUILD_CONFORMANCE_TEST Builds entire test suite executable yes
BUILD_IVISION_KERNELS Builds iVision kernels (EVE_SW_PATH required to be set for this build) no
BUILD_BAM Builds DMA wrapper (DMAUTILS_PATH and ALGFRAMEWORK_PATH required to be set for this build) no
BUILD_TUTORIAL Builds OpenVX tutorial yes
BUILD_LINUX_A72 Builds for A72 Linux target (NOT used in PC HOST emulation mode yes
BUILD_EVE Builds for EVE platform (ARP32CGT_ROOT and EVE_SW_PATH required to be set for this build) no
BUILD_SDK Builds for SDK SW platform
Valid values are,
psdkra for Processor SDK RTOS Automotive J7 platform
psdkra
BUILD_IGNORE_LIB_ORDER When set to yes, it ignores the static library order listed in makefiles when building on the PC. yes
BUILD_CT_KHR Builds and includes the Khronos OpenVX 1.1 conformance tests suite. yes
BUILD_CT_TIOVX Builds and includes the TI-added tests suite (for TI extensions and additional rohbustness testing). yes
BUILD_CT_TIOVX_TEST_KERNELS Builds and includes the TI-added tests suite (for testing custom kernel interface). yes
BUILD_CT_TIOVX_IVISION Builds and includes the tests for IVISION kernels test suite. no
BUILD_CT_TIOVX_TIDL Builds and includes the tests for TIDL kernel test suite. yes
BUILD_CT_TIOVX_HWA Builds and includes the tests for HWA kernels test suite. yes
BUILD_CT_TIOVX_HWA_NEGATIVE_TESTS Builds and includes a large set of negative tests for HWA kernels yes
BUILD_CT_TIOVX_HWA_DISPLAY_TESTS Builds and includes display test cases
Note: in order to run on J7 platform, a display must be connected
no
BUILD_CT_TIOVX_HWA_CAPTURE_TESTS Builds and includes a large set of negative tests for HWA kernels
Note: in order to run on J7 platform, 4 IMX390 cameras must be connected to a Fusion board which is connected to the EVM
no

Deleting all generated files

  • To do a clean build, do "make clean"
  • To manually delete generated files do below
    Delete directory out/