Overview
Explore the process of implementing a custom USB device controller driver in Zephyr RTOS through this informative 30-minute conference talk. Delve into Mohammed Billoo's experience integrating a driver for a custom USB device controller implemented in an FPGA with the Zephyr USB stack. Learn about the challenges encountered, necessary workarounds, and valuable lessons learned during the implementation process. Gain insights into the system architecture, USB CDC in FreeRTOS, TinyUSB, and the existing system. Understand the problem statement, device connection, USB transactions, packets, endpoints, and enumeration. Follow the speaker's initial strategy, troubleshooting efforts, and the resolution achieved. Conclude with a retrospective analysis and discover the next steps for this project, equipping yourself with practical knowledge for custom driver development in Zephyr.
Syllabus
Intro
THE SPEAKER
Agenda
System Architecturé
USB CDC in FreeRTOS
TinyUSB
Existing System
Problem Statement
Device Connection
USB Transaction
USB Packet
USB Endpoints
Zero Length Packets
USB Enumeration
Initial Strategy
Troubleshooting
Initial Results
Resolution
Retrospective
Next Steps
Taught by
Linux Foundation