This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: PSDK 7.1 :: Emulator Build Issues

Part Number: TDA4VM

Tool/software:

Dear Sir,

PSDK: ti-processor-sdk-rtos-j721e-evm-07_01_00_11

OS: 22.04

GCC/G++ : 13

I am trying to build BSP in PC Emulation mode, but facing issues listed below for your reference

BUILD_TARGET_MODE=no make -C /home/vyom/Emulator/bsp/vision_apps app_utils_iss
Required system library libpng.so
Required system library libz.so
Linking /home/vyom/Emulator/bsp/tiovx/out/PC/x86_64/LINUX/debug/vx_conformance_tests_exe
make[2]: Entering directory '/home/vyom/Emulator/bsp/vision_apps'
SHELL=/bin/sh
/usr/bin/ld: /home/vyom/Emulator/bsp/tidl_j7_01_03_00_11/ti_dl/lib/PC/dsp/algo/debug/libtidl_obj_algo.a(tidl_spatialAvgPool_ixX_c7x.obj): in function `int TIDL_spatialAvgPool_nxn_1x1_i16u_o16u_exec_c7x<9, __SE_TEMPLATE_v1_t>(void*, void const*, void*, TIDL_SpatialAvgPoolIxXOxXExecInArgs const*, TIDL_SpatialAvgPoolIxXOxXExecOutArgs*)':
/opt/Jenkins_OUT/workspace/J7_TIDL_Child_3/c7x-mma-tidl/ti_dl/release/tidl_src_j7_01_03_00_11/ti_dl/algo/src/tidsp/c7x/tidl_spatialAvgPool_ixX_c7x.c:2441: undefined reference to `__shift_right_round(_c70_he_detail::vtype<unsigned long, 8ul>, _c70_he_detail::vtype<unsigned int, 8ul>)'
/usr/bin/ld: /opt/Jenkins_OUT/workspace/J7_TIDL_Child_3/c7x-mma-tidl/ti_dl/release/tidl_src_j7_01_03_00_11/ti_dl/algo/src/tidsp/c7x/tidl_spatialAvgPool_ixX_c7x.c:2442: undefined reference to `__shift_right_round(_c70_he_detail::vtype<unsigned long, 8ul>, _c70_he_detail::vtype<unsigned int, 8ul>)'
/usr/bin/ld: /home/vyom/Emulator/bsp/tidl_j7_01_03_00_11/ti_dl/lib/PC/dsp/algo/debug/libtidl_obj_algo.a(tidl_spatialAvgPool_ixX_c7x.obj): in function `int TIDL_spatialAvgPool_nxn_1x1_i16s_o16s_exec_c7x<9, __SE_TEMPLATE_v1_t>(void*, void const*, void*, TIDL_SpatialAvgPoolIxXOxXExecInArgs const*, TIDL_SpatialAvgPoolIxXOxXExecOutArgs*)':
/opt/Jenkins_OUT/workspace/J7_TIDL_Child_3/c7x-mma-tidl/ti_dl/release/tidl_src_j7_01_03_00_11/ti_dl/algo/src/tidsp/c7x/tidl_spatialAvgPool_ixX_c7x.c:2939: undefined reference to `__shift_right_round(_c70_he_detail::vtype<long, 8ul>, _c70_he_detail::vtype<unsigned int, 8ul>)'
/usr/bin/ld: /opt/Jenkins_OUT/workspace/J7_TIDL_Child_3/c7x-mma-tidl/ti_dl/release/tidl_src_j7_01_03_00_11/ti_dl/algo/src/tidsp/c7x/tidl_spatialAvgPool_ixX_c7x.c:2940: undefined reference to `__shift_right_round(_c70_he_detail::vtype<long, 8ul>, _c70_he_detail::vtype<unsigned int, 8ul>)'
/usr/bin/ld: /home/vyom/Emulator/bsp/mmalib_01_03_00_06/lib/debug/libmmalib_x86_64.a(MMALIB_CNN_convolve_row_5x5stride2_ixX_ixX_oxX_exec_ci.o): in function `void MMALIB_UTIL_SE1BloadRegBload5x5stride2Kequal1<64u>(int, int, _c70_he_detail::vtype<unsigned char, 64ul>, _c70_he_detail::vtype<unsigned char, 64ul>)':
/home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE1BloadRegBload5x5stride2Kequal1.h:84: undefined reference to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)'
/usr/bin/ld: /home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE1BloadRegBload5x5stride2Kequal1.h:85: undefined reference to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)'
/usr/bin/ld: /home/vyom/Emulator/bsp/mmalib_01_03_00_06/lib/debug/libmmalib_x86_64.a(MMALIB_CNN_convolve_row_5x5stride2_ixX_ixX_oxX_exec_ci.o): in function `void MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeC5x5stride2Kequal1<64u>(int, int, _c70_he_detail::vtype<unsigned char, 64ul>, _c70_he_detail::vtype<unsigned char, 64ul>)':
/home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeC5x5stride2.h:157: undefined reference to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)'
/usr/bin/ld: /home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeC5x5stride2.h:158: undefined reference to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)'
/usr/bin/ld: /home/vyom/Emulator/bsp/mmalib_01_03_00_06/lib/debug/libmmalib_x86_64.a(MMALIB_CNN_convolve_row_5x5stride2_ixX_ixX_oxX_exec_ci.o): in function `void MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeCSA0Cstore5x5stride2Kequal1<64u>(int, int, _c70_he_detail::vtype<unsigned char, 64ul>, unsigned char*, _c70_he_detail::vtype<unsigned char, 64ul>)':
/home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeCSA0Cstore5x5stride2Kequal1.h:144: undefined reference to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)'
/usr/bin/ld: /home/vyom/Emulator/bsp/mmalib_01_03_00_06/lib/debug/libmmalib_x86_64.a(MMALIB_CNN_convolve_row_5x5stride2_ixX_ixX_oxX_exec_ci.o):/home/gtbldadm/nightlybuilds/mmalib/ti/mmalib/src/cnn_c7xmma/MMALIB_CNN_convolve_row_ixX_ixX_oxX/c71/../../../common/c71/MMALIB_UTIL_SE0AloadSE1BloadRegBloadComputeCSA0Cstore5x5stride2Kequal1.h:145: more undefined references to `__vgetb_vkd(_c70_he_detail::vtype<signed char, 64ul>, unsigned char)' follow

