This Linux Device Driver training course teaches experienced C programmers already familiar with the Linux kernel architecture the skills and strategies they need to develop device drivers. This course covers device driver models (including character, block, and network device drivers); device interaction (including port I/O, memory mapped I/O, interrupt handling, and DMA transfers); managing PCI and USB devices; strategies for deferring activity using tasklets and work queues; device registration using the Unified Device model and the sysfs filesystem; and process interaction, including basic file operations, polling, and wait queues.
By attending Linux Device Driver workshop, delegates will learn:
- Introduction and Review of Kernel Programming
- Device Drivers
- Unified Device Model
- Interrupt Handling
- Advanced File Operations
- Interacting With Devices
- Direct Memory Access
- PCI Drivers
- USB Drivers
- Introduction to Network Device Drivers
- Introduction to Block Device Drivers
- Experience in C programming
- Experience in Linux Kernel Internals
Experienced C programmers with a good understanding of the Linux kernel who want to learn how to develop device drivers for Linux systems.