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

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

Formation avec Restauration incluse
(Déjeuner, Petit Déjeuner et Pauses Cafés)

Durée : 5 jours

Code : RIS26


Sessions programmées :

Du 25 au 29 Jan. 2021

Du 15 au 19 Mars 2021

Du 10 au 14 Mai 2021

Du 05 au 09 Juil. 2021

Du 18 au 22 Oct. 2021

Du 27 au 31 Déc. 2021

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
  • Pour les entreprises AU MAROC :
    Au minimum 10 JOURS OUVRÉS avant la date de formation
  • Pour les entreprises HORS MAROC :
    Au minimum 15 JOURS OUVRÉS avant la date de formation

Formation dans votre entreprise.

Durée : 5 jours

Code : RIS26


Vous souhaitez réaliser cette formation en vos locaux avec le même programme ?

Vous souhaitez personnaliser le programme de cette formation pour qu'elle réponde aux spécificités de votre entreprise ?

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 25 au 29 Jan. 2021
  • Du 15 au 19 Mars 2021
  • Du 10 au 14 Mai 2021
  • Du 05 au 09 Juil. 2021
  • Du 18 au 22 Oct. 2021
  • Du 27 au 31 Déc. 2021
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
    • Pour les entreprises AU MAROC : Au minimum 10 JOURS OUVRÉS avant la date de formation
    • Pour les entreprises HORS MAROC : Au minimum 15 JOURS OUVRÉS avant la date de formation