lf logo
7787  Reviews star_rate star_rate star_rate star_rate star_half

Developing Linux Device Drivers

This instructor-led Linux device driver course will teach you about the different types of Linux device drivers as well as the appropriate APIs and methods through which devices interface with the...

Read More
$3,250 USD
Course Code LFD430
Duration 4 days
Available Formats Classroom, Virtual

This instructor-led Linux device driver course will teach you about the different types of Linux device drivers as well as the appropriate APIs and methods through which devices interface with the kernel.

Skills Gained

This course will cover the different kinds of device drivers used in Linux, the appropriate APIs through which devices (both hardware and software) interface with the kernel, necessary modules and techniques for Linux driver development and debugging, and much more.

Who Can Benefit

This course is for experienced developers who want to learn how to develop device drivers for Linux systems.

Prerequisites

To make the most of this course you must have:

  • Knowledge of basic kernel interfaces and methods such as how to write, compile, load and unload modules, use synchronization primitives, and the basics of memory allocation and management, such as is provided by LFD420 Linux Kernel Internals and Development. Pre-class preparation material will be provided before class.

Course Details

Course Outline

  • Introduction
  • Preliminaries
  • How to Work in OSS Projects **
  • Device Drivers
  • Modules and Device Drivers
  • Memory Management andAllocation
  • Character Devices
  • Kernel Features
  • Transferring Between User and Kernel Space
  • Interrupts and Exceptions
  • Timing Measurements
  • Kernel Timers
  • ioctls
  • Unified Device Model and sysfs
  • Firmware
  • Sleeping and Wait Queues
  • Interrupt Handling: Deferrable Functions and User Drivers
  • Hardware I/O
  • PCI
  • Platform Drivers**
  • Direct MemoryAccess(DMA)
  • Network DriversI: Basics
  • Network DriversII: Data Structures
  • Network DriversIII: Transmission and Reception
  • Network DriversIV: Selected Topics
  • USB Drivers
  • Power Management
  • Block Drivers
  • Closing and Evaluation Survey
  • KernelArchitecture I
  • Kernel Programming Preview
  • Modules
  • KernelArchitecture II
  • Kernel Configuration and Compilation
  • Kernel Style and General Considerations
  • Race Conditions and Synchronization Methods
  • Memory Addressing
  • Memory Allocation
|
View Full Schedule