Architecture ARM Cortex-M (v7/v8)
Objectifs
|
- Cours théorique
- Matériel de cours en PDF (en anglais)
- Pour les cours en ligne :
- Cours dispensé via le système de visioconférence Teams
- Le formateur répond aux questions des stagiaires pendant la formation et fournit une assistance technique et pédagogique par le biais du système de visioconférence Teams.
- Un PC Linux en ligne par stagiaire pour les activités pratiques.
- Le formateur a accès aux PCs en ligne des stagiaires pour l'assistance technique et pédagogique.
- Familiarité avec les concepts et la programmation du C embarqué
- Connaissance de base des processeurs embarqués
- Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
- Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
- Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
- À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.
Plan du cours
- Introduction à l'architecture ARM
- Processeurs Cortex-M
- Programmers’ Model
- Registres du cœur
- Privilèges, modes et piles
- Jeu d'instructions
- Datapath et pipeline, préchargement spéculatif des cibles de branchement
- Modèle d'exceptions
- Modèle mémoire
- Cartographie des adresses
- Types de mémoire
- Alignement des instructions et des données
- System Control Space
- Gestion de l'énergie
- Processeur ARM Cortex-M0
- Processeur ARM Cortex-M0+
- Processeur ARM Cortex-M3
- Processeur ARM Cortex-M4
- Processeur ARM Cortex-M7
- Processeur ARM Cortex-M33
- Processeur ARM Cortex-M23
- Comparaison de la famille de processeurs ARM Cortex-M
- Outils
- Présentation de l'IDE Keil et de la sonde Ulink2
- System Workbench for MCU
- Standards
- AAPCS
- UAL
- CMSIS
- Génération de code
- Types de variables supportés
- Utilisation des registres, passage des paramètres
- Accès alignés et non alignés
- Endianness
- Génération de l'image
- Traitement des branchements
- Tolérance aux fautes
- Problèmes de pile
- Déterminisme
- Support des RTOS
- Présentation de la MPU
- Présentation du timer SysTick
- Optimisations du compilateur
- Niveaux d'optimisation
- Tail-call
- Inlining de fonction
- Transformation de boucles
- Compilation multi-fichiers
- Virgule flottante
- Bit Banding
- Optimisation des copies mémoire
- Optimisation du pointeur de base
- Présentation du débogage ARMv6-M et ARMv7-M
- Présentation de CoreSight
- Débogage invasif
- Breakpoints et watchpoints
- Vector Catch
- Semi-hosting
- Débogage non invasif
- Data Watchpoint and Trace unit
- Instrumentation Trace Macrocell (ITM)
- Embedded Trace Macrocell (ETM)
- Micro Trace Buffer (MTB)
- Comportement au reset
- Table des vecteurs
- Démarrage CMSIS-CORE et initialisation du système
- Fichier de démarrage
- Gestionnaires d'exception
- Mise en place de la pile et du tas
- Initialisation après le démarrage
- Travailler avec l'éditeur de liens
- Créer des sections de code et de données
- Placer le code et les données en mémoire
- Traitement des exceptions
- Entrée et sortie d'exception
- Empilement lors d'une exception
- Imbrication
- Tail-chaining
- Late-arriving
- Priorisation et contrôle
- Registres du NVIC
- Élévation de priorité
- Regroupement des priorités
- Masquage des exceptions
- Écrire des gestionnaires d'interruption
- Sensibilité des interruptions
- Exceptions internes et faults
- Escalade des faults
- Régions de la MPU
- Privilégié face à non privilégié
- Types de mémoire
- Permissions d'accès
- Recouvrement de régions
- Access Fault
- États de sécurité
- Banking des registres
- Protection des adresses de l'état secure
- Interactions secure et non-secure
- Configuration et calibration du SysTick
- Synchronisation
- Section critique, atomicité
- Instructions LDREX/STREX
- Exemples de lock et unlock
- Barrières mémoire
- Data Memory, Data Synchronization et Instruction Synchronization Barriers
- Exemples d'utilisation
- Compléments sur le jeu d'instructions
- Retour sur le jeu d'instructions
- Bloc If-Then
- Présentation de l'extension DSP
Plus d'information
Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.
Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter
Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription
Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.
Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.
Dernière mise à jour du plan de cours : 2 juillet 2026
L'inscription à nos formations est soumise à nos Conditions Générales de Vente
Sur le même sujet :
Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué