Vue générale
| Code cours | QL37V0BE | Type de formation | Salle de cours
(Travaux pratiques) |
|---|---|---|---|
| Durée | 5.0 jours | Type de cours | Public/Privé |
| Liste des prix |
EUR 2.950,00 excl TVA
EUR 3.569,50 incl TVA |
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.
Participants
This course is intended for UNIX/Linux programmers that want to be able to perform kernel and device driver development.
Pré-requis
You should have:
- Completed Embedded Linux Course (QL51V0BE)
- Years long experience with C programming
Objectifs
At the end of this course, you will be ready to work on Linux device driver development projects.
Sujets clefs
- 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