ARM - Conception logicielle avec RealView

publicité
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
Téléchargement