Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Linux Foundation

Implementing a Custom USB Device Controller Driver in Zephyr

Linux Foundation via YouTube

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

Reviews

Start your review of Implementing a Custom USB Device Controller Driver in Zephyr

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.