Developing Linux Device Drivers (LFD430)
This instructor-led Linux Device Drivers course will list 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 cover the different types of device drivers used in Linux, the appropriate APIs through which devices (both hardware and software) interface with the kernel, the modules and techniques needed for developing and debugging Linux drivers, and much more.
COD: LFD430
Categorie: Linux Foundation
Teaching Methodology
The course includes educational laboratories in which each student will be able to work in order to complete training exercises that will provide practical experience in the use of the tool, for each of the topics covered during the course.
Who should participate
Prerequisites
Knowledge of basic kernel interfaces and methods, such as writing, compiling, loading and unloading modules, using synchronization primitives, and basic memory allocation and management, such as those provided by LFD420 Linux Kernel Internals and Development.Â
Educational program
- Introduction
- Premises
- How to work in OSS projects
- Device Driver
- Device Modules and Drivers
- Memory management and allocation
- Character devices
- Kernel Features
- Transfer between userspace and kernelspace
- Interruptions and exceptions
- Time measurements
- Kernel Timer
- ioctls
- Unified Device Model and sysfs
- Firmware
- Waiting queues
- Interrupt Management: Deferrable Functions and User Drivers
- Hardware I/O
- PCI
- Platform Driver
- Direct Memory Access (DMA)
- Network Drivers I: Basics
- Network Driver II: Data Structures
- Network Driver III: Transmission and Reception
- Network Driver IV: Selected Topics
- USB Drivers
- Energy management
- Block Driver
- Closure and evaluation survey
- Kernel Architecture I
- Kernel Programming Preview
- Forms
- Kernel Architecture II
- Kernel configuration and compilation
- Kernel style and general considerations
- Race conditions and synchronization methods
- Memory Addressing
- Memory allocation
By the end of this online course on Linux device drivers, you should be able to develop device drivers for Linux systems, starting with a basic familiarity and understanding of the Linux kernel.
Duration – 4 days
Delivery – In Classroom, On Site, Remote
PC and SW requirements:
- Internet connection
- Web browser, Google Chrome
- Zoom
Language
Trainer: Italian
Labs: English
Slides: English