Summary
In this course engineers will learn to write and improve Linux Kernel Drivers for Embedded Linux platforms and Linux in general. In a 50 to 60% lab-time approach, you will get direct hands-on experience, how to avoid pitfalls and get up and running quickly. In an interactive manner, you will be able to get direct feedback. We look deeper into the kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with userspace applications.
At the end of this course, you will be ready to work on Linux device driver development projects and you get the ARM development board to take with you for further experimentation.
Prerequisites
- The Embedded Linux Course
- Years long experience with C programming
Content
- Introduction to the kernel sources
- Coding standards
- Kernel source code structure
- Kernel user interface
- Kernel compiling
- Kernel configuration, cross-compiling and booting on NFS
- Linux kernel modules
- Module dependencies
- Kernel Memory Management
- I/O memory and ports registration
- Read/Write barriers
- Read/Write device drivers
- Character drivers
- Processes, scheduling, sleeping
- Interrupt handling
- Top/bottom halves implementation in device drivers
- Locking: mutexes, semaphores, spinlocks
- Lock validator
- Device Driver debugging techniques
- Interface with userspace through /sys
- mmap
- DMA API
- PCI Driver API
- Serial drivers
- Porting the Linux kernel
- Power management
- Working with the community
- Managing kernel sources with git
- Userspace device drivers
Course Materials
Provided courseware and ARM-based development board which the participants can take with them.
Administrative Information
Course dates:
23 march - 27 march 2020
5 okt - 9 okt 2020
Price 3.150,- € + VAT
More information
Phone: +32 (0)2 747 47 01
You can find the Full Calendar here.