picto Développement

Formation Linux Temps-réel et embarqué

Référence

ULTR

Durée

4 JOURS

Tarif

2720 € HT

NIVEAU

Intermédiaire

Cours à distance

Partiellement

Bestseller

Objectifs de la formation Linux Temps-réel et embarqué

Cette formation Linux embarqué vous permettra de:
- Découvrir l'ensemble des outils de développement industriel disponibles librement sous Linux,
- Disposer de méthodes pour déployer Linux sur des systèmes embarqués en équilibrant les performances et l'occupation mémoire,
- Maîtriser les algorithmes d'ordonnancement temps-partagé ou temps-réel souple, les mécanismes de communications entre processus, les options de configuration de la mémoire virtuelle,
- Accéder au développement temps-réel strict en utilisant des extensions comme Linux-RT ou Xenomai.

Pré-Requis

Cette formation Linux embarqué vous permettra de:
- Découvrir l'ensemble des outils de développement industriel disponibles librement sous Linux,
- Disposer de méthodes pour déployer Linux sur des systèmes embarqués en équilibrant les performances et l'occupation mémoire,
- Maîtriser les algorithmes d'ordonnancement temps-partagé ou temps-réel souple, les mécanismes de communications entre processus, les options de configuration de la mémoire virtuelle,
- Accéder au développement temps-réel strict en utilisant des extensions comme Linux-RT ou Xenomai.

Public

Contenu du cours Linux Temps-réel et embarqué

 

Développement industriel sous Linux

Environnement Linux :
Linux et les logiciels libres.
Licences GPL, LGPL, BSD... et implications pour le développement industriel.
Kernels et distributions Linux.
Outils de développement libres :
Environnements intégrés, éditeurs de textes, outils de compilation et Makefile.
Débogage, profiling et mise au point.
Utilisation de l'environnement Eclipse avec le plug-in CDT : Création de projet, aide en ligne, indexation.
Débogage classique, post-mortem, et d'application en fonctionnement.
Compilation et installation du noyau Linux 3.x
Compilation et utilisation de bibliothèques statiques et dynamiques. Création et utilisation d'une chaîne de compilation croisée.
TRAVAUX PRATIQUES : Détection d'erreur à la compilation, à l'édition des liens. Débogage pas-à-pas et autopsie post mortem. Débogage avec Eclipse. Obtention de statistiques diverses durant l'exécution. Tests de couverture. Utilisation d'une chaîne de compilation croisée et test sur processeur ARM.

Environnements restreints et systèmes embarqués

Problématique des systèmes embarqués.
Contraintes matérielles, logicielles et opérationnelles.
Choix d'un système d'exploitation embarqué.
Préparation d'un noyau linux embarqué : options essentielles pour la réduction de taille. Système de fichiers. Bibliothèques système pour l'embarqué. Compilation croisée du noyau.
Boot du noyau sur cible ARM.
Préparation du système de fichiers.
Fichiers spéciaux des périphériques.
Processus init.
Applications et utilitaires à embarquer.
Débogage à distance sur la cible.
Configuration d'Eclipse.
TRAVAUX PRATIQUES : Installation de la chaîne de compilation. Compilation d'un noyau de taille réduite. Création d'un système de fichiers. Incorporation d'applications minimales et test sur émulateur.

Multitâche sous Linux, temps-réel souple

Processus et threads :
création, terminaison, attente, synchronisation (mutex et variables conditions).
Communication entre processus : files de messages Posix, mémoire partagée et sémaphores.
Mesures horaires et des attentes: fonctionnement périodique (timers).
Ordonnancement temps-partagé et priorités des processus.
Préemptibilité du noyau 3.x
Temps-réel souple Posix.1b :
Principes, configuration de l'ordonnancement.
Processus et threads.
Limites du temps-réel sous Linux standard. Améliorations avec patch Linux-RT.
Problèmes algorithmiques liés au temps-réel (synchronisation, inversion de priorité, etc.) et solutions.
TRAVAUX PRATIQUES : Création de processus uni-threads et multi-threads, synchronisation.
Priorités temps-partagé et effets sur le partage du CPU. Fonctionnement de l'ordonnanceur.
Ordonnancement temps-réel souple. Vérification du fonctionnement temps-réel.
Vérification de la précision des timers et des sommeils.

Temps-réel strict - Extensions Xenomai

Concepts de temps-réel strict : Principe des micro-noyaux RT-Linux, RTAI, Adeos, Xenomai, LXRT.
Installation et API de Xenomai :
Création de tâches simples et périodiques
Attentes actives et mises en sommeil ;
Timers temps-réel.
TRAVAUX PRATIQUES : Installation de Xenomai, écriture de tâches périodique et de gestionnaires d'interruption. Utilisation des API d'émulation.