Hi,
During the transmitting, the firmware prepares the HPD and HBD and the data buffer which are linked to HPD and HBD.
If I have 1024 bytes to transmit, what is the difference between the following three situations.
1) use a HPD with 512 byte data buffer and one HBD with 512 bytes data buffer
2) use two HPDs with 512 byte data buffer for each one
3) use a HPD with 1024 byte data buffer
My guess is that 1) is the typical way, it does not need to have a continuous big data buffer. 2) you need to segment data and assembly the data at the upper level, and 3) you need a continuous big data buffer, but the construction of HPD or HBD is simpler (only one).
During the receiving, the firmware prepares the HBDs to hold the comming data. But is there any situation that the host (omapl138) does not know the length of data coming from the usb device? Or the usb spec requires that the usb host MUST know the length of the data even if the data comes from the usb device.
Thanks,
Sheng