A hands-on course to enable you to write device drivers for hardware peripherals and devices in an embedded Linux system.
COVID-19 Update: View Doulos COVID News Updates »
This course is available Live Online worldwide: View the Live Online full course description »
In-person training schedule under review for 2022. Please contact us to discuss your requirements for in-person individual and team training.
Practical Embedded Linux Device Drivers is designed to give engineers the knowledge and skills to work confidently with all the components of the kernel to successfully develop device drivers.
Workshops comprise approximately 50% of this 4-day training course, with carefully designed hands-on exercises to reinforce learning. The workshops use devices from the 96Boards project, which provides a flexible learning environment that can replicate the individual projects attendees are facing. The 96Boards family includes devices from many of the major SoC Vendors, applicable to a wide range of different application contexts.
Why choose this particular course?
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. So as well as building confidence in working with the kernel components needed for a specific project, attendees also gain a sound understanding of the overall framework. This ensures the KnowHow delivered by the training will continue to be useful and valid for future device driver projects.
This course is suitable for engineers working in SoC, FPGA or custom board environments who want to get started quickly on developing custom kernel drivers. Although the course is primarily targeting
ARM based embedded systems it is still relevant for users of other commonly used embedded CPUs
such as MIPS, PowerPC etc.
This is a hands-on training course and labs are conducted on a real target board (one of the
96Boards family of development platforms), with an ARM 32bit or 64bit CPU.
The course also takes advantage of the Grove Sensor Mezzanine board to enable attendees to develop and test drivers with real hardware.
Please contact the Doulos team to discuss your specific project and hardware requirements.
Introduction to Kernel Development
Kernel & Module Building
Device Driver Models
Working with Devicetrees
User Space Interfaces
Data Structures and Concurrency
Scheduling and Managing Work
User Space Drivers
Frameworks and Subsystems
Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include fully indexed class notes creating a complete reference manual.
Complete an enquiry form and a Doulos representative will get back to you.
Enquiry FormPrice on request