USB Device Support in Zephyr RTOS from the Application Perspective
summary
Zephyr RTOS provides USB device support with a new experimental device stack since v3.3.0 that lets applications reconfigure VID/PID and class registration at runtime; older stack relies on Kconfig and static descriptors. Applications must call usb_enable and use a status callback to see configuration events; many features are configured via device tree while others remain in Kconfig. CDC ACM (virtual UART) exposes a limited UART API and is constrained by endpoint counts so multiple CDC instances may fail; mass storage supports multiple LUNs in the new stack and ramdisk is the easiest backend for testing.
AI-written summary · about
chapters (10)
- 0:00USB device support intro
- 1:04Enabling USB device support
- 10:16CDC ACM logging
- 17:46Mass storage config
- 25:44Bluetooth HCI transport
- 28:32Networking ECM/NCM
- 31:45Human interface device implementation
- 36:24Runtime config limits
- 39:13Interrupt priority setup
- 40:19Q&A
related talks
45mUSB Support in Zephyr OS
36mUSB Support in Zephyr OS
38mWriting Your Own Gadget with Zephyr OS
49mThe Zephyr™ Project – An Updated Overview
23mA Dive into Zephyr Device Driver Model
38mWriting Your Own Gadget with Zephyr OS
42mTaking Your Hardware to Production with Zephyr RTOS
32mAT-based Modem Support in the Zephyr Project: Present and Future
