Nos produits

Formations

Catalogue

Catalogue
au format PDF

Logo F.E.D.E.R

Réf. Formation Pdf Durée Dates Lieu Tarif
5191 ARM Cortex R4 ARM Cortex R4 4 j. nous consulter - -

CénoSYS vous propose également des formations de thématique apparentée :  +  Afficher la liste  -  Masquer la liste

5187 Freescale eTPU  Freescale eTPU 3 j. nous consulter - -
5180 ARM Cortex A5 ARM Cortex A5 4 j. 12..15/06/12 Paris 2000 €
5181 ARM Cortex A8 ARM Cortex A8 4 j. 19..22/06/12 Paris 2000 €
5182 ARM Cortex A9 ARM Cortex A9 4 j. 29..01/06/12 Paris 2000 €
5176 ARM Cortex M0 ARM Cortex M0 2 j. 12..14/06/12 Paris -
5178 ARM Cortex M1 ARM Cortex M1 4 j. 26..29/06/12 Paris 2000 €
5179 ARM Cortex M3 ARM Cortex M3 4 j. 05..08/06/12 Paris 2000 €
5177 ARM Cortex M4 ARM Cortex M4 4 j. 19..22/06/12 Paris 2000 €
5183 ARM STM32 ARM STM32 4 j. nous consulter - -
5192 ARM1136 SYSTEM DESIGN ARM1136 SYSTEM DESIGN 4 j. 15..18/05/12 Paris 2000 €
5193 ARM1176 SYSTEM DESIGN ARM1176 SYSTEM DESIGN 4 j. nous consulter Paris -
5184 ARM7 ARM9 conception système ARM7 ARM9 conception système 4 j. 26..29/06/12 Paris 2000 €
5128 Microcontrôleur Microchip PIC18 assembleur et langage C Microcontrôleur Microchip PIC18 assembleur et langage C 4 j. 26..29/06/12 Le Mans 1770 €
5185 PowerPC MPC55xx PowerPC MPC55xx 5 j. nous consulter - -
5159 Processeurs ARM - Microcontroleurs ARM7/9 Processeurs ARM - Microcontroleurs ARM7/9 4 j. nous consulter - -

Imprimer la fiche

imprimante

Formation ARM Cortex R4

email

Demande d'information

Réf. : 5191

Demande d'information email

Objectifs

Cette formation, assurée par des formateurs habilités ARM™, aborde la problématique de la conception d’un système contenant un cœur processeur ARM Cortex-R4.
Elle permet :
  • d'identifier les différents blocs qui composent le processeur ARM cortex R4,
  • d'examiner en détail le fonctionnement du cœur, des différents bus et interfaces,
  • d'utiliser les différentes fonctions du microcontrôleur avec des travaux pratiques sur CodeWarrior/ADS/AXD, Eclipse/RVDS, Keil µVision, simulateur GNU/Lauterbach ou IAR Workbench,
  • de décrire précisément les échanges de données entre le cœur systéme et les périphériques.

Programme

1èrejournée

Introduction ARM Cortex-R4
  • Les différents blocs fonctionnels
  • Les nouveautés du Cortex-R4 par rapport aux autres générations de cœurs ARM
  • Architecture de l'ARMv7-R
  • Différents modes opérationnels
  • Jeux d'instructions ARM
  • Jeux d'instructions Thumb-2
  • Registre d’État
  • Les exceptions
  • Système de contrôle du coprocesseur
  • Options configurables
Jeu d’instructions THUMB-2
  • Introduction
  • Généralité concernant la syntaxe
  • Instructions de traitement des données
  • Instructions de branchement et de contrôle de flux
  • Instructions d'accès à la mémoire
  • Instructions liées aux exceptions
  • Blocs conditionnels (If ... then ...)
  • Opérations sur l'accumulateur
  • Instructions exclusives : load et store
  • Accès aux registres spéciaux
  • Instructions du coprocesseur
  • Synchronisation mémoire et contrôle d'accès
  • Barrière mémoire et synchronisation
  • Fonctionnement ARM et Thumb combinés
  • Travaux pratiques : compilation et assemblage du nouveau jeu d'instructions
Unité de calcul en virgule flottante VFPv3
  • Encodage des nombres à virgule flottante (normalized, tiny, zero, infinite,NaN)
  • Architecture du VFPv3-D16
  • Généralités et détails des registres de la FPU
  • Conformité avec le standard IEEE754
  • Gestion des exceptions
  • Gestion des opérations arithmétiques invalides "NaN"
  • Démonstration d'un calcul à virgule flottante à partir d'un exemple codé en langage C décomposé en instruction VFPv3
Trucs et astuces du compilateur C pour Cortex-R4
  • Optimisation automatique
  • Séquencement des instructions
  • Optimisation de la récursivité "Tail-call"
  • Passage des paramètres
  • Accès aux données des tableaux et des structures
  • Fin de boucle
  • Codage assembleur
  • Usage de la pile
  • Disposition globale des données
  • Travaux pratiques concernant l'optimisation "Tail-call"

2èmejournée

Développement logiciel embarqué
  • Gestion de l'adressage ROM/RAM
  • Table des vecteurs d'exceptions
  • Gestionnaire de reset
  • Initialisation : pointeur de pile, code et zone de données
  • Initialisation de la librairie C
  • Mécanisme de "Scatterloading"
  • Règles de plan d'adressage du "Linker"
  • Gestion des "branchements longs"
  • Fonctions de la librairie C
  • Placement de la pile et du tas (stack and heap)
