![]() |
This course delves deep into the implementation details of the Linux device driver subsystem. This course is targeted at individuals who intend to write device drivers or kernel modules.
Introduction to Linux Device Drivers
Creating Linux Modules
Creating a Character Device Driver
Managing Hardware Resources
Programming with ioctl()
Linux Cross-Memory Access
Utilities for Linux Device Drivers
Linux Interrupts and Serialization
Linux Block Device Drivers
Memory-Mapped Device IO
Upon completion of this course, the student will be able to describe the various aspects of Linux driver development and write basic device drivers for character and block devices. In addition, the hands-on exercises will reinforce the issues involved in kernel code development.
Students are invited to bring their current ideas and questions to the classroom for discussion. Case studies, lecture, group problem solving, and online laboratories will be used. Students will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops.
The only prerequisite is that students should be familiar with the Unix/Linux command line interface. The students will be expected to execute commands, edit files, and navigate around system directories. Many of the labs require shell command line familiarity. Knowledge of the C programming language (used to develop the drivers) is not strictly required, but the benefit of this course is greatest when the student has experience with programming in C.