Mise en œuvre du Cortex-M4 / Cortex-M4F
Objectifs
|
- Une compréhension de base des microprocesseurs et des microcontrôleurs.
- Cours théorique
- Support PDF (en anglais), imprimé en présentiel ; à distance via Teams.
- Assistance du formateur tout au long de la formation.
- Chaque session débute par un point avec les stagiaires.
- 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
- Macrocellule du processeur ARM Cortex-M4
- Modèle du programmeur
- Pipeline d'instructions
- Plan mémoire figé
- Privilège, modes et piles
- Memory Protection Unit
- Gestion des interruptions
- Nested Vectored Interrupt Controller [NVIC]
- Gestion de l'énergie
- Débogage
- Registres à usage spécifique
- Chemin de données et pipeline
- Write buffer
- Bit-banding
- Timer système
- État, privilège et piles
- System control block
- Matrice de bus interne
- Matrice de bus externe pour gérer les maîtres DMA
- Connexion des périphériques
- Partage des ressources entre le Cortex-M4 et les autres processeurs
- Connexion au Power Manager Controller
- Démarrage de l'application
- Placement du code, des données, de la pile et du tas dans le plan mémoire, scatterloading
- Reset et initialisation
- Placement d'une table de vecteurs minimale
- Autres considérations sur le plan mémoire, alignement de pile sur 8 octets dans les handlers
- Généralités sur la syntaxe
- Instructions de traitement de données
- Instructions de branchement et de contrôle de flot
- Instructions d'accès mémoire
- Instructions génératrices d'exception
- Blocs conditionnels If…then
- La pile en fonctionnement
- Instructions exclusive load et store, mise en œuvre de séquences atomiques
- Memory barriers et synchronisation
- Instructions de multiplication
- Instructions de packing / unpacking
- Instructions ARM SIMD V6 d'addition / soustraction packées
- Instructions SIMD d'addition/soustraction combinées, mise en œuvre des opérations complexes canoniques
- Instructions multiply et multiply accumulate
- Instructions SIMD sum absolute difference
- Instruction SIMD select
- Instructions de saturation
- Introduction à l'IEEE754
- Arithmétique flottante
- FPU simple précision du Cortex-M4F
- Banc de registres
- Activation de la FPU
- Performances de la FPU, MAC fusionné
- Amélioration des performances par le choix du mode flush-to-zero et du mode default NaN
- Extension de l'AAPCS pour inclure les registres FP
- Mélange de C/C++ et d'assembleur
- Programmation avec le compilateur ARM
- Mesure de l'utilisation de la pile
- Accès non alignés
- Questions liées aux données locales et globales, alignement des structures
- Autres optimisations, retour de l'éditeur de liens
- Fonctionnement de base des interruptions, mécanisme d'interruption microcodé
- Entrée / sortie d'interruption, chronogrammes
- Pile d'interruption
- Tail chaining
- Temps de réponse aux interruptions, préemption
- Priorisation des interruptions
- Handlers d'interruption
- Comportement des exceptions, retour d'exception
- Exceptions non masquables
- Privilège, modes et piles
- Escalade de fautes
- Élévation de priorité
- Table de vecteurs
- Types de mémoire
- Ordre des accès
- Memory barriers, code auto-modifiant
- Présentation de la protection mémoire, PMSA de l'ARM v7
- MPU du Cortex-M4 et bus faults
- Registres d'état et d'adresse de faute
- Présentation des régions, type de mémoire et contrôle d'accès, sous-régions
- Recouvrement des régions
- Infrastructure de débogage CoreSight
- Mode halt
- Vector catching
- Sources d'événements de débogage
- Fonctions flash patch et breakpoint
- Data watchpoint and trace
- Spécification ARM debug interface
- Composants CoreSight
- AHB-Access Port
- Mises en œuvre possibles du DP : Serial Wire JTAG Debug Port [SWJ-DP] ou SW-DP
- Fonctionnement de base de l'ETM
- Principes de la trace d'instructions
- Instrumentation trace macrocell
- Registres de port de stimulus de l'ITM
- Paquets de trace DWT
- Types d'événements matériels
- Trace d'instructions
- Paquets de synchronisation
- Interface entre les données de trace sur puce issues de l'ETM et l'Instrumentation Trace Macrocell [ITM]
- Composants du TPIU
- Connexion Serial Wire
- Objet de cette spécification
- Exemple de SoC fondé sur la spécification AMBA
- Différences entre AMBA2.0 et AMBA3.0
- Décodage d'adresse centralisé
- Logique de gating d'adresse
- Arbitrage, bus parking
- Transactions indivisibles
- Transactions à donnée unique
- Pipeline d'adresses
- Transferts séquentiels
- Spécification AHB-lite
- Paramétrage du cœur AHB fourni par ARM
- Décodage d'adresse de second niveau
- Chronogramme de lecture
- Chronogramme d'écriture
- Fonctionnement du pont AHB vers APB
- Nouveautés de l'APB3.0
- Horloges et reset, gestion de l'énergie
- Utilisation d'un Wake-up Interrupt Controller (WIC) externe
- Interfaces de bus : interface mémoire Icode, interface mémoire Dcode, interface système et interface External Private Peripheral Bus
- Conformité AMBA-3
- Unification des bus de code
- Gestion des accès non alignés
- Interface de débogage
- Connexion au TPIU
- AHB Trace Macrocell (HTM)
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é