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.

PROCESSOR-SDK-J721S2: Unresolved symbol to MuxIntcP_create in MCASP driver

Part Number: PROCESSOR-SDK-J721S2

Tool/software:

Hello,

I'm trying to use the mcasp driver in the j721s2 pdk version 9.02.00.05. When I build my application, I get a linker error saying that there is an unresolved symbol to MuxIntcP_create in the mcasp driver. I'm already linking in the OSAL. I searched the entire pdk sources and I could not find a definition for this function.

However, in mcasp_soc.c in <pdk_path>/packages/ti/drv/mcasp/soc/j721s2 I see this snippet near the end:

/* Todo: this must be implemented in osal */
/*
MuxIntcP_Status MuxIntcP_create(MuxIntcP_inParams *inParams, MuxIntcP_outParams *outParams)
{
    return (MuxIntcP_OK);
}
*/

The definition here is commented out, but this snippet is NOT commented out for the other platforms:

<pdk_path>/packages/ti/drv/mcasp/soc/j721e/mcasp_soc.c

/* Todo: this must be implemented in osal */
MuxIntcP_Status MuxIntcP_create(MuxIntcP_inParams *inParams, MuxIntcP_outParams *outParams)
{
    return (MuxIntcP_OK);
}

<pdk_path>/packages/ti/drv/mcasp/soc/j7200/mcasp_soc.c

/* Todo: this must be implemented in osal */
MuxIntcP_Status MuxIntcP_create(MuxIntcP_inParams *inParams, MuxIntcP_outParams *outParams)
{
    return (MuxIntcP_OK);
}

If I uncomment that section, the linker errors go away. Is that section for the j721s2 supposed to un-commented out? Please advise.