Please let me know if it can be resolved.

I have also shared the config(/tidl_j7_01_03_00_11/makerules/) file content 

#
# Copyright (c) {2015 - 2020} Texas Instruments Incorporated
#
# All rights reserved not granted herein.
#
# Limited License.
#
# Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
# license under copyrights and patents it now or hereafter owns or controls to make,
# have made, use, import, offer to sell and sell ("Utilize") this software subject to the
# terms herein.  With respect to the foregoing patent license, such license is granted
# solely to the extent that any such patent is necessary to Utilize the software alone.
# The patent license shall not apply to any combinations which include this software,
# other than combinations with devices manufactured by or for TI ("TI Devices").
# No hardware patent is licensed hereunder.
#
# Redistributions must preserve existing copyright notices and reproduce this license
# (including the above copyright notice and the disclaimer and (if applicable) source
# code license limitations below) in the documentation and/or other materials provided
# with the distribution
#
# Redistribution and use in binary form, without modification, are permitted provided
# that the following conditions are met:
#
# *       No reverse engineering, decompilation, or disassembly of this software is
# permitted with respect to any software provided in binary form.
#
# *       any redistribution and use are licensed by TI for use only with TI Devices.
#
# *       Nothing shall obligate TI to provide you with source code for the software
# licensed and provided to you in object code.
#
# If software source code is provided to you, modification and redistribution of the
# source code are permitted provided that the following conditions are met:
#
# *       any redistribution and use of the source code, including any resulting derivative
# works, are licensed by TI for use only with TI Devices.
#
# *       any redistribution and use of any object code compiled from the source code
# and any resulting derivative works, are licensed by TI for use only with TI Devices.
#
# Neither the name of Texas Instruments Incorporated nor the names of its suppliers
#
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# DISCLAIMER.
#
# THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
#Other Variables

# TARGET_PLATFORM      :  Used to select the target platform. PC(Host emulation) or the TI device.
# TARGET_CPU           :  Used select Particular TI compute core. This applicable in PC emulation
#                         mode as well to select the Host emulation packages
# TARGET_BUILD         :  used to select Debug or Release build

