Not applicable
Sep 06, 2017
12:01 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 06, 2017
12:01 PM
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.
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.
1 Reply
Jan 10, 2018
10:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 10, 2018
10:17 PM
Kindly share the Source Code to analyze the problem.