Descriptif de Formation - Ref:004866A - 17/04/2017 ARM Cortex M4 - Conception système 4 jours OBJECTIFS Cette formation traite en détails les particularités des cœurs ARM, aussi bien logiciel que matériel dans le but de facilité la mise en oeuvre de cœurs Cortex-M4. Elle est destiné aux : Ingénieurs logiciel qui veulent non seulement obtenir des détails sur la façon d’écrire un logiciel pour processeur ARM Cortex-M4, mais qui souhaitent également comprendre l’implémentation matériel des cœurs au sein d’un microcontrôleur Ingénieurs matériel qui ont besoin de comprendre comment concevoir des systèmes basés sur ARM PRÉREQUIS Cortex-M4 mais également être capable de comprendre les bases de la programmation logicielle Une compréhension de base des microprocesseurs et sur ces plates-formes microcontrôleurs est utile mais non indispensable Une compréhension de base de la logique numérique est utile FORMATIONS CONNEXES mais non indispensable Une compréhension de base de la programmation en assembleur ou en langage C est utile mais non indispensable Langage C pour les applications temps-réel et embarquées Des notions sur les cœurs ARM sont utiles mais non ARM Cortex M7 - Software indispensables ARM 7/9 - Conception système ARM Cortex M3 - Conception système CONFIGURATIONS ARM Cortex M4 vs M3 Langage C pour les applications temps-réel et embarquées Pour les formations sur site, les travaux pratiques peuvent etre effectués sous les environnements suivants : Keil DS-5, Keil PARTENAIRES µVision, ou IAR Workbench Modèle du programmeur CHAPITRES Mapping mémoire fixe PRESENTATION DES ARCHITECTURES ARM Privilèges, Modes et Stacks Architectures ARM Memory Protection Unit Profiles A, R et M Gestion d’interruption Evolution des jeux d’instructions ARM Nested Vectored Interrupt Controller (NVIC) INTRODUCTION AU CORTEX-M4 Gestion de la consommation MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 1 Descriptif de Formation - Ref:004866A - 17/04/2017 Debug La MPU du Cortex-M3 et les bus faults INTRODUCTION AUX OUTILS DE DEVELOPPEMENT Compilateur RVCT Régions, types de mémoires, droits d’accès et sous-régions Configuration de la MPU Keil DS-5 DEVELOPPEMENT LOGICIEL EMBARQUE POUR CORTEX-M4 Keil µVision Positionnement de code, données, piles et tas dans le mapping RVD debugger mémoire ; scatterloading RVISS simulator Adaptation de la librairie C standard pour une cible donnée JTAG run control unit Reset et initialisation Trace capture unit Compilation et debug d’une image CŒUR ARM CORTEX-M4 Les veneers de branchements longs Pipeline et chemin de données Travaux pratiques : adaptation de la librairie C, gestion Tampon d’écriture d’interruption Bit-banding DEBUG INTRUSIF Timer système Les fonctionnalités de debug du Cortex-M4 Etat, privilèges et piles Mode Monitor Bloc de control système Fonctionnalités du Flash Patch & Breakpoint Single Instruction Multiple Data Fonctionnalités du Data Watchpoint & Trace Calculs flottants Registres du DWT JEU D’INSTRUCTION THUMB-2 Port AHB Instructions de manipulation de données DEBUG NON-INTRUSIF Instructions de branchement et de control de flot Opération ETM de base Instructions d’accès mémoire Registres de stimuli de l’ITM Instructions générant des exceptions Paquets de trace du DWT Blocs conditionnels : If..Then Paquets de Time-stamping Instructions de lecture / écriture exclusive Le TPIU Accès aux registres spéciaux Connexion Serial Wire Barrières d’accès mémoire et de synchronisation Travaux pratiques : introduction au Cortex-M4 INTERRUPTIONS OPTIMISATIONS C/C++ POUR LE CORTEX-M4 Optimisations du compilateur ARM Interfaçage C/C++ et assembleur Entrée et sortie d’interruption, chronogrammes Développement avec le compilateur ARM Tail chaining Mesure d’utilisation de la pile Pre-emption et temps de réponse Utilisations des variables globales et locales, alignement des Priorité des interruptions structures Configurations d’implémentations des interruptions, impact sur la taille du cœur SPECIFICATION D’INTERCONNEXION AMBA 3.0 Intérêt de la spécification EXCEPTIONS Exemple typique de système basé sur l’interconnexion AMBA Comportement des exception, sortie d’exception Exceptions non-masquables Différences entre AMBA 2.0 et AMBA 3.0 AHB – ADVANCED HIGH PERFORMANCE BUS Privilèges, modes et piles Décodage d’adresse centralise Escalade de faute Address gating logic Table de vecteurs Arbitrage de bus, parcage de bus TYPES DE MEMOIRES Transactions data simple Types de mémoires, restriction des lectures / écritures multiples Transferts séquentiels Ordre des accès des mémoires Device et Normal Réponse de type retry Ordre des accès Réponse de type split Barrières mémoire Spécification AHB-Lite MEMORY PROTECTION UNIT APB – ADANCED PERIPHERAL BUS Introduction à la MPU ARM v7 PMSA Chronogramme de lecture MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 2 Descriptif de Formation - Ref:004866A - 17/04/2017 Chronogramme d’écriture Reset et horloges Interconnexion AHB vers APB Interfaces bus, respect du AMBA 3.0 Nouvelles fonctionnalités de l’APB 3.0 Interface de debug, interface de debug AHB-AP, ITM, ETM IMPLEMENTATION MATERIEL DU CORTEX-M3 Connexion au TPIU NOTES Les supports de cours seront fournis sur papier à chaque participant pendant la formation CONTACT Tel : 05 62 13 52 32 Fax : 05 61 06 72 60 [email protected] MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 3