Hi,
I have some questions concerning the USB Core in the LM4F120H5QR. In my current development I want to use the USB device funtion, but now I have problems with the acknowledge after the setup request. I correctly receive the GET_Descriptor request, so the PHY and the USB core appear to work just fine. To meet the USB2.0 a handshake is required. There for I write 0xD2 into the FIFO0 register and set the transmit packet ready bit in CSRL0. Then the handshake has been transmitted I write the requested descriptor into the FIFO and set the transmit packet ready bit and DATAEND bit. I expect the next interrupt to be the transmit complet interrupt but it isn't. Instead I get an USB reset.
My conclusion the handshake fails in some way because the next packet is only in parts or not transmitted.
- Does the USB core transmit handshakes on its own at any time? In this case the handshake is transmitted twice and the USB reset is an reaction due to this failure
- Is there any possibility to check how many bytes I have written into the transmit fifo? This would be very helpful for debugging
- Did I miss any important information in the USB2.0 specs and in the datasheet in my description of the problem?
Thank you for your help,
Regards Jannis