Accueil > Robotique et Internet des Objets > BSP UBoot et Linux embarqué : construire son propre système
Formation #RIS26

Formation BSP UBoot et Linux embarqué : construire son propre système

Durée : 5 jours

Code : RIS26


Prochaines dates programmées :

Du 27 au 31 Mai 2024

Du 22 au 26 Juil. 2024

Du 16 au 20 Sept. 2024

Du 11 au 15 Nov. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Comprendre l'architecture d'un système Linux
  • Créer et utiliser une chaîne de compilation croisée
  • Apprendre à installer Linux sur votre cible matérielle et écrire un BSP
  • Etre capable de développer efficacement du code applicatif métier sur un système Linux embarqué
  • Connaitre les mécanismes d'ordonnancement temps partagé et réel souple
Programme
1/ Architecture de Linux
  • Linux : Histoire. Gestion de version
  • Les diverses licences utilisées par Linux (GPL, LGPL, etc)
  • Distributions Linux
  • Architecture et modularité de Linux
2/ Les chaînes de compilation croisée
  • Chaînes de compilation croisée pré-compilées
  • Outils de génération de chaînes de compilation croisée : Crosstool-ng, Buildroot
  • Compilation manuelle de chaîne de compilation croisée
3/ Outils libres de développement embarqué
  • Outils GNU : Compilation, débogage et mise au point
  • Platesformes hôte et cible, processeurs et émulateur
4/ Introduction à Yocto
  • Présentation de Yocto
  • Histoire
  • Yocto, Open Embedded et Poky
  • Objetif du projet Yocto
  • Les principaux projets
  • Architecture Yocto
  • Aperçu
  • Recettes et classes
  • Les tâches
5/ Créer le noyau Linux embarqué
  • Télécharger un code source stable
  • Configurer le noyau
  • Compiler le noyau et ses modules
  • Installer le noyau et les modules
  • Application de patchs
  • Transférer l'image du noyau
  • Paramétrer le démarrage du kernel
  • Types de système de fichiers
  • Formater et préparer une arborescence
6/ Le BSP Linux
  • Architecture du BSP Linux
  • Structure générale
  • Le BSP ARM
  • Le système de compilation de Linux
  • Définir et initialiser la carte
  • Programmatiquement (platform, i2c, spi, …)
  • En utilisant le Flattened Device Tree
7/ Le boot loader U-Boot
  • Les bootloaders (Uboot, Redboot, barebox...)
  • Introduction à U-Boot
  • Installer U-Boot
  • Booter par TFTP et par NFS
  • Accéder aux flashs
  • Accéder aux systèmes de fichier (NFS, FAT, EXTx, JFFS2…)
  • Organisation des partitions. Gestion de versions
8/ Espace utilisateur
  • Busybox, les utilitaires basiques
  • Configurer et compiler Busybox
  • Configurer le réseau et des serveurs
  • Authentification des utilisateurs et connexion distante
9/ Code métier
  • Outils de développements : compilateurs, interpréteurs, IDE
  • Débogueur, profileur, couverture de code
  • Bibliothèques statiques et dynamiques
  • Gestion de mémoire sous Linux
10/ Drivers et modules spécifiques
  • Le principe des drivers
  • Vue d'ensemble des principes de la programmation noyau
  • Vue d'ensemble de la programmation de drivers en mode caractère
11/ Ordonnancement sous linux
  • Multi-tâche sous Linux
  • Systèmes multi-processeurs symétriques (SMP)
12/ Temps réel souple
  • Temps réel : principes
  • Fifo et Round-robin
  • Timers
  • Interruptions
  • Problèmes temps-réel classiques :
  • Lancement de tâches en parallèle
  • Inversion de priorité
  • Reprise de mutex
  • Création de processus et de threads temps-réel
  • Mesure de précision des timers
  • Effet de la préemptibilité du noyau sur la latence des interruptions
  • Examen d’inversion de priorité. Héritage de priorité. Test de reprise de mute
13/ Temps réel amélioré avec linux-rt
  • Patch Linux-rt :
  • Principe
  • Patch d’Ingo Molnar et Thomas Gleixner
  • Compilation du noyau
  • Préemption totale
  • Threadeds interrupts : Configuration de la priorité des handlers d’interruptions
  • Instrumentation et mesures : Outils RT-test et cyclictest
  • Compilation d’un noyau après application du patch Linux-rt. Vérification de la préemptibilité
  • Utilisation de cyclictest et comparaison avec le noyau standard
  • Comparaison du comportement des exemples du chapitre précédent
14/ Temps réel strict pour linux - Extension Xenomai
  • Concepts de temps-réel strict
  • Présentation de l'extension Xenomai
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Architecte ou ingénieur
Dates

Dates

  • Du 27 au 31 Mai 2024
  • Du 22 au 26 Juil. 2024
  • Du 16 au 20 Sept. 2024
  • Du 11 au 15 Nov. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.