ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Processors ARM Cores Mise en œuvre du Cortex-R7
RR2

Mise en œuvre du Cortex-R7

Ce cours couvre les cœurs ARM Cortex-R7MP

Objectifs

  • Ce cours se divise en 3 parties importantes :
    • Architecture du Cortex-R7
    • Mise en œuvre logicielle et débogage du Cortex-R7
    • Mise en œuvre matérielle du Cortex-R7.
  • L'interaction entre les caches de niveau 1, les TCM et la mémoire principale est étudiée à travers des séquences.
  • Le cours explique comment attribuer des permissions d'accès et des attributs aux régions à l'aide de la MPU.
  • Le mécanisme d'exception est détaillé, en indiquant comment le GIC peut contribuer à réduire la latence d'interruption.
  • Des séquences mettant en jeu la mémoire, le cache et des maîtres externes servent à expliquer les apports du port ACP.
  • Le cours détaille également la mise en œuvre matérielle et fournit des règles pour concevoir un SoC à base de Cortex-R7.
  • Une présentation de la spécification CoreSight est donnée avant la description des unités liées au débogage.
  • Connaissances de base de l'architecture ARM.
  • Notions de programmation en assembleur
  • Un support de cours imprimé est remis aux participants pendant la formation.
  • Précis et facile à utiliser, il peut servir de référence par la suite.
  • 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

  • États et modes
  • Intérêt du banking de registres
  • Mécanisme d'exception
  • Jeux d'instructions
  • Rôle du CP15
  • Schéma bloc
  • Ports AXI esclave et maître
  • Mise en évidence des nouveautés par rapport aux Cortex-R4/R5
  • Architecture ARMv7-R
  • Modes de fonctionnement
  • Jeux d'instructions pris en charge
  • Registre d'état du programme
  • Exceptions
  • Coprocesseur de contrôle système
  • Options configurables
  • Mise en œuvre de deux processeurs
    • Cohérence de cache à l'aide de la SCU
    • Accelerated Coherency Port
    • CPU redondant et double CPU
    • Configuration Split/Lock
  • Cohérence matérielle
    • Mise en œuvre de la SCU
    • Les protocoles MESI et MOESI
  • Interface ACP, assurant la cohérence matérielle des accès DMA
  • Événements liés à la PMU
  • Unité de prefetch
  • Étude pas à pas du traitement des instructions
  • Nombre de cycles des instructions et comportement des interlocks
  • Mécanisme de prédiction de branchement dynamique : global history buffer
  • Règles pour des performances optimales
  • Data Processing Unit
  • Émission multiple
  • Global History Buffer
  • Pile de retour
  • Instruction Memory Barrier
  • Vidage de la file de prefetch
  • Événements liés à la PMU
  • Types de mémoire, restrictions concernant les load / store multiples
  • Ordonnancement des mémoires device et normal
  • Restrictions d'accès selon le type de mémoire
  • Ordre des accès
  • Memory barriers, code auto-modifiant
  • Présentation de la protection mémoire, PMSA de l'ARM v7
  • Plan mémoire par défaut
  • MPU du Cortex-R7 et bus faults
  • 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
  • Interruptions inter-processeurs
  • Identifiant de cluster
  • Moniteur d'accès exclusif, mise en œuvre de sémaphores booléens
  • Moniteur global
  • Mise en œuvre du spin-lock
  • Utilisation des événements
  • Mise en évidence de l'effet du multicœur sur les interfaces de débogage
  • Low Interrupt Latency : abandon des instructions load / store en cours
  • Configuration de l'état dans lequel les exceptions sont traitées : mode endian, jeu d'instructions
  • Gestion des interruptions imbriquées
  • Configuration de la FIQ comme non masquable
  • Exception abort, traitement des fautes
  • Détermination de la cause de la faute grâce aux registres d'état du CP15
  • Fautes précises et imprécises
  • Intégration dans un SoC à base de Cortex-R7
  • Gestion des exceptions du Cortex-R7
  • Virtualisation des interruptions
  • Unité timer et watchdog intégrée au MPCore
  • Groupes d'interruptions : SGI, PPI, SPI, LSPI
  • Gestion du mode legacy pour l'IRQ et la FIQ
  • Priorisation des sources d'interruption
  • Distribution des interruptions aux cœurs Cortex-R7
  • Détail de la séquence d'interruption
  • Interruption parasite
  • Bases du cache : organisation, algorithme de remplacement, politiques d'écriture
  • Organisation du cache
  • Politique write with allocate
  • Organisation des Tag RAM et Data RAM
  • Débogage lorsque les caches sont actifs
  • Protection parité / ECC, traitement des erreurs de parité / ECC du cache
  • Comprendre le chargement / rangement transitoire des lignes de cache : linefill buffers, eviction buffer
  • Opérations de maintenance du cache
  • Tightly Coupled Memories, décodage d'adresse
  • Configuration des ITCM et DTCM
  • Accès aux TCM depuis l'interface esclave AXI
  • Protection ECC, détection et correction d'erreur interne aux TCM
  • Préchargement des TCM avec ECC
  • Utilisation des TCM dès le reset
  • Store buffer, fusion des données
  • Lecture logicielle des caches L1 à des fins de débogage
  • Événements liés à la PMU
  • Comptage d'événements
  • Choix de l'événement compté pour chacun des 3 compteurs
  • Interruptions associées
  • Débogage d'un système multicœur à l'aide de la PMU
  • Utilisation du bus d'événements et des compteurs
  • Topologie : connexion directe, multi-maître, multicouche
  • Phases adresse/contrôle et données séparées
  • Canaux AXI, handshake de canal
  • Prise en charge des transferts de données non alignés
  • Ordonnancement des transactions, achèvement des transactions dans le désordre
  • Chronogrammes des burst de lecture et d'écriture
  • Gestion de l'ECC
  • Exemple de fusion d'écritures
  • Signaux sideband
  • Décodage d'adresse de second niveau
  • Brochage
  • Chronogramme de lecture
  • Chronogramme d'écriture
  • Nouveautés de l'APB3.0
  • Interfaces maître AXI
    • Attributs de l'interface principale
    • Seconde interface maître optionnelle
    • Identification des maîtres virtuels
  • Interface périphérique AXI
    • Attributs des ports d'interface périphérique
    • Identifiants des accès au port périphérique AXI
  • Port ACP optionnel
  • Interface esclave AXI
    • Attributs de l'interface esclave
    • Activation ou désactivation des accès esclave AXI
  • Interface de débogage esclave APB
  • Domaines d'horloge
  • Domaines de reset, power-on reset et debug reset
  • Contrôle de l'énergie, gestion dynamique de la consommation
  • Domaines d'alimentation séparés pour le débogage et le cœur
  • Clock gating
  • Maintenir les caches et la TCM alimentés en éteignant le pipeline : mode dormant
  • Interaction du mode de consommation avec l'ACP
  • Architecture Wait For Interrupt
  • Débogage du processeur pendant sa mise hors tension
  • Domaines de tension
  • Mode run, mode standby, mode dormant
  • Étude de la séquence nécessaire pour entrer et sortir du mode dormant
  • Communication avec le contrôleur de gestion de l'énergie
  • Signaux standby et wait for event, mise en œuvre dans un système multicœur
  • Apports de CoreSight
  • Débogage invasif, débogage non invasif
  • Interface de débogage APBv3
  • Connexion au Debug Access Port
  • Moyens de débogage offerts par le Cortex-R7
  • Breakpoint et watchpoint liés au processus
  • Échantillonnage du compteur de programme
  • Capture d'événements
  • Debug Communication Channel
  • Interface ETM, connexion au funnel
  • Débogage pendant que le processeur est en mode shutdown ou dormant
  • Description des registres de débogage
  • Signaux de débogage divers
  • Cross-Trigger Interface, débogage d'un SoC multicœur
  • Débogage de systèmes dotés de fonctions de gestion de l'énergie
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é