embedded linux device driver

Embedded Linux Device Driver Training

Next course: TBD
Place: TBD
Language: English/Swedish
Price: 2.400 EUR, 25.600 SEK, 17.000 DKK

Request more information

Heidi Lehtomäki – Finland
phone: +358 40 196 0142

Lena Bernhardsson – Sweden, Norway
+46 (0) 40 59 22 09

Klaus Ahrensbach – Denmark
Phone: +45 3116 1019

On this “Embedded Linux Device Driver Training” course you will learn how to develop Linux kernel modules and device drivers for different type of hardware interfaces.

During course many of the Kernel API will be highlighted and the usage of different debug technique will be learned.

Previous knowledge

You know programming and have basic knowledge in the C-programming language, equal to the “C-programming for embedded systems, part I” training.

You should also have some prior experience using Linux/UNIX as a user, and have some experience on how to use development environments and debuggers for Embedded Systems.

Practical exercises / Tools

Embedded Linux Approximately half of the time will be on hands-on exercises. They have been designed to highlight the development process for Embedded Linux projects.

Students work in pairs with the exercises with guidance from the trainer.

emb-linuxWe use a PC as host for the development environment and connect to an ARM-based target system (BeagleBone). On the target we run Embedded Linux.

You will keep the BeagleBone, as well as USB-adapters, to be able to continue exploring embedded Linux after the training.



  • What is Linux Loadable Kernel Modules?
  • Material and tools used during training.


  • Software licenses and ways around them
  • Patents
  • Getting the source
  • Configuration and compiling

Basic Device Drivers

  • Linux Loadable Kernel modules framework
  • Loading and managing modules
  • Building and testing drivers

Character Device Drivers

  • Initialization and de-initialization
  • Callback functions
  • User accesses

Kernel and driver debugging

  • Debugging techniques

Memory Accesses

  • Memory regions IO regions
  • Allocating memory

Kernel APIs

  • Concurrent and race conditions
  • Locking
  • Time, Delays and sleeping Interrupts
  • Timers

Hardware Accesses

  • ISA drivers
  • Memory mapped drivers
  • PCI drivers
  • USB drivers

Do you wish more information!

Contact us for offers, information or advice!