This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB Flow Control

Using the USB sample code of the RL-ARM library on MCB2300 develoment board. Started with the mass storage device example and modified for our application.

Is this example valid to USB specification? In particular concerned about flow control. I'm not clear if flow control in hw or sw or both. If not hardware, do these examples implement proper flow control? Our application may get some data and send time processing before reading more data.

Parents
  • Yes I did find this and yes that was exactly the problem.

    So I'm getting close here, but...

    My device now receives packets from the host, however it eventually hangs up anywhere after receiving 10-100 USB packets. I traced it to the Keil USB sample code (UsbHw.c) in the read operation. As part of a read it calls a funtion (WrCmd) to send a Clear Buffer command to the USB hardware so we can receive more packets. Part of the Clear Buffer command is to wait for the command buffer empty flag to be set. This sometimes never happens.

    Any ideas?

    Paul

Reply
  • Yes I did find this and yes that was exactly the problem.

    So I'm getting close here, but...

    My device now receives packets from the host, however it eventually hangs up anywhere after receiving 10-100 USB packets. I traced it to the Keil USB sample code (UsbHw.c) in the read operation. As part of a read it calls a funtion (WrCmd) to send a Clear Buffer command to the USB hardware so we can receive more packets. Part of the Clear Buffer command is to wait for the command buffer empty flag to be set. This sometimes never happens.

    Any ideas?

    Paul

Children
No data