Thanks!

  • Hi,

    I'm trying to use the mcasp driver in the j721s2 pdk version 9.02.00.05. When I build my application, I get a linker error saying that there is an unresolved symbol to MuxIntcP_create in the mcasp driver. I'm already linking in the OSAL. I searched the entire pdk sources and I could not find a definition for this function.

    Could you please share this complete error?

    Regards,

    Karthik

  • Here is the error:

     undefined       first referenced                                                     
      symbol             in file                                                          
     ---------       ----------------                                                     
     MuxIntcP_create [redacted]/mcasp_drv/Debug/mcasp_drv.lib<mcasp_drv.obj>

    Note that [redacted] represents the path to the mcasp_drv folder. I cannot reveal the full path.

    Can you tell me if my initial solution is OK?

    Thanks!

  • Hi,

    I cannot reveal the full path.

    No problem.

    If I uncomment that section, the linker errors go away. Is that section for the j721s2 supposed to un-commented out? Please advise.

    There is no need to uncomment this section and you can use the function MuxIntcP_create in your file without receiving any errors. since OSAL already defines it. a"redefined error" occurs if the section is uncomment.


    Regards,
    Karthik

  • There is no need to uncomment this section and you can use the function MuxIntcP_create in your file without receiving any errors. since OSAL already defines it. a"redefined error" occurs if the section is uncomment.

    The OSAL does NOT define it as far as I can tell, I have search the entire PDK sources. I do not have this function defined in any of my files as well. This is why I am getting this linker error in the first place.

    Can you elaborate on your solution? I'm not understanding what the advice should be.

    Thanks!

  • Hi,

    The OSAL does NOT define it as far as I can tell, I have search the entire PDK sources

    This function defined in GPIO_soc.c   <pdk>/pdk_j721s2_09_00_00_45/packages/ti/drv/gpio/soc/j721s2/GPIO_soc.c  that's  why you are getting linker error when you are uncomment the function.

    Can you elaborate on your solution? I'm not understanding what the advice should be.

    In order to avoid receiving those errors, you can comment MuxIntcP_create this section in GPIO_soc.c and then uncomment in mcasp_soc.c

    Regards,

    Karthik

  • This function defined in GPIO_soc.c   <pdk>/pdk_j721s2_09_00_00_45/packages/ti/drv/gpio/soc/j721s2/GPIO_soc.c  that's  why you are getting linker error when you are uncomment the function

    No, I get the unresolved symbol linker error because this function is not defined in any of the sources I am building. I am not using the GPIO driver. Is the GPIO driver a dependency of the MCASP driver?

  • Hi,

    I get the unresolved symbol linker error because this function is not defined in any of the sources I am building

    Could you tell me the use case for the MuxIntcP_create function in your application, and why are you trying to enable it?

    Regards,

    Karthik

  • I'm not trying to use it explicitly, it is being used in the mcasp driver in the pdk. When I build it, I get the linker error I originally posted.

    Do you understand now?

  • Hi,

    I'm not trying to use it explicitly, it is being used in the mcasp driver in the pdk. When I build it, I get the linker error I originally posted.

    Do you understand now?

    Is this a fresh PDK, or have you made any modifications? If so, please share them with me.

    I can successfully build this using a fresh PDK.

    karthikeyansaravanan@LAP678U:~/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/build$ make BOARD=j721s2_evm CORE=mcu2_0 MCASP_DeviceLoopback_TestApp_freertos  DISABLE_RECURSE_DEPS=no -sj6
    # Compiling j721s2:mcu2_0:release:mcasp:src/mcasp_drv.c
    #
    # Archiving j721s2:mcu2_0:release:mcasp into /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/drv/mcasp/lib/j721s2/r5f/release/ti.drv.mcasp.aer5f ...
    #
    # Linking into /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.xer5f...
    #
    #
    # /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.xer5f created.
    #
    # Generating stripped image into /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release_strip.xer5f...
    #
    ~/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/drv/mcasp/example/MCASP_DeviceLoopback_TestApp ~/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/drv/mcasp/example/MCASP_DeviceLoopback_TestApp
    R5 Certificate being generated :
    	X509_CFG = ./x509-temp.cfg
    	KEY = /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/build/makerules/k3_dev_mpk.pem
    	BIN = /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.appimage
    	CERT TYPE = R5, 1
    	CORE ID = 16
    	LOADADDR = 0x41c00100
    	IMAGE_SIZE = 307296
    	BOOT_OPTIONS = 0
    Certificate being generated :
    SUCCESS: Image /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.appimage.signed generated. Good to boot
    ~/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/drv/mcasp/example/MCASP_DeviceLoopback_TestApp ~/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/drv/mcasp/example/MCASP_DeviceLoopback_TestApp
    R5 Certificate being generated :
    	X509_CFG = ./x509-temp.cfg
    	KEY = /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/build/makerules/rom_degenerateKey.pem
    	BIN = /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.appimage
    	CERT TYPE = R5, 1
    	CORE ID = 16
    	LOADADDR = 0x41c00100
    	IMAGE_SIZE = 307296
    	BOOT_OPTIONS = 0
    Certificate being generated :
    SUCCESS: Image /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.appimage.hs_fs generated. Good to boot
    # SBL App image /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release.appimage and /home/karthikeyansaravanan/ti/ti-processor-sdk-rtos-j721s2-evm-09_02_00_05/pdk_j721s2_09_02_00_30/packages/ti/binary/MCASP_DeviceLoopback_TestApp_freertos/bin/j721s2_evm/MCASP_DeviceLoopback_TestApp_freertos_mcu2_0_release_BE.appimage created.
    #
    

    can you please share your <pdk>/pdk_j721s2_09_00_00_45/packages/ti/drv/gpio/soc/j721s2/GPIO_soc.c file.

    Regards,

    Karthik

  • OK I think I see the issue. The application you're building links to the gpio library which defines MuxIntcP_create. My application does not use the GPIO library, at least not yet.

    So it sounds like the solution is to also link the GPIO lib or my initial solution of uncommenting the function definition in mcasp_soc.c for the j721s2 if the GPIO lib is not used. Does that sound correct?

  • Hi,

    So it sounds like the solution is to also link the GPIO lib or my initial solution of uncommenting the function definition in mcasp_soc.c for the j721s2 if the GPIO lib is not used. Does that sound correct

    Yes, that sounds right.

    Regards,

    Karthik