Bulk endpoint buffer size: Setting of SIZE bit in EPxCFG for a bulk endpoint | Cypress Semiconductor
Support & Community
Bulk endpoint buffer size: Setting of SIZE bit in EPxCFG for a bulk endpoint
Is it valid to set the size of a Bulk endpoint as 1024?
For a bulk endpoint the FIFO buffer size needs to be set to 512 bytes and not 1024 bytes. This is done by setting the SIZE bit in the EPxCFG register to 0. As per USB 2.0 spec the maximum packet size of a bulk endpoint is restricted to 512 bytes and the data is transferred over USB in packets of 512 bytes maximum. So, in order to maintain conformity, the endpoint size in the FX2LP must be configured for 512 bytes.
Hence if you set the bulk endpoint to be of size1024 bytes only the first 512 bytes will be used per buffer and the rest of the buffer will be unused. So to avoid the wastage and maintain conformity, the bulk endpoint MUST be set to 512 bytes only.