Descriptif de Formation - Ref:002879A - 16/04/2017 ARM 7/9 - 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 des famille ARM7TDMI et ARM9TDMI. PRÉREQUIS Elle est destiné aux : Ingénieurs logiciel qui veulent non seulement obtenir des détails sur la façon d’écrire un logiciel pour Une compréhension de base des microprocesseurs et processeur ARM, mais qui souhaitent également microcontrôleurs est utile mais non indispensable comprendre l’implémentation matériel des cœurs au Une compréhension de base de la logique numérique est utile sein d’un microcontrôleur mais non indispensable Ingénieurs matériel qui ont besoin de comprendre Une compréhension de base de la programmation en comment concevoir des systèmes basés sur ARM mais assembleur ou en langage C est utile mais non indispensable également être capable de comprendre les bases de la Des notions sur les cœurs ARM sont utiles mais non programmation logicielle sur ces plates-formes indispensables FORMATIONS CONNEXES CONFIGURATIONS ARM 7/9 - Conception matérielle Pour les formations sur site, les travaux pratiques peuvent etre ARM - Conception logicielle avec RealView effectués sous les environnements suivants : Keil DS-5, Keil μVision, GNU/Lauterbach simulator, or IAR Workbench Pour les formations inter-entreprises, les travaux pratiques se PARTENAIRES font sous Keil µVision Signaux cœur ARM7TDMI CHAPITRES Diagramme block ARM7TDMI Le pipeline d’instruction du ARM7TDMI L’ARCHITECTURE ARM Interface mémoire ARM7TDMI Vue générale d’ARM Chemins de données ARM9TDMI Modes de fonctionnement ARM Pipeline ARM9TDMI L’ensemble des registres ARM, INTRODUCTION A KEIL ΜVISION ET DS-5 Program Status Registers Gestion d’exception, table des vecteurs, commutation Utilisation des outils « cœur » automatique en mode ARM Caractéristiques clefs des compilateurs C/C++ Ensembles d’instructions : branchement et sous-routines Librairies fournies CŒUR ARM JEUX D’INSTRUCTIONS ARM ET THUMB 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:002879A - 16/04/2017 Exécution conditionnelles et drapeaux Tail-call optimization Instructions de branchement Passage de paramètre Registre à décalage Access à des tableaux ou structures Constantes immédiates Fin de boucle Transfert de registre simple Opération de division Transfert de blocks de registres Assembleur embarqué Gestion de la pile Utilisation de la pile Gestion des variables globales Instructions coprocesseur DEVELOPPEMENT DE LOGICIEL EMBARQUE Accès aux registres en mode Thumb Nouvelle instructions de l’architecture v5TE ROM/RAM remapping TPs langage assembleur Table des vecteurs d’exceptions Gestionnaire de Reset ARM / THUMB INTERWORKING Commutation entre états Initialisation : pointers de pile, zone code et données Exemple de Branch & Exchange Initialisation de la librairie C Inter-opérabilité ARM/Thumb Fichier de configuration du linker Long branch veneers Veneer ARM vers Thumb Fonctionnalités de la librairie C Veneer Thumb vers ARM Positionnement de la pile et du tas GESTION D’EXCEPTION Débogage d’images ROM Instructions de sortie d’exception SPECIFICATION D’INTERCONNEXION AMBA 3.0 Priorité des exception Intérêt de la spécification Instructions de la table des vecteurs Exemple typique de système basé sur l’interconnexion AMBA Enchaînement d’exceptions Utilisation des registres dans un gestionnaire d’exception FIQ vs IRQ Exemple de gestionnaire d’interruption en C Contrôleur d’interruption Problème de démasquage d’interruption Imbrication d’interruption Différences entre AMBA 2.0 et AMBA 3.0 AHB – ADVANCED HIGH PERFORMANCE BUS Décodage d’adresse centralise Address gating logic Arbitrage de bus, parcage de bus Transactions data simple Transferts séquentiels Utilisation du SWI Réponse de type retry Data Abort et gestion de la mémoire Réponse de type split L’adresse de retour Spécification AHB-Lite INITIALISATION DE PROCESSEURS APB – ADANCED PERIPHERAL BUS Les bases du cache, associativité, verrouillage de cache Chronogramme de lecture Le model programmeur Chronogramme d’écriture Vidage du cache Interconnexion AHB vers APB Tampon d’écriture, stratégie d’écriture Nouvelles fonctionnalités de l’APB 3.0 Gestion de la mémoire, translation d’adresse virtuelles vers SOLUTIONS DE DEBOGAGE ARM physiques Debogage avec multiICE TLB et tables de translation, descripteurs niveau 1 et niveau 2 Watchpoints, points d’arret matériels et logiciels Protection mémoire, configuration de la MPU Debug Communication Channel Coprocesseur de control système Semihosting Tightly Coupled Memory EmbeddedICE-RTT logic CONSEILS DE CODAGE Traçage temps-réel Optimisation automatique Trace instruction et trace data Re-ordonnancement des instructions Capture de trace 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:002879A - 16/04/2017 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