# TIDL_BUILD_FOR_LOKI  :  Temporary flag. Will be removed once VLAB simulator matures.

#
# Example usages
# 1. Build for C7x Target : gmake or  gmake TARGET_PLATFORM=TI_DEVICE TARGET_CPU=C71
# 2. Build for C7x Host Emualtion : gmake TARGET_PLATFORM=PC TARGET_CPU=C71
# 3. Build for C66 Host Emualtion : gmake TARGET_PLATFORM=PC TARGET_CPU=C66
# 4. Build for C66 Target : gmake TARGET_PLATFORM=TI_DEVICE TARGET_CPU=C66
# 5. Build for C7x Target debug build : gmake TARGET_PLATFORM=TI_DEVICE TARGET_CPU=C71 TARGET_BUILD=debug

# TIDL outputs files (trace files, output files)
# to have platform prefix
# Supported values: 0, 1
PREFIXED_OUTPUTS ?= 0

# Default TI_DEVELOPER_BUILD
# Supported values: 0, 1
DEVELOPER_BUILD ?= 0

# Default TI_DEVICE
# Supported values: PC, TI_DEVICE (SIMULATORS or EMULATOR )
#TARGET_PLATFORM ?= PC
TARGET_PLATFORM ?= TI_DEVICE

BUILD_WITH_CUDA       ?= 0
TIDL_BUILD_WITH_AVX    ?= 0
TIDL_BUILD_FOR_LOKI    ?= 0
TIDL_HOST_CCS          ?= 0
TIDL_BIOS_BUILD        ?= 1
BUILD_LIDAR_PREPROC    ?= 0

ifdef SystemRoot
PSDK_INSTALL_PATH ?= C:\ti
else
PSDK_INSTALL_PATH ?= $(PWD)/../..
endif

ifdef SystemRoot
BIOS_PATH           ?="$(PSDK_INSTALL_PATH)\bios_6_83_00_18"
XDCTOOLS_PATH       ?="$(PSDK_INSTALL_PATH)\xdctools_3_61_03_29_core"
IVISION_PATH        ?="$(PSDK_INSTALL_PATH)\ivision"
UTILS_PATH          ?="$(PSDK_INSTALL_PATH)\ccs910\ccs\utils\cygwin"
TIDL_PROTOBUF_PATH  ?="$(PSDK_INSTALL_PATH)\protobuf-3.5.1_msvc_2015_x64"
TIDL_OPENCV_PATH    ?=$(PSDK_INSTALL_PATH)\opencv_3.1.0_msvc_2015_x64\opencv\sources
DSP_TOOLS           ?=$(PSDK_INSTALL_PATH)\ti-cgt-c7000_1.4.0.LTS
TIDL_FLATBUF_PATH   ?=$(PSDK_INSTALL_PATH)\flatbuffers-1.12.0
MMALIB_PATH         ?=$(PSDK_INSTALL_PATH)\mmalib_01_03_00_06
PDK_INSTALL_PATH    ?=$(PSDK_INSTALL_PATH)\pdk\packages
CONCERTO_ROOT       ?=$(PSDK_INSTALL_PATH)\vision_apps\concerto
TIOVX_PATH          ?=$(PSDK_INSTALL_PATH)\tiovx
VISION_APPS_PATH    ?=$(PSDK_INSTALL_PATH)\vision_apps
GCC_LINUX_ARM_ROOT  ?=$(PSDK_INSTALL_PATH)\gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
TIDL_GRAPHVIZ_PATH  ?="$(PSDK_INSTALL_PATH)\graphviz-2.38_x64"
# Location of the CUDA Toolkit
CUDA_PATH ?= "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/"
CUDNN_PATH ?= "D:/work/cuDNN/cudnn-9.0-v7.0/"
else
BIOS_PATH           ?="$(PSDK_INSTALL_PATH)/bios_6_83_00_18"
XDCTOOLS_PATH       ?="$(PSDK_INSTALL_PATH)/xdctools_3_61_03_29_core"
IVISION_PATH        ?="$(PSDK_INSTALL_PATH)/ivision"
DSP_TOOLS           ?="$(PSDK_INSTALL_PATH)/ti-cgt-c7000_1.4.0.LTS"
MMALIB_PATH         ?="$(PSDK_INSTALL_PATH)/mmalib_01_03_00_06"
PDK_INSTALL_PATH    ?="$(PSDK_INSTALL_PATH)/pdk/packages"
CONCERTO_ROOT       ?=$(PSDK_INSTALL_PATH)/vision_apps/concerto
TIOVX_PATH          ?=$(PSDK_INSTALL_PATH)/tiovx
VISION_APPS_PATH    ?=$(PSDK_INSTALL_PATH)/vision_apps
GCC_LINUX_ARM_ROOT  ?=$(PSDK_INSTALL_PATH)/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
LINUX_FS_PATH       ?=$(PSDK_INSTALL_PATH)/targetfs
TF_REPO_PATH        ?=$(PSDK_INSTALL_PATH)/tensorflow
TVM_HOME            ?=$(PSDK_INSTALL_PATH)/tvm

# Below are only needed for PC emulation Test bench build
TIDL_OPENCV_PATH    ?="$(PSDK_INSTALL_PATH)/opencv-3.1.0"
TIDL_PROTOBUF_PATH  ?="$(PSDK_INSTALL_PATH)/protobuf-3.5.1"
TIDL_FLATBUF_PATH   ?="$(PSDK_INSTALL_PATH)/flatbuffers-1.12.0"
TIDL_GRAPHVIZ_PATH  ?="$(PSDK_INSTALL_PATH)/graphviz-2.40.1_install"


# Location of the CUDA Toolkit
CUDA_PATH ?= /usr/local/cuda
endif

SHOW_COMMANDS       ?= 0


# Default platform
# Supported values: J721E j721e j721s2
TARGET_SOC ?= j721e

# Default CORE is dsp
# Supported values: dsp, eve, arm
CORE ?= dsp

# Default RTOS is FREERTOS
# Supported values: FREERTOS, SYSBIOS
RTOS ?= FREERTOS

# Default C66
# Supported C64T, C64P, C64, C66, C674, C67, C67P, m4
TARGET_CPU ?= C71

#C7x Version (C7120/C7100)
#Compiles code for a particular C7x mode
ifeq ($(TARGET_SOC),$(filter $(TARGET_SOC), J721E j721e))
TARGET_C7X_VERSION ?= C7100
else
TARGET_C7X_VERSION ?= C7120
endif

#Temporary flag to use older library paths
#TIDL_BUILD_PATHS = LEGACY

ifeq ($(CORE),eve)
TARGET_CPU:=
endif

# Supported values: debug and release)
TARGET_BUILD ?= release

FINAL_RELEASE_BUILD ?= 1

ifeq ($(TARGET_PLATFORM) ,PC)
BUILD_WITH_OPENCV    ?= 1
BUILD_WITH_STATIC_ARRAYS ?= 0
COMPARE_SINGLE_LAYER ?= 0
USE_HOST_FILE_IO ?=0
USE_HOST_PRINTF ?=0
else
BUILD_WITH_OPENCV    ?= 0
BUILD_WITH_STATIC_ARRAYS ?= 0
COMPARE_SINGLE_LAYER ?= 0
ifeq ($(TIDL_BUILD_FOR_LOKI), 1)
USE_HOST_FILE_IO ?=0
else
USE_HOST_FILE_IO ?=1
endif
USE_HOST_PRINTF ?=0
endif

Thanks and Regards,

Vyom Mishra

  • Hi;

    Thanks for the question.

    Can you take a look at your build_flags.mae and make sure the setting is correct? Please see the following guide line.

    Best regards

    Wen Li

    • Edit file sdk_builder/build_flags.mak and modify below variables
      BUILD_EMULATION_MODE=yes
      BUILD_TARGET_MODE=no
    • Do below to build the source code,
      cd sdk_builder (or cd vision_apps)
      ./make_sdk.sh
    • The PC executables are stored below
      vision_apps/out/PC/x86_64/LINUX/$PROFILE
  • Dear Sir,

    I have already made the necessary changes in build_flags.mk. 

    I want to inform you that the PSDK I am using is 7.1, where the sdk_builder folder is not present.

    PSDK: ti-processor-sdk-rtos-j721e-evm-07_01_00_11

    OS: 22.04

    GCC/G++ : 13

    Thanks and Regards,

    Vyom Mishra