This article describes the design of the USB device BULK mode driver. This design uses the FIFO message queue, semaphore mechanism, and timer interrupt mechanism to be implemented in different operating systems. The program architecture used herein is common to implement BULK mode communication for different USB devices.
Full text reading:
USB device BULK mode driver design