ARM Cortex M3 - Conception système

(ref.004581A)

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-M3.
  • 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-M3, 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 Cortex-M3 mais également être capable de comprendre les bases de la programmation logicielle sur ces plates-formes

Partenaires

ARM ATC

Prérequis

  • Une compréhension de base des microprocesseurs et microcontrôleurs est utile mais non indispensable
  • Une compréhension de base de la logique numérique est utile mais non indispensable
  • Une compréhension de base de la programmation en assembleur ou en langage C est utile mais non indispensable
  • Des notions sur les cœurs ARM sont utiles mais non indispensables

Configurations

  • Pour les formations sur site, les travaux pratiques peuvent etre effectués sous les environnements suivants : Keil DS-5, Keil µVision, ou IAR Workbench

Contenu

Architectures ARM

Profiles A, R et M

Evolution des jeux d’instructions ARM

Modèle du programmeur

Mapping mémoire fixe

Privilèges, Modes et Stacks

Memory Protection Unit

Gestion d’interruption

Nested Vectored Interrupt Controller (NVIC)

Gestion de la consommation

Debug

Compilateur RVCT

Codewarrior for RVDS

RVD debugger

RVISS simulator

JTAG run control unit

Trace capture unit

Pipeline et chemin de données

Tampon d’écriture

Bit-banding

Timer système

Etat, privilèges et piles

Bloc de control système

Instructions de manipulation de données

Instructions de branchement et de control de flot

Instructions d’accès mémoire

Instructions générant des exceptions

Blocs conditionnels : If..Then

Instructions de lecture / écriture exclusive

Accès aux registres spéciaux

Barrières d’accès mémoire et de synchronisation

Travaux pratiques : introduction au Cortex-M3

Entrée et sortie d’interruption, chronogrammes

Tail chaining

Pre-emption et temps de réponse

Priorité des interruptions

Configurations d’implémentations des interruptions, impact sur la taille du cœur

Comportement des exception, sortie d’exception

Exceptions non-masquables

Privilèges, modes et piles

Escalade de faute

Table de vecteurs

Types de mémoires, restriction des lectures / écritures multiples

Ordre des accès des mémoires Device et Normal

Ordre des accès

Barrières mémoire

Introduction à la MPU ARM v7 PMSA

La MPU du Cortex-M3 et les bus faults

Régions, types de mémoires, droits d’accès et sous-régions

Configuration de la MPU

Positionnement de code, données, piles et tas dans le mapping mémoire ; scatterloading

Adaptation de la librairie C standard pour une cible donnée

Reset et initialisation

Compilation et debug d’une image

Les veneers de branchements longs

Travaux pratiques : adaptation de la librairie C, gestion d’interruption

Les fonctionnalités de debug du Cortex-M3

Mode Monitor

Fonctionnalités du Flash Patch & Breakpoint

Fonctionnalités du Data Watchpoint & Trace

Registres du DWT

Port AHB

Opération ETM de base

Registres de stimuli de l’ITM

Paquets de trace du DWT

Paquets de Time-stamping

Le TPIU

Connexion Serial Wire

Optimisations du compilateur ARM

Interfaçage C/C++ et assembleur

Développement avec le compilateur ARM

Mesure d’utilisation de la pile

Utilisations des variables globales et locales, alignement des structures

Intérêt de la spécification

Exemple typique de système basé sur l’interconnexion AMBA

Différences entre AMBA 2.0 et AMBA 3.0

Décodage d’adresse centralise

Address gating logic

Arbitrage de bus, parcage de bus

Transactions data simple

Transferts séquentiels

Réponse de type retry

Réponse de type split

Spécification AHB-Lite

Chronogramme de lecture

Chronogramme d’écriture

Interconnexion AHB vers APB

Nouvelles fonctionnalités de l’APB 3.0

Reset et horloges

Interfaces bus, respect du AMBA 3.0

Interface de debug, interface de debug AHB-AP, ITM, ETM

Connexion au TPIU

Notes

  • Les supports de cours seront fournis sur papier à chaque participant pendant la formation