Hello,
I'm using the USB0 of the OMAPL-138 and it successfully enumerates as a CDC-Serial device already, I can open a COM port and initial tests for TX (Bulk IN transfers) are successful, the problem is that the RX (Bulk OUT transfers) are not being received OK by the USB controller. If I send a single character through Putty COM terminal I can see with a USB analyzer that there is an OUT transfer (8 bytes total) with the character that I just sent sent, however when the RX EP interrupt is generated and I go to read the FIFO, RXCOUNT says that the controller has received huge amounts of data e.g. 8177 bytes, which is clearly wrong.
When I look at the PERI_RXCSR register for the OUT endpoint it has a value of 0x0003 which means that RXPKTRDY and FIFOFULL flags are set... I do expect a packet ready but I don't know where the FIFO full is coming from.
I have the same results using the indexed RXCOUNT register or the Endpoint specific registers. Also, I get the error as soon as I type the 1st character in the console so is not like there were unprocessed traffic before I try to read something for the 1st time.
Has anybody experienced similar issues or has an idea of what might be going on?
By the way:
- Not using DMA
- Only setting up the endpoint as RX (bulk OUT transfers), not touching the TX side of the EP.
Thanks in advance,
Gonzalo