Plan du cours
Introduction aux systèmes embarqués et au C++
- Vue d'ensemble de l'architecture des systèmes embarqués
- Défis du développement logicielle embarquée
- Adéquation du C++ pour les microcontrôleurs et les 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 construction
- 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 les 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
- Templates et évitement de l'expansion de code inutile
- Fonctions en ligne 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 (heap)
- Stratégies de gestion dynamique de la mémoire
- Éviter la fragmentation de la mémoire et l'expansion 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
- Préoccupations spécifiques au C++ pour les systèmes critiques pour la sécurité
Bibliothèques standard C++ et usage embarqué
- Sélection des fonctionnalités appropriées des bibliothèques standard
- Minimisation de l'utilisation des ressources
- Bibliothèques personnalisées et alternatives compatibles avec l'embarqué
- Rédaction d'un code efficace et maintenable
Démarrage, interaction matérielle et débogage
- Séquence de démarrage d'une application embarquée
- Procédures d'initialisation
- Débogage d'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)
- Planification 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 C++
- Gestion de projets embarqués mixtes (C/C++)
- Stratégies de migration de C vers 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
- Transformation 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
- Révision des meilleures 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