ARM Cortex M0/M0+ - Conception système

(ref.004865A)

2 jours - 14 heures

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-M0.
  • 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-M0, 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-M0 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

Présentation des architectures ARM

Profiles A, R et M

Evolution du jeu d'instructions ARM

Modèle du programmeur

Mapping mémoire fixe

Privilèges, Modes et Stacks

Gestion d’interruption

Nested Vectored Interrupt Controller (NVIC)

Memory Protection Unit

Gestion de la consommation

Debug

Compilateur RVCT

Keil DS-5

Keil µVision

JTAG run control unit

Introduction

  • Types de données
  • Registres du coeur
  • Etat, privilège et piles
  • Exceptions

Jeu d'instructions

Introduction

CMSIS-CORE

CMSIS-DSP

CMSIS-RTOS

CMSIS-SVD

CMSIS-Pack

CMSIS-Driver

CMSIS-DAP

La compilation

Les optimisations

Règles de codage

Interfacer du C/C++ avec de l'Assembleur

Les variables globales et locales

Introduction

Espace d'adresse mémoire

Types de mémoires et attributs

Modes d'Endian

Barriers

Introduction

Modèle d'exception

  • Entrée et sortie des exceptions
  • Priorité

Développer un handler d'interruption et la table de vecteurs

Interruption internes et le support d'un RTOS

Les exceptions d'erreurs

Comportement par défaut du compilateur

Startup

  • startup du CMSIS-CORE et du code d'initialisation
  • Initialisation de la librairie C

Porter l'image vers la cible

  • Scatter-loading
  • Linkeur
  • Gestion de la pile et du tas

Initialisation après le démarrage

Porter la librairie C vers la cible

Construire et déboguer une image

Le linkage

Les librairies utilisateur et système

"Veneers"

La pile

Optimisations de linkage

"ARM Supplied Libraries"

Introduction au débogue

Debug Access Port (DAP)

Breakpoints/Watchpoints & Vector Catch

Cortex-M0 Debug

Contrôle système

Notes

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