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.

MCFW API DM814x

Hello all,

I'm starting with the DVR and have simple question. I can not use the API, I have problems with the includes.
My project is as follows:

# include <mcfw/interfaces/ti_vcap.h>
# include <mcfw/interfaces/common_def/ti_vcap_common_def.h>
# include <mcfw/interfaces/ti_vdis.h>
# include <mcfw/interfaces/ti_vdis_timings.h>
# include <mcfw/interfaces/common_def/ti_vdis_common_def.h>
# include <mcfw/interfaces/ti_venc.h>
# include <mcfw/interfaces/ti_vdec.h>
# include <mcfw/interfaces/ti_vsys.h>
# include <mcfw/interfaces/ti_media_std.h>
# include <mcfw/interfaces/ti_media_error_def.h>
# include <mcfw/interfaces/ti_media_common_def.h>
# include <mcfw/interfaces/common_def/ti_vsys_common_def.h>
# include <mcfw/interfaces/ti_vgrpx.h>
# include <mcfw/interfaces/common_def/ti_vgrpx_common_def.h>

But generates compile error when using some method:
eg: undefined reference to `Vcap_params_init '

Is there any lib that should be included in the project? Do I need anything else to use the API? Help, I'm lost!

Sorry my bad english.

Carol

  • Are you getting compile time or link time errors > Is your build a make based build ? If you are getting link errors you have to link with the MCFW libs :

     $(LIB_DIR)/dvr_rdk_mcfw_api.a

     $(LIB_DIR)/dvr_rdk_link_api.a

    $(LIB_DIR)/dvr_rdk_common_utils.a

    $(LIB_DIR)/dvr_rdk_osa.a

    $(SYSLINK_LIBS)

    $(linuxdevkit_PATH)/usr/lib/libasound.so.2 -- If using audio

    $(rpe_PATH)/lib/lib/a8/debug/rpe.av5T - If using RPE.

     

  • Hello Badri

    Thank you for reply.

    I'm getting link errors. I linked the LIBS and I can not use the API.

    I did not find the LIB $(LIB_DIR)/dvr_rdk_common_utils.a in the in my LIB_DIR.

    the makefile of my project was generated by eclipse. Is possible to have errors in my makefile?

    Message BUILD CONSOLE:

    **** Build of configuration Debug for project test_arm ****

    make all
    Building target: test_arm
    Invoking: Cross GCC Linker
    arm-none-linux-gnueabi-gcc -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_mcfw_api.a -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_link_api.a -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_osa.a -o "test_arm"  ./hello.o   
    ./hello.o: In function `main':
    /root/workspace/test_arm/Debug/../hello.c:21: undefined reference to `Vcap_params_init'
    collect2: ld returned 1 exit status
    make: *** [test_arm] Error 1

    Thank you again Bradi!








  • Is the link order generated by eclipse:

    arm-none-linux-gnueabi-gcc -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_mcfw_api.a -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_link_api.a -L/hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_osa.a -o "test_arm"  ./hello.o   

     

    My understanding is link order should be

    arm-none-linux-gnueabi-gcc  -o "test_arm"  ./hello.o    /hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_mcfw_api.a /hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_link_api.a /hdd2/DM810x-DVR-RDK/dvr_rdk/lib/ti810x-evm/dvr_rdk_osa.a

    based on library dependency

  • Thank for your help Bradi.

    I can compiler my application. I did the makefile:

    CC = /opt/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc

    INCLUDE = -I/dir/dvr_rdk
    LIB1 = -lpthread
    LIBS = /dir/dvr_rdk_mcfw_api.a  /dir/dvr_rdk_link_api.a  /dir/dvr_rdk_osa.a  /dir/syslink.a_release /dir/libasound.so.2

    CFLAGS = $(INCLUDE)

    all: test.arm
        $(CC) $(LIB1) -o test.arm test.o $(LIBS)

    test.arm: test.o

    test.o: test.c
        $(CC) $(CFLAGS) -c -o test.o test.c

    clean:
        rm *.o