View the site in Français Site displayed in Anglais (USA) View the site in Anglais (GB)
You are here: ac6 > ac6-formation > Languages > Embedded C++ programming
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

L3 Embedded C++ programming

Le langage C++ pour les systèmes embarqués


formateur
Objectifs
bullet_jaune_1 • Maîtriser les bases du langage C++
bullet_jaune_1 • Découvrir la spécification Embedded C++ (EC++)
bullet_jaune_1 • Intégrer les templates C++ (code générique) dans les systèmes embarqués
bullet_jaune_1 • Redéfinir les opérateurs C++ d'allocation dynamique de mémoire pour l’embarqué
bullet_jaune_1 • Rendre les objets C++ persistants flashables et romables
bullet_jaune_1 • Gérer les situations d’exceptions C++ pour sécuriser les systèmes embarqués
bullet_jaune_1 • Gérer les interruptions en C++
bullet_jaune_1 • Utiliser les objets pour gérer les entrées/sorties en C++
Matériel
bullet_jaune_2 • Un PC + une carte d’évaluation Coldfire par binôme
bullet_jaune_2 • Chaîne de compilation croisée et sonde d’émulation BDM
bullet_jaune_2 • Un support de cours ainsi que la disquette contenant les exemples
Pré-requis
bullet_jaune_2 • Connaissance du langage C (niveau stage L2)

Outline
Introduction au C++ pour l'industrie
bullet_jaune_2 • Introduction à la programmation orientée objets
bullet_jaune_2 • historique et définition
bullet_jaune_2 • la couche C+ : passage du C vers le C++
bullet_jaune_2 • spécification Embedded C++ ( EC++)
bullet_jaune_2 • comment écrire du code optimisé pour l’embarqué
Le C++ et l'embarqué
bullet_jaune_2 • les outils de cross développement pour l’embarqué
bullet_jaune_2 • maîtriser les différentes sections mémoire des applications embarquées
bullet_jaune_2 • analyser les fichiers d’organisation de mapping mémoire
Exercice : prise en main des outils de cross développement
bullet_jaune_2 • les classes et l’encapsulation
bullet_jaune_2 • classes, objets et attributs
bullet_jaune_2 • fonctions membres
bullet_jaune_2 • construction et destruction d’objets
bullet_jaune_2 • paramètres de construction
bullet_jaune_2 • constructeur de copie
bullet_jaune_2 • la composition et la containérisation d’objet
bullet_jaune_2 • scope de visibilité
bullet_jaune_2 • namespace
bullet_jaune_2 • inter classes
Exercice : modélisation de périphérique
bullet_jaune_2 • la surcharge des opérateurs
bullet_jaune_3 optimisation des passages d’objets en paramètres
bullet_jaune_3 surcharge des opérateurs par des fonctions membres
bullet_jaune_3 surcharge des opérateurs par des fonctions amies
bullet_jaune_3 surcharge des opérateurs de gestion mémoire
Exercice : gestion de fifo
bullet_jaune_2 • les objets romables et persistants
bullet_jaune_3 objets constants et partiellement constants
bullet_jaune_3 objets persistants
bullet_jaune_3 mise en rom des objets
Exercice : flashage d’objets UART sur carte µcontrôleur
bullet_jaune_2 • les objets génériques et les templates
bullet_jaune_3 classes et fonctions génériques
bullet_jaune_3 surcharge de templates
bullet_jaune_3 spécialisation de templates
bullet_jaune_3 STL (Standard Template Library)
bullet_jaune_3 développement de template pour l’embarqué
Exercice : fifo génériques
Les techniques avancées du C++
bullet_jaune_2 • le flux d’E/S
bullet_jaune_3 flux standard du langage C++
bullet_jaune_3 flux standard des librairies C++ standard
bullet_jaune_3 technique de redirection des flux d’E/S standard par amitié
Exercice : redirection des flux standard sur l'UART
bullet_jaune_2 • objets polymorphes
bullet_jaune_2 • objets virtuels et les classes abstraites
bullet_jaune_2 • spécialisation des objets par héritage simple
bullet_jaune_3 construction d’objets dérivés
bullet_jaune_3 règle de contrôle d’accès des objets hérités
bullet_jaune_2 spécialisation des objets par Héritage multiple
bullet_jaune_3 résolution des conflits par opérateur de résolution de portée
bullet_jaune_3 résolution des conflits par héritage virtuel
Exercice : modélisation de drivers de périphérique en C++
bullet_jaune_2 • sécurité grâce aux exceptions dans l’embarqué
bullet_jaune_3 mots clefs du langage et leur mise en œuvre
bullet_jaune_3 lancement, capture et traitement d’exceptions
bullet_jaune_3 redéclenchement d’exception
bullet_jaune_3 spécification d’exceptions
bullet_jaune_3 traitement d’exceptions inattendues
bullet_jaune_3 objets exceptions de la librairie standard C++
Exercice : gestion d'erreurs centralisée et décentralisée
C++ et les systèmes embarqués
bullet_jaune_2 Mécanismes des interruptions vectorisées et autovectorisées
bullet_jaune_2 Les directives de compilation ou les pragma des compilateurs croisés
bullet_jaune_2 Types de classes interruption
bullet_jaune_2 Partage des interruptions avec la classe d’allocation static
bullet_jaune_2 Mise en EPROM d’une application
Exercice : développement d'un gestionnaire d'interruptions en C++