Writing Linux Device Drivers

This hands-on course provides detailed information of the workings of the Linux kernel that are essential to support device drivers, such as file system structures, memory management, timing functions and various forms of resource allocation. It also helps the participant understand those aspects of hardware devices that come into play with device drivers, such as interrupt handling for both block and character devices. There are many lab exercises that reinforce the learning experience. This course also provides a brief explanation of Linux network device drivers. It assumes that the participant already possesses the necessary programming skills. There is a vast amount of information about the Linux operating system. This course helps the participant locate information about device drivers for unique or unusual device types. While this course focuses on devices for the Intel environment, the basic knowledge gained is essential for writing device drivers for any hardware platform.
The student should have moderate to strong C programming skills. A working familiarity with the Linux kernel is required. This course also assumes that the participant is comfortable programming in the UNIX environment and is skilled at navigating the UNIX hierarchical directory structures and using a UNIX text editor such as vi or emacs.
5 Days/Lecture & Lab
This course is designed for system programmers who require the skills needed to write device drivers for the Linux operating system.
A Review of the Linux Kernel::Creating Linux Modules::Creating a Character Device Driver::Managing Hardware Resources::Programming with ioctl ()::Cross Memory Copying::Utilities for Linux Device Drivers::Handling Interrupts::Creating a Block Device Driver::Memory Mapped I/O::Kobjects

Related Scheduled Courses