Pipeline d’instructions Cortex-R4
  • Unité de "Prefetch"
  • Traitement d’instruction pas à pas
  • Cycle d’exécution d’instruction
  • Mécanisme de branchement prédictif : global history buffer
  • Optimisation de performances
  • Unité de traitement des données
  • Double conditions de sortie de traitement
  • Pile de retour des sous-routines
  • Instruction de barrière mémoire
  • Préparation du vidage des files
  • Événements relatifs au PMU
Types de mémoires
  • restriction par rapport au chargement et au stockage
  • Types de mémoires, restriction lecture/écriture multiple
  • Accès périphériques et mémoire
  • Ordre d’accès et barrière mémoire
Unité de protection mémoire (MPU)
  • Protection mémoire, ARM v7 PMSA
  • État des erreurs et registre d'adresses
  • Cortex-M4 MPU et erreurs de bus
  • Régions, sous-régions et contrôle d’accès
  • Recouvrement des zones (overlapping)
  • Configuration de la MPU

2èmejournée (suite)

Gestions des interruptions et exceptions
  • Low Interrupt Latency : abandon d'une instruction en cours de chargement/stockage
  • Configuration d'état de la gestion des exceptions : jeux d'instructions "endian mode"
  • Configuration de la FIQ comme non-masquable
  • Primecell Vectored Interrupt Controller (VICs)
  • Réduction des temps de latence via la génération automatique des vecteurs d'interruption
  • Chronogramme des signaux du VIC
  • Connectivité : daisy-chained VIC
  • Priorité et masque d'interruption
  • Abandon lié aux exceptions et gestion des erreurs
  • Comment déterminer la cause de l'erreur grâces aux registres du CP15
  • Erreurs connues vs erreurs non identifiées

3èmejournée

Intégration matérielle de Cortex-R4
  • Les horloges CLKIN, FREECLKIN et PCLKDBGK
  • Choix des "prescaler" entre l'horloge d'entrée et la fréquence de travail du processeur
  • Reset, power-on reset, Debug et reset ETM
  • Contrôle et gestion dynamique d’énergie
  • Mécanisme d’attente sur interruption
  • Débogage à l'extinction du processeur
Protocole AXI
  • Topologie : Connexion directe, multimaître, multicouche
  • Interconnexion AXI PL300
  • Séparation des accès data, control/adresses
  • Canaux AXI et handshake
  • Support pour les transferts de données non alignées
  • Ordonnancement des transactions, exécution en mode dégradé
  • Chronogramme des transactions de lecture/écriture
  • Interface mémoire externe Cortex-R4
  • Transactions aux niveaux atomiques
Cache mémoire de niveau 1 du Cortex-R4
  • Généralités sur le cache : organisation, algorithmes de remplacement, règles d'écritures
  • Organisation du cache
  • Règles d'allocations mémoires pour l'écriture
  • Débogage quand les caches sont actifs
  • Protection ECC / Parité
  • Étude des transitions chargement / stockage de la ligne de cache : linefill buffers, eviction buffer
  • Accès à la RAM du cache via l'interface esclave de l'AXI
  • Entrelacament BTCM initié par une connexion entre le cœur et l'AXI DMA vers l'interface esclave de l'AXI
  • Store buffer, merging data
  • Débogage locigiel du cache L1
  • Événement lié au PMU

4èmejournée

SYSTÈME MÉMOIRE DE NIVEAU 2
  • Interface maître de l'AXI, capacité d'écriture et de lecture
  • Identifiants des transcations de l'AXI
  • Contrôle du cache externe
  • Restrictions concernant les transferts AXI
  • Détermination du nombre et des types de transactions AXI en fonction des attributs mémoire et du type d'instruction
  • Séparation des transactions AXI
  • Interface esclave de l'AXI, capacité d'écriture et de lecture
  • Activation / désactivation des accès à l'AXI esclave
  • Utilisation du chip-select pour définir les accès A-TCM, B-TCM, I-Cache et D-Cache
  • Utilisation de l'interface esclave de l'AXI pour faire des auto-tests intégrés
  • Comprendre le mécanisme de récupération après erreur
  • Accès exclusif, instructions de swap, moniteur exclusif interne
  • Moniteur externe dans la cas d'une implémentation multicœur
APB - BUS PERIPHERIQUES AVANCES
  • Second niveau de décodage d'adresses
  • Brochage
  • Chronogramme de lecture
  • Chronogramme d'écriture
  • Nouvelles fonctionnalités de l'APB3.0
Unité de débogage
  • Moniteur de performance, compteur d'événements
  • Interruptions, événement sur les bus
  • Généralité sur la spécification Coresight
  • Registres CP14 et memory-mapped, utilisation d'une l'interface APB esclave
  • Permission d'accès sur le port APB
  • Code de débogage embarqué
  • Débogage intrusif : breakpoints et watchpoints
  • Capture des vecteurs
Synthèse et conclusion

Participants

Des notions de base en électronique numérique, conception ASIC sont souhaitables.
Une connaissance générale de l’ARM, et en particulier la connaissance du jeu d’instructions ARM V4T et V5TE, est vivement recommandée.

Matériel à disposition des participants

Pour un stage intra-entreprise sur site, les travaux pratiques pourront être réalisés sur les environnements suivants : Eclipse/RVDS, ARM Development Studio 5 (DS-5), GNU/Lauterbach simulator.
Pour les stages interentreprises, les travaux pratiques seront assurés sur l’environnement ARM Development Studio 5 (DS-5).

Supports de formation ARM Cortex R4 :
  • Classeur de cours

Modalités

Sessions interentreprises :
  • Tarif : Nous consulter
  • Durée : 4 jours
  • Formateur : Ingénieur spécialiste en architecture microprocesseur et bus industriel habilité ARM™
Sessions intra-entreprise sur mesure :
Calendrier et tarifs, nous consulter
email

Demande d'information