Abstract
Interactions among operating system, drivers, and peripheral devices are important for users to understand data communication at low system level, system architecture, and hardware programming. In this chapter, we study low-level data communication and resource management by conducting the development of a USB device driver. A reverse engineering approach has been adopted in this study, and we focus on exploring the USB protocol and developing a device driver for the Linux operating system. We have performed various experiments to evaluate the device driver from different aspects, and all testing results are remarkably good. We believe this work can provide users a clear practical understanding of data communication from the hardware level to user space applications as well as theoretical foundations to reproduce any unsupported peripheral hardware devices.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have