New USB Device Class API Introduction
summary
A new USB device stack in Zephyr (since 3.3.0) provides a mandatory common API for class implementations, supports runtime add/remove of class instances, and already has three UDC drivers plus three class ports (CDC ACM/ECM, Bluetooth HCI, mass storage) with porting claimed complete. The API specifies init/enable/shutdown handlers, separate control-in/control-out handlers, a single transfer-completion callback, device-instance and configuration management, shell and virtual-host tools for testing, and remaining work on transfer abstractions and OS/BOS descriptor support.
AI-written summary · about
chapters (14)
- 0:00Introduction and overview
- 1:00Current architecture status
- 2:54USB device functional design
- 5:00Descriptors and configuration
- 7:54Device and application setup
- 10:53Initialization and lifecycle
- 13:27Development and shell support
- 14:46Class API requirements
- 17:19Instantiation approaches
- 20:28Handling class events
- 24:05Control requests and vendor
- 27:02Transfer completions
- 30:04Debugging and future work
- 32:24Demo and closing discussion
related talks
45mUSB Support in Zephyr OS
36mUSB Support in Zephyr OS
24mNew Implementation Proposal for Zephyr SD Protocol Stack
38mWriting Your Own Gadget with Zephyr OS
40mMIDI2 in the Real World With Zephyr
23mA Dive into Zephyr Device Driver Model
23mA Dive into Zephyr Device Driver Model
38mWriting Your Own Gadget with Zephyr OS
