Skip to main content.

Agenda for Training course Embedded GNU/Linux Device Drivers

This 3-day training class uses hands-on exercises combined with instruction to illustrate the concepts of GNU/Linux kernel internals and device driver development. It is designed to bring you quickly up to speed. We describe processes, concepts and commands necessary to write GNU/Linux device drivers through a combination of theory and on-the-job training. Donít reinvent the wheel, but learn from an experienced trainer and take home a working knowledge and the ability to use it effectively in your own embedded development project.

Prerequisites

Who should attend?

People with interest in or tasked with the development or evaluation of developing GNU/Linux device drivers like software engineers, field engineers, (project) managers, hardware engineers.

Course Outline

Note: There are many different classes of device drivers - a driver for a DAC connected tho the I2C bus and a driver for a camera attached to a FPGA interfacing to the V4L subsystem may have a few things in common, but if you look closer, they are totally different beasts. It is impossible to cover all classes of drivers in depth in any kind of training class - please understand the following list as of frequent topics, where we will pick from on demand of the participants of each class - and also we may add additional topics if wanted/needed. So there will not be any two identical classes - this is always more of a dedicated workshop for your specific needs instead of a canned (and useless) standard course.

Introduction

Memory Management

Kernel Patch

Kernel Module

Char Drivers

Advanced Character Driver Operations

Kernel Debugging

Tracing

Interrupts

Deferring Work

Concurrency

Time

Hardware I/O

User-Kernel Communication

Portability