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éveloppementlibres :
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 2.6.
Compilation et utilisation de bibliothèques statiques et dynamiques. Création et utilisation d'une chaîne de compilation croisée.
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..
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 2.6.
Temps-réel souple Posix.1b :
Principes, configuration de l'ordonnancement.
Processus etthreads.
Limites du temps-réel sous Linux standard.
Problèmes algorithmiques liés au temps-réel (synchronisation, inversion de priorité, etc.) et solutions.
Temps-réel strict - Extensions RTAI et Xenomai
Concepts de temps-réel strict : Principe des micro-noyaux RT-Linux, RTAI, Adeos, Xenomai, LXRT.
Installation et API de RTAI :
Création de tâches simples et périodiques ;
Attentes actives et mises en sommeil ;
Timers temps-réel.
Configuration du timer matériel:
Choix d'un ordonnancement périodique ou one-shot.
Synchronisation des tâches par sémaphores, files de message et RPC.
Communication avec les processus utilisateur par fifos temps-réel et buffers partagés.
Gestion bas-niveau des interruptions, et émulation d'interruptions pour le noyau Linux.
Installation et API de Xenomai :
API native et émulation des API Psos, Vrtx, VxWorks.