Plan du cours
Introduction aux systèmes embarqués et au C++
- Présentation de l'architecture des systèmes embarqués
- Défis du développement logiciel embarqué
- Adéquation du C++ aux microcontrôleurs et aux plateformes embarquées
- Équilibre entre abstraction, performance et contraintes de ressources
Environnement de développement C++ embarqué
- Configuration de la chaîne d'outils de développement embarqué
- Compilateurs, débogueurs et systèmes de build
- Travail avec les appareils cibles
- Développement et déploiement d'applications embarquées
Programmation orientée objet pour les systèmes embarqués
- Principes de la conception orientée objet
- Classes et objets dans des environnements à ressources limitées
- Encapsulation et conception modulaire
- Application efficace des techniques orientées objet dans les applications embarquées
Fonctionnalités avancées de C++ pour le développement embarqué
- Héritage et polymorphisme
- Fonctions virtuelles et considérations sur la surcharge d'exécution
- Modèles et évitement de l'expansion de code inutile
- Fonctions intégrées et optimisation des performances
Gestion de la mémoire et optimisation des ressources
- Contraintes de mémoire dans les systèmes embarqués
- Considérations sur l'utilisation de la pile et du tas
- Stratégies de gestion dynamique de la mémoire
- Éviter la fragmentation de la mémoire et l'augmentation de la taille du code
Gestion des erreurs et considérations de sécurité
- Gestion des exceptions dans les environnements embarqués
- Conception de logiciels fiables et prévisibles
- Techniques de programmation défensive
- Considérations sur le C++ pour les systèmes critiques en matière de sécurité
Bibliothèques standard C++ et utilisation embarquée
- Sélection des fonctionnalités appropriées de la bibliothèque standard
- Minimisation de l'utilisation des ressources
- Bibliothèques personnalisées et alternatives adaptées à l'embarqué
- Rédaction de code efficace et maintenable
Démarrage, interaction matérielle et débogage
- Séquence de démarrage d'une application embarquée
- Routines d'initialisation
- Débogage des applications C++ sur le matériel cible
- Diagnostic des problèmes de performance et d'exécution
Programmation temps réel et systèmes d'exploitation
- Fondamentaux des systèmes temps réel
- Travail avec les systèmes d'exploitation temps réel (RTOS)
- Ordonnancement des tâches et contraintes temporelles
- Développement d'applications réactives et déterministes
Interopérabilité entre C et C++
- Intégration de bases de code C et C++
- Appel de bibliothèques C depuis le C++
- Gestion des projets embarqués à langage mixte
- Stratégies de migration du C vers le C++
Modélisation orientée objet et UML
- Application de l'UML à la conception logicielle embarquée
- Modélisation des classes et des composants système
- Traduction des conceptions en code embarqué efficace
- Amélioration de la maintenabilité par une conception structurée
Atelier pratique sur les applications C++ embarquées
- Développement d'une application embarquée en C++
- Application des techniques d'optimisation et de sécurité
- Tests et débogage sur un appareil cible
- Revue des bonnes pratiques et prochaines étapes
Pré requis
- Une compréhension générale du C++
Nos clients témoignent (2)
Le formateur s'est vraiment adapté à notre niveau et a consacré beaucoup de temps et d'efforts pour s'assurer que la présentation était bien adaptée.
Nicolas Guerette-Berthiaume - Trilliant
Formation - C++ for Embedded Systems
Traduction automatique
Interactivité, temps pour un programmation autonome. J'apprends mieux si j'ai l'occasion de trouver les réponses moi-même et pas seulement d'être informé des solutions. Il était également très appréciable que la formation soit bien planifiée, nous avons respecté les pauses café et la formation n'a jamais perdu mon attention. Le formateur avait une connaissance très approfondie de C++, nous avions l'impression de pouvoir poser toutes les questions que nous voulions.
Barna Szecsi - GIS Europe SE
Formation - C++ for Embedded Systems
Traduction automatique