Request for consultation
Learn to design, develop, and validate USB systems with ease, using this valuable resource that provides a detailed bootstrap session on the Linux-USB design and implementation. BOOTSTRAP YOURSELF WITH LINUX-USB STACK offers a tour of the Linux-USB stack, explaining how to develop drivers for USB device and host controllers on Linux. It moves on to explore the interfaces and data structures of a USB module with UML diagrams, concluding each chapter with a sample implementation that applies the information just covered. A comprehensive look at the various tools and methods available on Linux to validate a USB system is also provided. Using a straightforward writing style, this book is a powerful tool for anyone learning to develop a protocol stack with proper architecture and design, ultimately leading to better quality, maintainability, and testability.
- Clarifies complex concepts with UML activity diagrams and sequence diagrams that present the Linux-USB subsystem framework visually.
- Enhances understanding of user-level programming of USB system and details with easy methods to validate and debug a USB system.
- Offers practical applications of the entire process with an appendix that provides an example driver of how to develop a simple USB device on Linux.
- Adds value with bonus CD-ROM containing all the sample programs discussed in the book, as well as an exclusive tool that can be used to perform regression tests of a USB system.
1. USB and Linux: Introduction.
2. USB: An Overview.
3. Overview of the Linux USB Subsystem.
PART I: USB HOST.
4. Linux USB Host Driver.
5. USB Device Notification.
6. Device File System.
7. Power Management.
9. Generic Driver.
10. Host Driver for Embedded Controller.
PART II: USB DEVICE.
11. Linux USB Gadget Driver .
12. Peripheral Device Controller Driver.
13. Gadget Driver.
14. Class Driver.
PART III: USB OTG.
15. Linux USB OTG Driver.
PART IV: MISCELLANEOUS LINUX USB SUBSYSTEMS.
16. USB Virtual File Systems.
17. User Space USB Drivers.
18. Debugging Using Linux USB.
19. Test Using Linux USB.