2025-02-03 10:11 AM - edited 2025-02-03 1:38 PM
Hello everyone,
After successfully built the USB-C PD application with STM32U575Qll + TCPP0203 + BMS. Now I’m trying to establish USB communication between my STM32U575Qll board(USB-C) and Win10(USB2).
I have created the Ux_Device_CDC_ECM project and referenced the example as below:
When the board has been connected to the PC(win10), the Device Manager re-flash when USB2 plug in/out. However, it’s not being recognized as any device in the Device Manager.
I have checked USB-C DP/DM signal level by setting PA11/PA12 as GPIO_OutPut and checked VDDUSB(3.3V), VBUS(5V). I haven't find any hardware issue.
I will be very appreciative if someone could help me on how to solve this problem.
Thanks in advance.
Robert
2025-02-05 8:55 AM
Hi @Robert7
> After successfully built the USB-C PD application with STM32U575Qll + TCPP0203 + BMS.
Would you specify which application Sink Source or DRP? Are you using a reference board? custom PCB?
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-02-14 12:21 PM - edited 2025-03-06 3:13 PM
Hello,
Thank you for your reply.
The application is STM32U575QII6Q+TCPP0203+BQ25890 custom DRP. TS3USB221RSER has been used for switching USB-C DP_CONN connect to STM32U575QII6Q PA12 and switching USB-C DM_CONN connect to STM32U575QII6Q PA11.
I copied file from: https://github.com/STMicroelectronics/STM32CubeU5/blob/main/Projects/STM32U575I-EV/Applications/USBX/Ux_Device_CDC_ECM/USBX/App/app_usbx_device.c
I have updated 'Main.C', 'app_usbx_device.c', 'app_usbx_device.h' as per Stefanie's Email.
However, it’s still not being recognized as any device in the Device Manager after connecting USB-C DP_CONN, USB-C DM_CONN to USB port of my laptop(win10).
Debug findings:
1) 'app_usbx_device.c' line 201 'if (tx_thread_create...' haven't load 'USBX_APP_Device_Init()'
2) ' _tx_thread_schedule();' run into 'void HardFault_Handler(void)' loop which is from 'tx_thread_schedule.s --> __tx_wait_here:'
I don't understand some of the updates on the 'user code' part, and I can't find an example or documentation to explain this. Should I copy all drivers or do something else? I would appreciate it if you could provide application notes, check my attached project, and help me with this.
I attached my zip files.
Thanks.
Best Regards.
Robert