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.

MCU-PLUS-SDK-AM243X: AM2434-LP

Part Number: MCU-PLUS-SDK-AM243X

I have made a small change in the tinyusb section of the mcu_plus_sdk (version 09.01.00.41) and i am trying to compile the library using the make command provided as
 "C:\Program Files (x86)\GnuWin32\bin\make.exe" -s libs PROFILE= release . (I have tried in debug mode as well)

When i tried to compile me code i recieved the following error


makefile:155: recipe for target 'EVM_FIRMWARE.out' failed
error #10056: symbol "_DebugP_log" redefined: first defined in "C:/ti/mcu_plus_sdk_am243x_09_01_00_41/source/kernel/nortos/lib/nortos.am243x.r5f.ti-arm-clang.release.lib<DebugP_nortos.obj>"; redefined in "C:/ti/mcu_plus_sdk_am243x_09_01_00_41/source/usb/tinyusb/lib/usbd_tusb_cdc_nortos.am243x.r5f.ti-arm-clang.release.lib<dcd.obj>"
error #10010: errors encountered during linking; "EVM_FIRMWARE.out" not built

same error in debug and release mode. Is this a known problem? if not could you suggest a fix.

I tried recomiling the code and this is the message that popped up in both debug and release mode

Please suggest some fix for this.

Thanks

  • Hello Pratik,

    Thanks for reaching out to Texas Instruments E2E support forum.

    I have made a small change in the tinyusb section of the mcu_plus_sdk (version 09.01.00.41)

    Can you please tell us what changes you made?

    makefile:155: recipe for target 'EVM_FIRMWARE.out' failed
    error #10056: symbol "_DebugP_log" redefined: first defined in "C:/ti/mcu_plus_sdk_am243x_09_01_00_41/source/kernel/nortos/lib/nortos.am243x.r5f.ti-arm-clang.release.lib<DebugP_nortos.obj>"; redefined in "C:/ti/mcu_plus_sdk_am243x_09_01_00_41/source/usb/tinyusb/lib/usbd_tusb_cdc_nortos.am243x.r5f.ti-arm-clang.release.lib<dcd.obj>"
    error #10010: errors encountered during linking; "EVM_FIRMWARE.out" not built

    Also from the above error log, I can see that the function _DebugP_log() is redefined in the usbd_tusb_cdc_nortos lib(i.e may be in dcd.c file).

    Regards,

    Tushar

  • Hello Tushar, 
    The changes i made in the tinyusb library were in the buffer size used by the cdc driver so that i can have a more efficient usb transfer, the default size of the packet and the rx, tx buffer is 512 bytes, i wanted to change that to 1024 bytes (which i have already done in an older verison of the sdk (08.03.00.18) ). After this change i tried to comile the library but the above errors started showing up. 

    I have made a change here (cdc_device.c) as well changed the 

    CFG_TUD_CDC_RX_BUFSIZE, 
    CFG_TUD_CDC_TX_BUFSIZE
    to 8192 Bytes.

    I looked at the dcd.c file, it doesnt have a redefinition of DebugP_log(), but we are including the 
    #include <kernel/dpl/DebugP.h>
    file in it.
     
  • Hello Pratik,

    I have tried to build the libraries after doing the above mentioned changes. I am able to build the libraries without any error.

    Can you please provide all the file which you changed, so that I can reproduce the issue at my end?

    Please find the below screenshot.

    Thanks & Regards,

    Tushar

  • Hello Tushar these are the changes i have made, 

    enum
    {
    BULK_PACKET_SIZE = (TUD_OPT_HIGH_SPEED ? 1024 : 64)
    };
     in file cdc_device.c

    #ifndef CFG_TUD_CDC_EP_BUFSIZE
    #define CFG_TUD_CDC_EP_BUFSIZE (TUD_OPT_HIGH_SPEED ? 8192 : 64)
    #endif

    in file cdc_device.h

    #ifndef TUP_DCD_ENDPOINT_MAX
    // #warning "TUP_DCD_ENDPOINT_MAX is not defined for this MCU, default to 8"
    #define TUP_DCD_ENDPOINT_MAX 8
    #endif

    commented out the warning in file tusb_mcu.h because it was creating errorrs in sdk compilation

  • Hello Pratik,

    I have tried to build the libraries with above mentioned changes, but still I am not able to reproduce the issue.

    Please see the below screenshot.

    Regards,

    Tushar

  • Can you suggest, how to proceed from this?

  • Hello Pratik,

    Can you please search for _DebugP_log() this API inside the SDK's root directory and ensure that it is not redefined anywhere else?

    Regards,

    Tushar

  • Hello Tushar, 

    I can see that it is defined in two different libs 

  • Hello Pratik,

    I can see that it is defined in two different libs 

    Thanks for sharing the details above. 

    Can you please share the dcd.c file located at path ${MCU+SDK}\source\usb\tinyusb\portable\am64x_am243x\dcd.c?

    Regards,

    Tushar

  • Hello Pratik,

    Can you please also confirm are you able to build the libraries after removing the above changes?

    Regards,

    Tushar