Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
Durée 14 heures
Plan du cours
1. Introduction au noyau Linux
- Vue d’ensemble de Linux embarqué
- Architecture du noyau Linux
- Espace utilisateur vs espace noyau
- Responsabilités du noyau
- Cycle de vie du développement du noyau
- Vue d’ensemble des plateformes embarquées prises en charge
2. Configuration de l’environnement de développement
- Préparation de la station de travail
- Concepts de compilation croisée
- Installation des outils de développement nécessaires
- Configuration de la carte de développement BeagleBone Black
- Configuration de la console série
- Amorçage du périphérique cible
3. Obtention et compréhension des sources du noyau
- Arborescence des sources du noyau Linux
- Noyaux stables vs noyaux à support long terme
- Téléchargement des sources du noyau
- Exploration de la structure du code source
- Documentation du noyau
- Gestion des versions du noyau
4. Configuration, compilation et amorçage du noyau
- Configuration du noyau à l’aide de menuconfig
- Sélection des fonctionnalités du noyau
- Compilation croisée du noyau
- Construction d’images du noyau
- Installation des modules du noyau
- Vue d’ensemble du chargeur de démarrage (bootloader)
- Amorçage d’un noyau personnalisé
5. Fondamentaux de l’arbre de périphériques (Device Tree)
- Objectif de l’arbre de périphériques
- Fichiers de source d’arbre de périphériques (DTS)
- Binaire d’arbre de périphériques (DTB)
- Concepts de description matérielle
- Modification des fichiers d’arbre de périphériques
- Construction et déploiement des arbres de périphériques
6. Modules du noyau Linux
- Architecture des modules du noyau
- Construction de modules de noyau chargeables
- Chargement et déchargement des modules
- Paramètres des modules
- Dépendances entre modules
- Interaction avec les modules du noyau
- Techniques de débogage de modules
7. Débogage du noyau Linux
- Journalisation du noyau avec printk()
- Utilisation de dmesg
- Débogage dynamique
- Analyse des pannes critiques du noyau (kernel panic)
- Messages d’erreur Oops
- Débogage avec GDB
- Outils de base de traçage des performances
8. Pilotes de périphériques en caractères
- Modèle de pilote de périphérique Linux
- Périphériques en caractères
- Enregistrement des pilotes
- Opérations sur les fichiers
- Opérations de lecture et d’écriture
- Interface IOCTL
- Gestion de la mémoire
- Nettoyage des pilotes (cleanup)
9. Intégration des pilotes et accès au matériel
- Périphériques et pilotes de plateforme
- Programmation des E/S en général (GPIO)
- Gestion des interruptions
- Minuteries et travaux différés
- Accès aux registres matériels
- Travail avec les E/S mappées en mémoire
10. Contrôle de version avec Git
- Fondamentaux de Git
- Gestion du code source du noyau
- Création de branches et fusion
- Création de correctifs (patches)
- Revue des modifications
- Collaboration sur le développement du noyau
11. Travaux pratiques de développement du noyau
- Configuration d’un noyau personnalisé
- Construction et déploiement du noyau
- Création d’un module de noyau simple
- Développement d’un pilote de périphérique en caractères de base
- Modification des fichiers d’arbre de périphériques
- Débogage de problèmes de noyau sur BeagleBone Black
12. Bonnes pratiques et synthèse
- Style de codage du noyau
- Rédaction de pilotes maintenables
- Écueils courants du développement
- Ressources de documentation du noyau
- Flux de contribution open source
- Rappel des concepts clés
- Questions et réponses
- Étapes suivantes pour le développement du noyau Linux
Pré requis
Connaissances de base de l’utilisation d’un système GNU/Linux
Nos clients témoignent (2)
La connaissance du formateur. Il a su répondre à toutes mes questions, y compris celles concernant notre plateforme. Il est également resté disponible jusqu'à ce que nous comprenions tous le matériel.
James O'Donnell - Tennant Company
Formation - Embedded Linux Kernel and Driver Development
Traduction automatique
I liked the hands-on nature of it.
Maurice Egan
Formation - Embedded Linux Kernel and Driver Development
Traduction automatique