ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Processors ARM Cores Mise en œuvre du Cortex-M33
RM5

Mise en œuvre du Cortex-M33

Ce cours couvre le cœur ARMv8 Cortex-M33

Objectifs du cours

  • Ce cours se divise en 3 parties :
    • Architecture du Cortex-M33
    • Mise en œuvre logicielle et débogage du Cortex-M33
    • Programmation DSP du Cortex-M33.
  • Le Cortex-M33, bien qu'étant un cœur 32 bits, est l'un des premiers cœurs ARMv8-M proposés par ARM et comporte plusieurs fonctions avancées.
  • La programmation bas niveau du Cortex-M33 est expliquée, en particulier le paramétrage de l'éditeur de liens ARM et certaines instructions assembleur délicates.
  • Le cours indique également comment utiliser les instructions DSP et FPU pour accélérer la mise en œuvre des algorithmes de traitement du signal.
  • Les différents éléments de débogage CoreSight présents dans le Cortex-M33 sont également présentés
  • Compréhension de base des microprocesseurs et des microcontrôleurs
  • Les travaux pratiques sont exécutés sur un simulateur ARMv8.
  • Un support de cours imprimé est remis aux participants pendant la formation.
  • Précis et facile à utiliser, il peut servir de référence par la suite.
  • 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-M33
  • Modèle du programmeur’ ARMv8-M
  • Pipeline d'instructions
  • Plan mémoire figé
  • Privilège, modes et piles
  • Memory Protection Unit
  • Extensions de sécurité
  • 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
  • Registres de limite de pile
  • Instructions exclusive load et store, mise en œuvre de séquences atomiques
  • Memory barriers et synchronisation
  • Instructions d'accès exclusif
  • Les moniteurs local, global et externe
  • Interaction avec les instructions d'accès exclusif
  • Utilisation et contraintes de Load Exclusive et Store Exclusive
  • 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
  • Le cadre de la bibliothèque CMSIS
  • Les fonctions intrinsèques CMSIS DSP
  • Les fonctions CMSIS optimisées de traitement de données
  • 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 GCC
  • 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
  • Comportement des exceptions, retour d'exception
  • Exceptions non masquables
  • Privilège, modes et piles
  • Escalade de fautes
  • Élévation de priorité
  • Table de vecteurs
  • 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
  • Le Nested Vectored Interrupt Controller (NVIC)
  • Security states
  • Banking des registres entre security states
  • Piles et security states
  • Security Extension et exceptions
  • Protection d'adresse en état secure
  • Interactions entre états secure et non-secure
    • Transitions d'état secure
    • Appels de fonction depuis l'état non-secure vers l'état secure
    • Retour depuis l'état secure
  • Exceptions et Security Extension
    • Traitement des Secure Exceptions
    • Traitement des Non-Secure Exceptions depuis l'état secure
    • Retour d'une exception non-secure vers l'état secure
  • La Security Attribution Unit
  • L'Implementation Defined Attribution Unit
  • Types de mémoire
  • Ordre des accès
  • Memory barriers, code auto-modifiant
  • Présentation de la protection mémoire, PMSA de l'ARM v8
  • MPU du Cortex-M33 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
  • Mise en place de la MPU
  • Débogage invasif
    • 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
  • Débogage non invasif
    • 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
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é