Course Description

The ever-growing demand for connectivity and multimedia applications is resulting in embedded Linux systems driving increasingly complex devices. Developing custom device drivers for the Linux kernel can be a complex and difficult task, with an array of implementation choices available.
This course aims to reduce development time by demonstrating how the range of helper functions and mechanisms provided by the kernel can make custom device driver creation easier. Attendees should come away from the course with a clear understanding of how to go about designing their device driver and what kernel mechanisms they can make use of.
All the main kernel interfaces and structural elements are covered in the course, allowing attendees to gain a sound understanding of the overall framework. This ensures that this training will continue to be useful and valid for future device driver projects.

Course Outline

Introduction to Kernel Development
Kernel & Module Building
Kernel Debugging
Device Driver Models
Working with Device trees
User Space Interfaces
Hardware interfaces
Data Structures and Concurrency
Scheduling and Managing Work
User Space Drivers
Frameworks and Subsystems
Introduction to RTOS
Kernel Shell
Real-Time Multitasking
Inter-task Communication
Real Time Processes (RTPs)
Exceptions, Interrupts and Timers
I/O and File Systems


Experience in C or C++ programming and Linux.

Applies Towards the Following Certificates

Enroll Now - Select a section to enroll in
Section Title
Practical Embedded Linux Device Drivers
M, W
Time (Central Time)
5:30PM to 8:30PM
Oct 09, 2023 to Nov 01, 2023
Schedule and Location
# of Course Hours
Delivery Option
Course Fee(s)
Rate non-credit $2,995.00
Potential Discount(s)
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.