Partenaire de vos projets innovants ...                                     

 


 

French (Fr)English (United Kingdom)

Formation Linux embarqué temps réel

OBJECTIFS

Cette formation permet aux développeurs de pouvoir appréhender les concepts du système d'exploitation Linux et plus particulièrement les problématiques liées aux systèmes embarqués. Les concepts suivant sont abordés:

  • Architecture des systèmes embarqués sous Linux,
  • Configuration et compilation d'un noyau Linux 2.6,
  • Construction d'un système minimal,
  • Construction d'un bootloader (U‐Boot),
  • Développement et mise au point d'applications sur cible embarquée,
  • Contraintes temps réel.

PRE‐REQUIS

Cette formation s'adresse en premier lieu aux développeurs ayant une expérience ou non en matière de conception de systèmes embarqués sous Linux. Pour permettre au développeur d'appréhender aux mieux tous les concepts,les commandes Linux de base ainsi que la connaissance du langage C sont souhaitables.

PDF Formation Linux embarquéTélécharger ce programme au format PDF Logo Linux Tux

PROGRAMME

JOUR 1

Introduction à Linux embarqué

  • Concepts généraux,
  • Présentation des différentes solutions du marché (OpenEmbedded, Buildroot, uCLinux, ELDK, ...)
  • Présentation des licences libres (GPL, LGPL, ..)

Chaine de compilation croisée

  • Présentation et choix des composants (bibliothèque, compilateur, ...)
  • Contenu de la bibliothèque standard C et choix d'une bibliothèque standard
  • Construction et mise au point d'une chaine de compilation croisée

Chargeur de démarrage (bootloader)

  • Introduction et présentation des chargeurs de démarrage existants
  • Préparation et installation du chageur U-Boot
  • Interaction avec les commandes U-Boot et méthode de démarrage

Travaux pratiques

  • Configuration d'une chaine de compilation croisée pour cible ARM
  • Compilation de binaires pour différentes architectures et étude des spécificités
  • Compilation de U-Boot et installation sur cible ARM

Jour 2

Introduction au Noyau Linux

  • Rôle et architecture du noyau
  • Tour d'horizon des fonctionnalités présentes
  • Interface et méthodes de communication entre espace noyau et espace utilisateur

Configuration et compilation du noyau Linux

  • Configuration et présentation des optimisations pour l'embarqué
  • Application de patches
  • Compilation native
  • Etude du démarrage et démarrage via NFS
  • Compilation croisée du noyau Linux
  • Configuration des fichiers Makefile pour la compilation
  • Configuration du noyau pour une cible embarquée
  • Compilation croisée

Travaux pratiques

  • Configuration et compilation d'un noyau 2.6 pour ARM Cortex-A8
  • Mise en place d'un serveur tftp sur hôte de développement
  • Chargement du noyau depuis U-Boot à travers le réseau
  • Ecriture en NAND / NOR du noyau, des paramètres et démarrage automatisé

Jour 3

Système Linux minimaliste

  • Présentation et intérêts de buildroot
  • Présentation et intérêts de OpenEmbedded
  • Personnalisation du démarrage Linux

Systèmes de fichiers de type bloc

  • Présentation des systèmes de fichiers bloc des optimisations pour l'embarqué
  • Système Linux en RAM

Systèmes de fichiers pour flash

  • Présentation de MTD (Memory Technology Devices)
  • Systèmes de fichiers : JFFS, YAFFS2, UBIFS

Travaux pratiques

  • Configuration et compilation de buildroot
  • Tests sur cible ARM Cortex-A8
  • Configuration de OpenEmbedded
  • Utilisation de JFFS2

JOUR 4

Techniques de débogage

  • Présentation des outils GNU/Linux (strace, ltrace,...)
  • Présentation de gdb et gdbserver
  • Débogage post-mortem et débogage distant

Introduction au développement de drivers

  • Programmation en mode noyau
  • Présentation de procfs et sysfs
  • Etude des différents types de pilotes de périphériques
Applications embarquées temps réel
  • Présentation des concepts temps réel
  • Etude du temps réel souple : ordonnancement, signaux
  • Extension temps réel strict à travers Xenomai
Travaux pratiques
  • Débogage sur cible ARM Corte-A8 (à distance, post-mortem,...)
  • Analyse de code, profiling
  • Construction de et compilation de pilotes de périphériques
  • Tests du réel souple sur cible ARM Cortex-A8

Conception de Systèmes Electroniques

schema elect