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.

Linux/TDA2EXEVM: TDA2 - 'Undefined reference Error'

Part Number: TDA2EXEVM

Tool/software: Linux

Hi there,

I am using vision sdk version 2.12.
I am trying to add a new usecase in vision_sdk/hlos/examples/adas/src/usecase. The main function that I have used is Void chains_multichannel_analog_dvr(Chains_Ctrl *chainsCfg); which is defined in the corresponding usecase .c file. This function was called in vision_sdk//hlos/examples/adas/src/common/chains_main.c which includes a header #include <vision_sdk/hlos/examples/adas//include/chains.h>. The function was declared in the above mentioned header.

While compiling I am getting the following error.(earlier there some use-cases which are working fine)

-----------------------------------------------------------------------------------------------------------

# vision_sdk_linux_demo: tda2ex-evm: Compiling chains_multichannel.c
# vision_sdk_linux_demo: tda2ex-evm: Compiling chains_multichannel_priv.c
# vision_sdk_linux_demo: tda2ex-evm: Compiling defLinkMultich_tsk.c
# vision_sdk_linux_demo: tda2ex-evm: Creating archive vision_sdk_linux_demo.a
# vision_sdk_linux_demo: tda2ex-evm: Linking
/home/madan/McCDVR/mccdvr/Source/vision_sdk/binaries/tda2ex_mccdvr_all/lib/a15/release/vision_sdk_linux_demo.a(chains_main.o): In function `main':
chains_main.c:(.text.startup+0x3e): undefined reference to `chains_multichannel_analog_dvr'
collect2: error: ld returned 1 exit status
make[4]: *** [exe] Error 1
make[3]: *** [apps] Error 2
make[2]: *** [demo] Error 2
make[1]: *** [vision_sdk_linux] Error 2
make: *** [vision_sdk_linux_all] Error 2
------------------------------------------------------------------------------------------------------------

to be informed, i have included the new use-case in the following files,

in configs/cfg.mk

LINUX_TDA2XX_UC_LIST = \
        /*some more use-case inclusions*/
        UC_vip_2CH_vdec_encode \
        UC_multichannel_Analog \


in system_cfg.h

#define UC_vip_2CH_vdec_encode_no
#define UC_multichannel_Analog

in uc_cfg.mk

UC_vip_4CH_vdec_display=no
UC_multichannel_Analog=yes

and in MAKEFILE_adas.MK

ifeq ($(UC_multichannel_Analog),yes)
        $(MAKE) -fMAKEFILE.MK -C$(vision_sdk_PATH)/hlos/examples/adas/src/usecases/multichannel_Analog MODULE=vision_sdk_linux_demo $(TARGET)
endif

and also have checked make make showconfig ans i have the below information.

# Use-cases included in build,
# UC_cabin_channel_dvr UC_front_channel_dvr UC_McCDVR_TriChannel UC_multichannel_Analog
#

How can i solve this.

Regards

Balaji T

 

  • Hi Balaji,
    Lets Check with an existing UC where all it has been added
    & you need to do similar changes for newly added UC

    1. Run grep command for an existing UC folder, check where all it has been added
    grep -ri "vip_single_cam_sgx_display" from vision_sdk folder
    2. Run grep command for an existing UC entry function name present in .c file & check where all it has been added
    grep -ri "chains_vipSingleCam_SgxDisplay" from vision_sdk folder
    3. In similar places, you need to add your newly added UC
    4. After adding in all places just do a clean build

    Regards
    Surya
  • Hi Surya,
    Hope you are doing well.

    My issue got resolved,

    in uc_cfg.mk
    UC_vip_4CH_vdec_display=no
    UC_multichannel_Analog=yes(space)- i had given this extra space.

    Thank you
    Regards
    Balaji T