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: Unresolved symbol when integrating mcal driver

Part Number: TDA4VM


Tool/software:

Hi,

I am using the RTOS 09_02_00_05.
I am making an example application only for MCU1_0. I want to include the gpt driver from the mcal drivers. However I am adding to the makefile the LDIRS location and the ADDITIONAL_STATIC_LIB = gpt.aer5f, but the linker is not seeing it.

Regards

  • Your question has been initially assigned to Doredla

  • To be more specific with my problem, I want to integrate the gpt library into the sciserver_testapp application. I have modified the makefile in this directory: /ti-processor-sdk-rtos-j721e-evm-09_02_00_05/pdk_jacinto_09_02_00_30/packages/ti/drv/sciclient/examples/sciserver_testapp
    with the following lines:

    LDIRS  += $(MCUSW_PATH)/binary/mcal/Gpt/lib/$(SOC)/mcu1_0/$(BUILD_PROFILE)
    ADDITIONAL_STATIC_LIBS += gpt.aer5f

    Building the sciserver_testapp the following undefined symbol causes error:

     Gpt_EnableNotification                 /home/$(USER)/ti/ti-processor-sdk-rtos-j721e-evm-09_02_00_05/pdk_jacinto_09_02_00_30/packages/ti/binary/sciserver_testapp_freertos/obj/j721e/mcu1_0/debug/Gpt/source/Gpt_Startup.oer5f

    However the gpt.aer5f contains this symbol:

    # nm -gC gpt.aer5f | grep Gpt_EnableNotification
    00000811 T Gpt_EnableNotification

    There are any constraints that I am missing? 

    Regards

  • Hi,

    Building the sciserver_testapp the following undefined symbol causes error:

     Gpt_EnableNotification                 /home/$(USER)/ti/ti-processor-sdk-rtos-j721e-evm-09_02_00_05/pdk_jacinto_09_02_00_30/packages/ti/binary/sciserver_testapp_freertos/obj/j721e/mcu1_0/debug/Gpt/source/Gpt_Startup.oer5f

    You also need to include the gpt header files into sciserver make file.

    Also, MCAL driver frame work is different from PDK, as MCAL follows AUTOSAR Specification has configuration file.

    Best Regards,
    Sudheer

  • You also need to include the gpt header files into sciserver make file.

    Yes I have included also.

    Also, MCAL driver frame work is different from PDK, as MCAL follows AUTOSAR Specification has configuration file.

    So this shouldn't work? Other option is to include directly the source files, but I considered first using the builded library of gpt.

    Regards

  • Hi,

    You also need to include the gpt header files into sciserver make file.

    Yes I have included also.

    You need to include all header file paths specified in the gpt make file and dependent modules.

    Please refer to gpt example in MCUSW.

    Also, MCAL driver frame work is different from PDK, as MCAL follows AUTOSAR Specification has configuration file.

    So this shouldn't work? Other option is to include directly the source files, but I considered first using the builded library of gpt.

    If you need basic gpt operations, it would be better to add functions and header files required instead of linking library.

    What is your use-case and the OS using?
    If you want to have Gpt+ Sciserver, then you can integrate sci-server into Gpt, for this please refer to CDDIPC examples in TI SDK.

    Best Regards,
    Sudheer

  • Hi,

    You need to include all header file paths specified in the gpt make file and dependent modules.

    Yes, with this I have a problem. I am including all the required headers like this:

    INCDIR += Gpt/include/ \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/AsrGnrl/inc/ \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/EcuM/inc/ \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Dem/inc/ \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Det/inc/ \
              $(MCUSW_PATH)/mcal_drv/mcal \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/MemMap/inc/ \
              $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Os/inc/ \
              $(MCUSW_PATH)/mcuss_demos/Bsw_Stubs/Rte/inc

    And requires an define: AUTOSAR_431 or AUTOSAR_421. However I am defining in my main header file the other subsequent headers are not seeing it. I tried to use the CFLAGS_LOCAL_COMMON += -DAUTOSAR_431 but doesn't work.

    If you need basic gpt operations, it would be better to add functions and header files required instead of linking library.

    Thanks, I will do that.

    What is your use-case and the OS using?
    If you want to have Gpt+ Sciserver, then you can integrate sci-server into Gpt, for this please refer to CDDIPC examples in TI SDK.

    Your on point I want to use Sciserver+GPT.

    Regards

  • And requires an define: AUTOSAR_431 or AUTOSAR_421. However I am defining in my main header file the other subsequent headers are not seeing it. I tried to use the CFLAGS_LOCAL_COMMON += -DAUTOSAR_431 but doesn't work.

    I found the problem. In makefile, some lines above there was an overwrite in the CFLAGS_LOCAL_COMMON.
    Thanks for help. At the moment I don't have any questions.

    Regards

  • Hi,

    You need to include all header file paths specified in the gpt make file and dependent modules.

    Yes, with this I have a problem. I am including all the required headers like this:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INCDIR += Gpt/include/ \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/AsrGnrl/inc/ \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/EcuM/inc/ \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Dem/inc/ \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Det/inc/ \
    $(MCUSW_PATH)/mcal_drv/mcal \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/MemMap/inc/ \
    $(MCUSW_PATH)/mcal_drv/mcal/Bsw_Stubs/Os/inc/ \
    $(MCUSW_PATH)/mcuss_demos/Bsw_Stubs/Rte/inc
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    And requires an define: AUTOSAR_431 or AUTOSAR_421. However I am defining in my main header file the other subsequent headers are not seeing it. I tried to use the CFLAGS_LOCAL_COMMON += -DAUTOSAR_431 but doesn't work.

    Refer to Gpt examples in mcusw for dependents of Gpt.
    mcusw/mcal_drv/mcal/examples/Gpt/makefile

    What is your use-case and the OS using?
    If you want to have Gpt+ Sciserver, then you can integrate sci-server into Gpt, for this please refer to CDDIPC examples in TI SDK.

    Your on point I want to use Sciserver+GPT.

    As informed above, I would recommend to integrate Sciserver into Gpt, for these we have a reference from other MCAL drivers like CDDIPC.
    Refer to CDDIPC Rprox Linux example in TI SDK for integration of sciserver into mcal module.
    mcusw/mcal_drv/mcal/examples/CddIpcRProcLinux/CddIpcAppRProcLinux.c

    Best Regards,
    Sudheer