Linux kurs

Embedded Linux Device Driver Training

Description

Embedded Development & Debugging
9.-11. January 2018/Tampere (FI)
FULLY BOOKED
3 days
SEK 19.900
DKK 17.800
EUR 2.360 (FI)

Request more information

Lena Bernhardsson
+46 (0) 40 59 22 09
lena.bernhardsson@nohau.se

Training material, loan computers and lunch are included.

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 LinuxApproximately 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.

Content

Introduction

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

Overview

  • 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

Please contact us for more information!

Don't wait, call us now!