Formation C/Système temps-réel & embarqué
A travers cette formation de 5 jours, nous allons vous faire découvrir le monde de l’embarqué et du temps-réel et d’en comprendre les spécificités et les enjeux.
Un mix entre théorie et pratique qui vous donneront toutes les compétences nécessaires afin de maîtriser les algorithmes d'ordonnancement temps-partagé ou temps-réel, les problématiques liées aux fils d’exécutions en concurrence, les mécanismes de communications entre processus et la gestion de la mémoire virtuelle.
Vous serez en mesure de concevoir du code optimisé grâce à l'ensemble des outils de développement industriel disponibles librement sous Linux.
Vous disposerez également des différentes méthodes pour déployer des systèmes embarqués en équilibrant les performances et l’occupation mémoire.

Cette formation C/Système temps-réel et embarqué vous permettra de :
- Découvrir le monde de l’embarqué et du temps-réel, d’en comprendre les spécificités et les enjeux ;
- Maîtriser les algorithmes d'ordonnancement temps-partagé ou temps-réel, les problématiques liées aux fils d’exécutions en concurrence, les mécanismes de communications entre processus, la gestion de la mémoire virtuelle ;
- Concevoir du code optimisé grâce à l'ensemble des outils de développement industriel disponibles librement sous Linux ;
- Disposer de méthodes pour déployer des systèmes embarqués en équilibrant les performances et l’occupation mémoire.
Cette formation s'adresse aux ingénieurs et techniciens supérieurs
5 JOURS
L’embarqué et le temps-réel
- Généralités, définitions
- Architectures matérielles
- Interruption, latence, multitâche, ordonnancement (FIFO, RR, SJF, EDF, RM)
- Mutex, sémaphore
- La flash
Systèmes d’exploitation embarqués
- Organisation matérielle et logicielle
- Diaporama/écosystème
- Notion de firmware
- Zoom sur Linux et le libre embarqué & temps-réel
Conception
- La compilation croisée
- Exploration du binaire
- Compilation et édition de liens avec gcc et make
- Binutils, outils de désassemblage
Processus et mémoire virtuelle
- Les processus Linux
- Conventions d’appel, pile, tas
Les outils de développement
- GCC
- Les débogueurs
- Les profileurs
- Bibliothèques statiques, partagées et dynamiques
C/système Posix
- Les appels systèmes classiques
- La gestion des processus fork et exec
- La communication entre processus à l’aide des Inter Process Communications (IPC), des pipes classiques et des pipe nommés
- La gestion des threads et de la mémoire
Code avancé
- Macro paramétrées et avancées, pragma & attributes, alignements, structures de données,endinanness
- Scripts de link
- La sécurité
Intégration
- Outils Linux
- Débuggage bas niveau (gdb, gbbsever, J-Tag)
- Méthodes d’intégration (flashage)
Formation non certifiante
Connaissances de base en ingénierie logicielle des systèmes embarqués et en technologie objet.
