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.
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
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
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 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