XMC4200 USB doesn't transmit data

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hi all,

I am writing a small application for XMC4200 (evaluation kit) to use its USB module (not using Apps). To the best of my knowledge, I configured the device correctly as I am able to receive and decode the first SETUP packet that requests the device descriptor. This tells me that (a) clock is configured correctly and (b) endpoint 0 (at least the OUT functionality) is also configured correctly.

However, when I use the API function XMC_USBD_EndpointWrite(...) to respond to the request, the host (PC) does not see it. It also looks like I don't receive any transfer complete interrupts on endpoint 0 IN.

Can anybody share some advice as to what they think the problem might be?

Thanks very much,

Andrey

UPD #1: I tried running identical code (except for the device-specific libraries) on an XMC4700 eval. board, and it worked! Unlike XMC4200, XMC4700 does receive transfer complete interrupts. I've checked the interrupt mask register for both devices, and in both cases interrupts are unmasked.

UPD #2: Got to try this on an XMC4400 evaluation board, and everything works as expected. Also got my hands on another XMC4200 board to rule out any defects with my primary board - the USB application still doesn't work! Perhaps there's an extra configuration step needed for XMC4200 core that I am not aware of.
0 Likes
1 Reply
User13476
Level 1
Level 1
Kindly share the Source Code to analyze the problem.
0 Likes