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
- Aperçu de Linux embarqué
- Architecture du noyau Linux
- Espace utilisateur vs espace noyau
- Rôles et responsabilités du noyau
- Flux de travail de développement du noyau
- Aperçu 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 requis
- Configuration de la carte de développement BeagleBone Black
- Configuration de la console série
- Amorçage de l'appareil cible
3. Obtention et compréhension du code source du noyau
- Arborescence du code source 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 des images de noyau
- Installation des modules du noyau
- Aperçu des chargeurs d'amorçage (bootloaders)
- Amorçage d'un noyau personnalisé
5. Fondamentaux de l'arborescence d'appareils (Device Tree)
- Objectif de l'arborescence d'appareils
- Fichiers sources Device Tree (DTS)
- Objets binaires Device Tree (DTB)
- Concepts de description du matériel
- Modification des fichiers Device Tree
- Construction et déploiement des arborescences d'appareils
6. Modules du noyau Linux
- Architecture des modules du noyau
- Construction de modules chargeables
- Chargement et déchargement des modules
- Paramètres des modules
- Dépendances des modules
- Interaction avec les modules du noyau
- Techniques de débogage des modules
7. Débogage du noyau Linux
- Journaux 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 suivi de performance de base
8. Pilotes d'appareils à caractères
- Modèle de pilote de périphérique Linux
- Appareils à 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 du pilote
9. Intégration de pilotes et accès au matériel
- Appareils et pilotes de plateforme
- Programmation des entrées/sorties numériques (GPIO)
- Gestion des interruptions
- Minuteries et tâches différées
- Accès aux registres du matériel
- Travail avec l'entrée/sortie mémo-mapée (memory-mapped I/O)
10. Contrôle de version avec Git
- Fondamentaux de Git
- Gestion du code source du noyau
- Branche et fusion
- Création de correctifs (patches)
- Revue des modifications
- Collaboration dans le développement du noyau
11. Laboratoires 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 d'appareil à caractères de base
- Modification des fichiers Device Tree
- Débogage des problèmes du noyau sur BeagleBone Black
12. Bonnes pratiques et résumé
- Style de codage du noyau
- Écriture de pilotes évolutifs et maintenables
- Pièges courants du développement
- Ressources de documentation du noyau
- Flux de travail pour les contributions open source
- Révision des concepts clés
- Questions et réponses
- Prochaines étapes 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