Overzicht
| Cursuscode | QL37V0BE | Leermethode | Klassikaal
(Hands-on labs) |
|---|---|---|---|
| Duur | 5.0 dagen | Type cursus | Publiek/privaat onsite |
| Prijs |
EUR 2.950,00 excl BTW
EUR 3.569,50 incl BTW |
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.
Deelnemers
This course is intended for UNIX/Linux programmers that want to be able to perform kernel and device driver development.
Vooropleiding
You should have:
- Completed Embedded Linux Course (QL51V0BE)
- Years long experience with C programming
Doelstelling
At the end of this course, you will be ready to work on Linux device driver development projects.
Onderwerpen
- 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