Advanced Embedded Driver Bootcamp: High-Speed Buses
Advanced embedded driver engineering across high-speed buses: PCIe, USB 3.x, 10G Ethernet, SATA/NVMe, MIPI and SerDes.
Advanced30 lessons
written lessons≈ 15 h
Linux Kernel & Device Drivers, Embedded Linux & Multimedia · 30 illustrated lessons (text/HTML)
Outcomes
- Develop drivers for PCIe, USB 3.x, SATA/NVMe, SD/eMMC and CAN
- Understand SerDes, MIPI interfaces and FPGA-SoC links
- Finish with two production-style projects: PCIe capture and MIPI multi-camera
Where we teach this
The lessons
Every lesson in this curriculum, in the order we teach it.
- 1Overview of high-speed interfaces and buses
- 2Core course goals
- 3Timing and signal-integrity concepts
- 4Advanced interrupt subsystem topics
- 5The DMA engine framework and development
- 6PCI/PCIe bus protocol basics
- 7USB protocol evolution and architecture
- 8Course overview
- 9Course overview
- 10Course overview
- 11I2C bus protocol core
- 12SPI protocol basics and modes
- 13CAN protocol and frame format
- 14Course overview
- 15High-speed video interfaces overview
- 16High-speed audio interfaces and the Linux audio framework
- 17Course introduction
- 18Course overview
- 19Introduction: the evolution and challenges of industrial communication
- 20Course overview
- 21High-speed interface debugging and performance analysis
- 22Advanced device-tree use
- 23Kernel module signing: ensuring code integrity and trusted origin
- 24ioctl: the device control interface
- 25Core course overview
- 26Course introduction
- 27Driver porting and adaptation
- 28Introduction: why driver testing is essential
- 29Project 1: PCIe high-speed data-acquisition card driver development
- 30Project 2: multi-camera fusion driver over MIPI CSI-2, with course summary
All-access library
Every curriculum on this page, with the labs and lab sequences, for a year.