LFD430: Developing Linux Device Drivers

2,995.00  excl. VAT

Course Code: LFD430

Duration: 4 days;

Delivery dates: TBA;

Instructor: TBA;

Certificate: Yes, upon completion;

Location: TBA.

Description

About

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.

Audience

This course is designed for anyone interested in learning how to write device drivers for Linux. Students should be proficient in the C programming language and be familiar with basic Linux utilities and text editors.

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.

Course Materials

Authorized printed training materials from The Linux Foundation. As part of your registration, a printed copy of the course manual will be course manual will be provided. If you are attending in person the material will be available onsite on the day the class begins.

Course Description

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.

Course Outline

  • 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

Why train with The Linux Foundation

The Linux Foundation is the go-to source for training on virtually every aspect of Linux and many other open source technologies. Here are a few things that make The Linux Foundation the right choice for training:

  1. The Linux Foundation is the non-profit organization that hosts Linux and many other open source projects, employs Linux creator Linus Torvalds and hosts kernel.org (where all Linux kernel updates are released).
  2. Being so close to the kernel The Linux Foundation is constantly updating training to ensure that the most up-to-date information is being thought. Linux Foundation Training is unique in that all our training courses are designed to work on all major Linux distributions (including RedHat, Ubuntu and SUSE).
  3. The Linux Foundation does not sell any software or support services so there’s no hidden sales agenda in the training material. The only goal is to help students learn the material.
  4. When you train with The Linux Foundation, you’re learning from instructors who are comfortable across all major Linux distributions and can answer student questions regardless of the distribution you’re using for the class. You are truly learning from the experts.