Mise en œuvre du Cortex-M7
Objectifs
|
- Notre cours de référence cours RI0 - AXI3 / AXI4 INTERCONNECT détaille le fonctionnement du bus AXI4.
- Le contenu peut être adapté lorsque les participants connaissent déjà le Cortex-M4.
- Cours théorique
- Support PDF (en anglais), imprimé en présentiel ; à distance via Teams.
- Assistance du formateur tout au long de la formation.
- Chaque session débute par un point avec les stagiaires.
- Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
- Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
- Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
- À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.
Plan du cours
- Interfaces mémoire : TCM, caches et port périphérique AHB
- Plan mémoire figé
- Options de configuration
- Mise en œuvre en lock-step
- Mise en évidence des nouveautés de l'architecture V7E-M
- Pipeline superscalaire dans l'ordre
- Prédiction de branchement dynamique
- Bit-banding
- Timer système
- System control block
- Détail de la Data Processing Unit
- Load Store Unit, bufferisation des écritures
- Caches
- Mise en œuvre du cache dans le Cortex-M7
- Opérations de maintenance du cache
- Mode dynamic read allocate, récupération après erreur
- Fusion dans le store buffer
- Code correcteur d'erreur des caches L1
- TCM
- Intérêt de mettre en œuvre deux ports D-TCM distincts
- Mise en œuvre d'un ECC externe pour les TCM
- Matrice de bus interne
- Accès à la ROM
- Accès à la SRAM
- Connexion des périphériques
- Partage des ressources entre le Cortex-M7 et les autres processeurs
- Architecture du STM32F7
- Atomicité dans les systèmes monoprocesseur multitâche
- Fonctionnement du moniteur local
- Wait For Interrupt
- Événements
- Comportement des exceptions
- Instructions reprenables après exception
- Exceptions non masquables
- Traitement des fautes MPU, fautes externes
- Élévation de priorité
- Séquence de reset, contraintes d'initialisation
- Entrée / sortie d'interruption, chronogrammes
- Tail chaining
- Registres du NVIC
- Priorisation des interruptions
- Handlers d'interruption
- Wake-up Interrupt Controller
- Ordonnancement des mémoires device et normal
- Restrictions d'accès selon le type de mémoire
- Restrictions d'ordonnancement mémoire
- Présentation de la protection mémoire, PMSA de l'ARM v7
- Registres d'état et d'adresse de faute
- Présentation des régions, type de mémoire et contrôle d'accès, sous-régions
- Recouvrement des régions
- Mise en place de la MPU
- Introduction à l'IEEE754,
- Arithmétique flottante
- FPU simple et double précision du Cortex-M7
- Prise en charge matérielle des dénormalisés et de tous les modes d'arrondi IEEE
- Amélioration des performances par le choix du mode flush-to-zero et du mode default NaN
- Extension de l'AAPCS pour inclure les registres FP
- Sauvegarde paresseuse du contexte flottant
- Mise en évidence des nouveautés du FPv5
- Présentation de la spécification du bus AXI, explication des règles d'ordonnancement
- Attributs et transactions AXI
- Restrictions sur les transferts AXI
- Présentation du protocole AHB-Lite
- AHBP
- AHBS
- Brochage
- Horloges et reset, gestion de l'énergie
- Utilisation d'un Wake-up Interrupt Controller (WIC) externe
- Configurabilité du cache
- Caractéristiques de l'interface AXI
- Comprendre à travers des séquences comment l'information cacheable est copiée de la mémoire vers les caches de niveau 1 et de niveau 2
- Opérations transitoires, utilisation des line buffers LFB, LRB, EB et STB
- Gestion de l'énergie
- Surveillance des événements du cache
- Verrouillage du cache
- Gestion des interruptions
- Infrastructure de débogage CoreSight, DAP
- Fonctions de débogage du Cortex-M7
- Mode halt
- Vector catching
- Mode moniteur
- Sources d'événements de débogage
- Fonctions flash patch et breakpoint
- Data watchpoint and trace
- Interface de débogage AHB-lite
- Table ROM
- Fonctionnement de base de l'ETM
- Principes de la trace d'instructions
- Instrumentation Trace Macrocell
- Paquets de trace DWT
- Paquets d'horodatage
- Trace d'instructions, paquets de branchement, paquets de trace d'exception
- Composants du TPIU
- Embedded Trace Buffer
- Rôle de cette unité de débogage
- Signaux de déclenchement vers la CTI et signaux de déclenchement issus de la CTI
- Processus de développement embarqué
- Démarrage de l'application
- Placement du code, des données, de la pile et du tas dans le plan mémoire, scatterloading
- Reset et initialisation
- Placement d'une table de vecteurs minimale
- Autres considérations sur le plan mémoire, alignement de pile sur 8 octets dans les handlers
- Construction et débogage de votre image
- Veneers de branchement long
- Règles de programmation lorsqu'un cache est utilisé
- Optimisations du compilateur ARM, optimisation des appels terminaux, inlining des fonctions
- Mélange de C/C++ et d'assembleur
- Programmation avec le compilateur ARM
- Mesure de l'utilisation de la pile
- Accès non alignés
- Questions liées aux données locales et globales, alignement des structures
- Autres optimisations, retour de l'éditeur de liens
- Instructions de traitement de données
- Instructions de branchement et de contrôle de flot
- Instructions génératrices d'exception
- Blocs conditionnels If…then
- La pile en fonctionnement
- Memory barriers et synchronisation
- Instructions de multiplication
- Instructions de packing / unpacking
- Instructions ARM SIMD V6 d'addition / soustraction packées
- Instructions SIMD d'addition/soustraction combinées
- Instructions multiply et multiply accumulate
- Instructions SIMD sum absolute difference
- Instruction SIMD select
- Instructions de saturation
Plus d'information
Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.
Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter
Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription
Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.
Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.
Dernière mise à jour du plan de cours : 2 juillet 2026
L'inscription à nos formations est soumise à nos Conditions Générales de Vente
Sur le même sujet :
Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué