Bedankt voor uw aanvraag! Een van onze medewerkers neemt binnenkort contact met u op
Bedankt voor uw boeking! Een van onze medewerkers neemt binnenkort contact met u op.
Cursusaanbod
1. Inleiding tot de Linux-kernel
- Overzicht van ingebedde Linux
- Architectuur van de Linux-kernel
- Gebruikersruimte (user space) vs. kernelruimte (kernel space)
- Verantwoordelijkheden van de kernel
- Werkflow voor kernelontwikkeling
- Overzicht van ondersteunde ingebedde platformen
2. Inrichten van de ontwikkelomgeving
- Voorbereiden van het ontwikkelstation
- Begrippen rondom cross-compilatie
- Installatie van vereiste ontwikkelingshulpmiddelen
- Instellen van het BeagleBone Black ontwikkelingsbord
- Configuratie van de serielele console
- Opstarten van het doeleindetoestel
3. Verkrijgen en begrijpen van de kernalcodebron/h3>
- Linux-kernelbroncodeboom
- Stabiele kernels vs. kernels met langdurige ondersteuning
- Downloaden van de kernalcodebronnen
- Verkenning van de structuur van de broncode
- Kernel-documentatie
- Beheer van kernelversies
4. Configureren, compileren en opstarten van de kernel
- Kernelconfiguratie met behulp van menuconfig
- Selecteren van kernelfuncties
- Cross-compileren van de kernel
- Bouwen van kernelafbeeldingen
- Installeren van kernalmodules
- Overzicht van de bootloader
- Opstarten van een aangepaste kernel
5. Basisbegrippen van Device Tree
- Doel van Device Tree
- Device Tree Source (DTS)-bestanden
- Device Tree Blob (DTB)
- Begrippen rondom hardwarebeschrijving
- Aanpassen van Device Tree-bestanden
- Bouwen en implementeren van Device Trees
6. Linux-kernalmodules
- Architectuur van kernalmodules
- Bouwen van laadbare kernalmodules
- Laden en ontladen van modules
- Moduleparameters
- Afhankelijkheden van modules
- Interactie met kernalmodules
- Technieken voor het debuggen van modules
7. Debuggen van de Linux-kernel
- Kernelloggen met printk()
- Gebruik van dmesg
- Dynamisch debuggen
- Analyse van kernel panics
- Oops-berichten
- Debuggen met GDB
- Basisprestatiesporen (performance tracing) tools
8. Karakterapparaatstuurprogramma's
- Linux-apparaatstuurprogramma-model
- Karakterapparaten
- Registreren van stuurprogramma's
- Bestandsoperaties
- Lees- en schrijfoperaties
- IOCTL-interface
- Gheugbeheer
- Opschonen van stuurprogramma's
9. Stuurprogrammaintegratie en hardware-toegang
- Platformapparaten en -stuurprogramma's
- GPIO-programmering
- Bewerking van onderbrekingen (interrupts)
- Timers en uitgestelde taken (deferred work)
- Toegang tot hardware-registers
- Werken met memory-mapped I/O
10. Versiebeheer met Git
- Git-basisbegrippen
- Beheer van kernalcodebroncode
- Takken (branching) en samenvoegen (merging)
- Creëren van patches
- Beoordelen van wijzigingen
- Samenwerken aan kernelontwikkeling
11. Hands-on lab's voor kernelontwikkeling
- Configureren van een aangepaste kernel
- Bouwen en implementeren van de kernel
- Creëren van een eenvoudige kernalmodule
- Ontwikkelen van een basis karakterapparaatstuurprogramma
- Aanpassen van Device Tree-bestanden
- Debuggen van kernelproblemen op BeagleBone Black
12. Beste praktijken en samenvatting
- Stijl voor kernelcoderen
- Schrijven van onderhoudbare stuurprogramma's
- Gemene valkuilen in de ontwikkeling
- Kernel-documentatiebronnen
- Werkflow voor open-source bijdragen
- Bespreking van kernbegrippen
- Vragen en antwoorden
- Volgende stappen voor Linux-kernelontwikkeling
}
Vereisten
Basisbekendheid met het gebruik van een GNU/Linux-systeem
14 Uren
Getuigenissen (2)
De kennis van de trainer. Hij kon alle mijn vragen beantwoorden, zelfs vragen over ons platform. Hij bleef ook doorhelpen tot we het materiaal allemaal begrepen.
James O'Donnell - Tennant Company
Cursus - Embedded Linux Kernel and Driver Development
Automatisch vertaald
I liked the hands-on nature of it.
Maurice Egan
Cursus - Embedded Linux Kernel and Driver Development
Automatisch vertaald