• NEW

Formation Uboot et BSP LINUX embarqué Bootloader, BSP, DTB et drivers LINUX

Durée 5 jours
Niveau Avancé
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence BSPU
Éligible CPF Non

Chaque jour LINUX est embarqué dans de nouvelles plateformes, téléphones portables, télévisions, systèmes de surveillance ou systèmes d'acquisition, spatial, automobile et aéronautique, IoT, c'est aujourd'hui le système d'exploitation le plus utilisé sous sa forme LINUX originale ou avec les additions fournies par ANDROID.

Le bootloader Uboot, utilisé sur les cartes ARM et PowerPC et est devenu le boot-loader de référence pour les systèmes embarqués. Il permet de préparer le matériel, de charger le device tree (DTB) contenant la configuration matérielle et le noyau LINUX depuis la plupart des solutions de stockage ou au travers du réseau.

Objectif opérationnel :

Comprendre et mettre en œuvre les étapes d'un portage de Uboot et de Linux sur une nouvelle carte.

Objectifs pédagogiques :

A l'issue de cette formation, vous aurez acquis les connaissances necessaires pour :

  • Porter Uboot sur une nouvelle carte
  • Comprendre et modifier un fichier DTS (Device Tree Source)
  • Connaître les adaptations nécessaires au BSP LINUX pour un portage
  • De créer un micro système de fichier LINUX et d'y ajouter de nouveaux modules noyau

Public :

Ce cours cible principalement les profils de développeurs, ingénieurs, chefs projet de projet qui souhaitent acquérir une formation complète et opérationnelle sur la mise en œuvre de LINUX dans un système embarqué.

Cette formation s’adresse aussi aux managers qui souhaitent acquérir une première expérience pratique du portage de Uboot et de LINUX, de l'écriture de drivers et de DTS afin d’être plus pertinent sur les facilités et difficultés de celui-ci pour un management au quotidien plus pertinent de leurs équipes.

Prérequis :

Pour suivre ce cours il est nécessaire de connaître à la fois le langage C utilisé lors de tous les exercices de programmation et une connaissance sommaire du SHELL de LINUX qui sera utilisé pour les exercices à la fois sur l'ordinateur de travail et sur le système embarqué construit pendant la session.

Jour 1

Outils

Présentation de LINUX embarquéNous effectuons un rappel sur les licences utilisées dans LINUX et abordons le boot de LINUX sur une carte générique.Chaîne de compilation croiséeAprès avoir détaillé les sources d'obtention des chaînes de compilation croisées nous détaillons les différents outils contenu dans celles-ci. (objcopy, objdump, readelf, gdb)Chaînes de génération de systèmes embarquésBuildroot et Yocto sont les deux principaux outils de génération d'un système embarqué, nous en verrons les différences principales. Ces deux systèmes de fabrication utilisent tous deux busybox.QEMUFonctionnant comme émulateur QEMU est très utile pour la mise au point aussi bien au très bas niveau qu'au niveau applicatif.Travaux PratiquesConstruction d'un système embarqué avec Buildroot et installation dans l'émulateur QEMU. Jour 2

UBoot

Présentation de UBootUboot est un mini système d'exploitation mono utilisateur et mono tâche. Nous en ferrons une courte présentation historique.Comment porter Uboot sur une nouvelle carteIci nous étudierons les points d'entrée qui permettent d'adapter Uboot au matériel utilisé.Utiliser Uboot pour debugger une carteDu fait que Uboot peut fonctionner directement depuis la ROM il peut être particulièrement intéressant de lui ajouter des fonctionnalités spécifiques à un matériel donné.Chargement de Linux par UBootNous voyons comment Uboot peut charger un noyau LINUX ou un autre système d'exploitation et placer le DTB et un système de fichier en mémoire.Travaux PratiquesAdaptation de Uboot à une carte imaginaire et test dans QEMU ou sur du matériel fourni.
Modification de Uboot pour lui apporter une nouvelle commande de test mémoire.
Démarrage de LINUX dans QEMU ou sur une carte fournie.
 Jour 3

Linux

La phase de bootDans cette partie nous analysons comment le noyau LINUX, une fois placé en mémoire par Uboot va initialiser ses différents sous-systèmes et lancer le process utilisateur "init"Les modules et les driversNous abordons le "device driver framework", les modules et le sysfs.La gestion des threadsNous étudions comment le noyau LINUX crée et de ordonne les threads. (POSIX, SCHED-DEADLINE)
Nous voyons comment les threads sont mis en attente de ressources puis réveillés. (schedule, wakeup)
Puis nous abordons les attentes de plus haut niveau. (Mutex, completions, RCU)
La gestion des ProcessNous étudions comment la gestion mémoire du noyau (buddy allocator, slabs)
Puis nous abordons la gestion mémoire utilisateur (malloc vs mmap, OOM killer, procfs)
Travaux PratiquesRéalisation d'un driver loopback permettant d’implémenter les principales primitives de gestion de thread et d'allocation mémoire. Jour 4

RootFS

Démarrage de l'espace utilisateurLe noyau lance le process "init", celui-ci initialise l'environnement de travail et lance les daemons.Organisation de l'espace utilisateurNous voyons ici, comment sont organisés la gestion des utilisateurs, l'interfaces réseau.Travaux PratiquesConstruction d'un système de fichier "root" basé sur busybox et utilisation de ce système de fichier sur la cible. Jour 5

DTB

Utilisation des "device tree blobs"Comment Uboot et Linux coopèrent pour l'utilisation de DTB.Modifier un DTBLa syntaxe d'un DTS (Device Tree Source), modification, compilation et utilisation par un driver.Travaux PratiquesAjouter une nouvelle entrée pour un GPIO dans un DTB et récupérer les informations dans un driver Linux

Cette formation propose une alternance de pratique et de théorie (50% / 50%) pour une meilleure assimilation des connaissances.

Date de mise à jour du programme : 14/03/2024

Dates et lieux

Du 13 au 17 mai 2024
Lieu
Distanciel
Durée
5 jrs
2990 € HT
Du 13 au 17 mai 2024
Lieu
Paris
Durée
5 jrs
2990 € HT
Du 23 au 27 septembre 2024
Lieu
Distanciel
Durée
5 jrs
2990 € HT
Du 23 au 27 septembre 2024
Lieu
Paris
Durée
5 jrs
2990 € HT
Du 25 au 29 novembre 2024
Lieu
Distanciel
Durée
5 jrs
2990 € HT
Du 25 au 29 novembre 2024
Lieu
Paris
Durée
5 jrs
2990 € HT


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB