Developing Linux Device Drivers

4 Day Course
Hands On
Official The Linux Foundation Curriculum
Code LFD430

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Overview

Learn how to develop device drivers for Linux systems. This 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.

This course will teach you how to develop device drivers for Linux systems, grounded with a basic familiarity and understanding of the underlying Linux kernel.

You’ll learn:

  • 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 developing and debugging Linux drivers
  • And more.

The information in this course will work with any major Linux distribution.

Modules

Course Topics (28 topics)

  • Introduction
  • Preliminaries
  • Device Drivers
  • Modules and Device Drivers
  • Memory Management and Allocation
  • 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
  • Device Trees
  • Direct Memory Access (DMA)
  • Network Drivers I: Basics
  • Network Drivers II: Data Structures
  • Network Drivers III: Transmission and Reception
  • Network Drivers IV: Selected Topics
  • USB Drivers
  • Power Management
  • Block Drivers

Prerequisites

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.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.

Pricing

Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price May Jun Jul Aug Sep Oct
Later scheduled dates may be available for this course.

Course PDF

Print

Share this Course

Share

Recommend this Course

Sections