Bootstrap Yourself with Linux-USB Stack: Design, Develop, Debug, and Validate Embedded USB

  • 3h 28m
  • Rajaram Regupathy
  • Cengage Course PTR
  • 2012

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.

About the Author

Rajaram Regupathy has more than a decade of experience in designing and managing embedded and programming tool products. He loves to design and program new and emerging technology products and has successfully engineered products based on universal serial bus (USB) from scratch. A Linux and open source enthusiast, Rajaram has published open source articles for Linux for You and, among others. In his free time, he enjoys watching National Geographic and playing with his daughter. Rajaram’s Web site ( is a good place to obtain additional resources and get in touch with him.

In this Book

  • USB and Linux: Introduction
  • USB: An Overview
  • Overview of the Linux USB Subsystem
  • Linux USB Host Driver
  • USB Device Notification
  • Device File System
  • Power Management
  • Hub
  • Generic Driver
  • Host Driver for Embedded Controller
  • Linux USB Gadget Driver
  • Peripheral Device Controller Driver
  • Gadget Driver
  • Class Driver
  • Linux USB OTG Driver
  • USB Virtual File Systems
  • User Space USB Drivers
  • Debugging Using Linux USB
  • Test Using Linux USB