Linux Kernel Driver Development
This online course is an introduction to the development of device drivers in the Linux kernel. It introduces how to configure and build the Linux kernel for an embedded platform, and then dives into the world of Linux kernel driver development: kernel modules, device model, Device Tree, interacting with hardware through various busses, exposing the functionality of device drivers to Linux applications, memory management, interrupt handling, Linux kernel debugging, and more.
The course is structured around the development of two real and fully functionality Linux kernel drivers, which will be developed step by step, from scratch.
Trainees can opt to follow lab demonstrations done by the tutor or to order the demo board and replicate the labs themselves. There will be an optional extra day's session of 4 hours on 3 Dec, 1pm-5pm, depending on the number of questions and if help is required by any participants who opt to order the demo board and to do the practical labs themselves.