Products built on embedded systems are now ubiquitous, powering devices ranging from small control and measurement units to high end home entertainment systems.

Linux is the natural choice for high performance embedded systems, with native support for architectures such as ARM, Mips and PowerPC.

The array of developer tools and vast library support makes it quick and painless to get a system up and running, allowing developers to focus on their product.

Linux Driver Development
Linux Driver Development


The course covers a selection of Linux Kernel API's and subsystems as well as the model used for driver development.

During the course exercises, you'll implement several kernel modules using a few different frameworks for driver development.

Combine this course with course No 304 The Diameter Protocoll for AAA in LTE for best learning effect.


Developers within Linuxs. Participants are expected to be familiar with C programming. Some Linux/Unix- experience is needed.
Linux Driver Development

Due to Covid-19, and the uncertain travel recommendations for Autumn 2020, it is decided that this course is planned to run Online only. The daily schedule will be adjusted to fit remote training, with less hours per day divided into extra days. Make a preliminary booking and we will keep you updated.

Day 1

  • Kernel overview
  • Introduction to Open Source Software Licenses
  • Configuration

Day 2

  • Introduction to Kernel Modules
  • Character Device Drivers
  • Resource Management
  • Memory Allocations; MMIO
  • Concurrency & Locking

Day 3

  • Interrupts
  • Sleep & Timers
  • Device Driver Model
  • Kernel Frameworks
  • Device Tree