Descriptif de Formation - Ref:002580A - 18/04/2017 ARM - Conception logicielle avec RealView 3 jours OBJECTIFS L'objectif principal de cette formation est de permettre aux participants de devenir autonomes pour développer du logiciel sur des plateformes ARM 7 et 9 Cette formation explique le fonctionnement des pipelines des PRÉREQUIS ARM7 et ARM9 Les travaux pratiques apportent une introduction approfondie Des connaissances de base des architectures de aux outils de développement logiciel ARM et Keil microporcesseurs et microcontroleurs est recommandée mais Le jeu d'instructions ARM est couvert en détails pas indispensable Cette formation couvre les principes d'utilisation des caches Des notions de programmation en assembleur et en langage C L'interworking ARM/Thumb est décrit sont recommandées Les solutions de débug sont détaillées afin que les participants Des notions de base des architectures ARM sont utiles mais sache les exploiter pleinement pas indispensables CONFIGURATIONS FORMATIONS CONNEXES Pour les formations sur site, les travaux pratiques peuvent se faire avec les environements de développement suivan : Keil ARM 7/9 - Conception système DS-5, Keil μVision, GNU/Lauterbach simulator, or IAR Workbench Pour les formations publiques, les travaux pratiques sont fait PARTENAIRES en utilisant Keil μVision Interface mémoire ARM7TDMI CHAPITRES Chemins de données ARM9TDMI Pipeline ARM9TDMI L'ARCHITECTURE ARM Exemple de système à base de ARM9TDMI Présentation de ARM Présentation des ARM9-E, ARM10, StrongARM et Xscale Modes de fonctionnement ARM INTRODUCTION A KEIL ΜVISION ET DS-5 Jeux de registres Utilisation des outils « cœur » Program Status Register Caractéristiques clefs des compilateurs C/C++ Gestion d'exception, table de vecteurs Jeux d'instructions Librairies fournies TRAVAUX PRATIQUES KEIL DS-5 COEUR ARM Compilation et execution d'un example Signaux cœur ARM7TDMI Creation d'un fichier d'entête Diagramme block ARM7TDMI Creation d'un nouveau projet Le pipeline d’instruction du ARM7TDMI Vues registres et mémoire 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:002580A - 18/04/2017 JEUX D’INSTRUCTIONS ARM ET THUMB Access à des tableaux ou structures Exécution conditionnelles et drapeaux Fin de boucle Instructions de branchement Opération de division Registre à décalage Assembleur embarqué Constantes immédiates Utilisation de la pile Gestion des variables globales Transfert de registre simple Transfert de blocks de registres INITIALISATION DE PROCESSEURS Gestion de la pile Les bases du cache, associativité, verrouillage de cache Instructions coprocesseur Le model programmeur Accès aux registres en mode Thumb Vidage du cache Nouvelle instructions de l’architecture v5TE Tampon d’écriture, stratégie d’écriture TPs langage assembleur Gestion de la mémoire, translation d’adresse virtuelles vers ARM / THUMB INTERWORKING physiques Commutation entre états TLB et tables de translation, descripteurs niveau 1 et niveau 2 Exemple de Branch & Exchange Protection mémoire, configuration de la MPU Inter-opérabilité ARM/Thumb Coprocesseur de control système Veneer ARM vers Thumb Tightly Coupled Memory Veneer Thumb vers ARM DEVELOPPEMENT DE LOGICIEL EMBARQUE ROM/RAM remapping GESTION D’EXCEPTION Instructions de sortie d’exception Table des vecteurs d’exceptions Priorité des exception Gestionnaire de Reset Instructions de la table des vecteurs Initialisation : pointers de pile, zone code et données Enchaînement d’exceptions Initialisation de la librairie C Utilisation des registres dans un gestionnaire d’exception Fichier de configuration du linker FIQ vs IRQ Long branch veneers Exemple de gestionnaire d’interruption en C Fonctionnalités de la librairie C Contrôleur d’interruption Positionnement de la pile et du tas Problème de démasquage d’interruption Débogage d’images ROM SOLUTIONS DE DEBOGAGE ARM Imbrication d’interruption Utilisation du SWI Debogage avec multiICE Data Abort et gestion de la mémoire Watchpoints, points d’arret matériels et logiciels L’adresse de retour Debug Communication Channel CONSEILS DE CODAGE Semihosting Optimisation automatique EmbeddedICE-RTT logic Re-ordonnancement des instructions Traçage temps-réel Tail-call optimization Trace instruction et trace data Passage de paramètre Capture de trace NOTES Les supports de cours seront fournis sur papier à chaque participant pendant la formation. 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:002580A - 18/04/2017 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