Descriptif de Formation - Ref:005014A - 17/04/2017 ARM Cortex M7 - Software 4 jours PARTENAIRES 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-M7. 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-M7, 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-M7 mais également être capable de PRÉREQUIS comprendre les bases de la programmation logicielle sur ces plates-formes Une compréhension de base des microprocesseurs et microcontrôleurs est utile mais non indispensable FORMATIONS CONNEXES Une compréhension de base de la logique numérique est utile mais non indispensable Une compréhension de base de la programmation en Langage C pour les applications temps-réel et embarquées assembleur ou en langage C est utile mais non indispensable ARM Cortex M4 - Conception système Des notions sur les cœurs ARM sont utiles mais non ARM Cortex M3 - Conception système indispensables Data Types CHAPITRES Core Registers Modes, privilege and stacks INTRODUCTION Exceptions CORTEX-M7 OVERVIEW Instruction Set Overview Block diagram TOOLS OVERVIEW FOR ARM MICROCONTROLLERS Architecture Memory Keil MDK Cache / MPU Keil MDK : µVision IDE Power management Keil MDK : ARM compiler Timers Keil MDK : µVision Debugger Debug ULINK ARMV7-M PROGRAMMER'S MODEL Introduction Development boards ARM tools licensing MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 1 Descriptif de Formation - Ref:005014A - 17/04/2017 CMSIS (CORTEX MICROCONTROLLER SOFTWARE INTERFACE STANDARD) ARMV7-M LINKER AND LIBRARIES HINTS & TIPS Linking Basics Introduction System and User Libraries CMSIS-CORE Veneers CMSIS-DSP Stack Issues CMSIS-RTOS Linker Optimizations and Diagnostics CMSIS-SVD ARM Supplied Libraries CMSIS-Pack ARMV7-M SYNCHRONIZATION CMSIS-Driver Introduction to synchronization and semaphores CMSIS-DAP Exclusive accesses CORTEX-M7 MICROARCHITECTURE Bit-banding Processor Pipeline EMBEDDED SOFTWARE DEVELOPMENT FOR CORTEX-M Execution Pipelines PROCESSORS Prefetch Unit Default compilation tool behavior Memory-mapped Registers System startup ARMV7-M ASSEMBLER PROGRAMMING Introduction CMSIS-CORE startup and system initialization code C library initialization Data Processing Instructions Tailoring the image memory map to a device Load/Store Instructions Scatter-loading Flow Control Linker placement rules Miscellaneous Stack and heap management ARMV7-M MEMORY MODEL Further memory map considerations Introduction Post startup initialization Memory Address Space Tailoring the C library to a device Memory Types and Attributes Building and debugging an image Alignment and Endianness ARMV7-M DEBUG Barriers Introduction to Debug CORTEX-M7 LEVEL 1 SUBSYSTEMS CoreSight and Debug Access Port (DAP) Overview Caches Debug Events and Reset Cache Fundamentals Flash Patch and Breakpoint Unit (FPB) Cortex-M7 L1 Cache Sub-system Data Watchpoint and Trace Unit (DWT) Tightly Coupled Memory (TCM) Instrumentation Trace Macrocell (ITM) System Considerations Embedded Trace Macrocell (ETM) ARMV7-M EXCEPTION HANDLING ETM-M7 Data Trace Introduction Trace Port Interface Unit (TPIU), Trace Packets, Timestamping & Exception Model Trace Bandwidth Exception Entry and Exit Behavior Prioritization and Control Implementation Details ARMV7-M MEMORY PROTECTION Interrupt Sensitivity Memory Protection Overview Writing the Vector Table and Interrupt Handlers Memory Regions Internal Exceptions and RTOS Support Region Attribute Control Fault Exceptions Region Overlapping ARMV7-M COMPILER HINTS & TIPS Basic Compilation Sub-region Support Setting up the MPU Compiler Optimizations ARMV7-M EXTENSIONS Coding Considerations Extensions Overview Mixing C/C++ and Assembler DSP Extension Local and Global Data issues Floating Point Extension MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 2 Descriptif de Formation - Ref:005014A - 17/04/2017 NOTES Les supports de cours seront fournis sur papier à chaque participant pendant la formation CONTACT Tel : 05 62 13 52 32 Fax : 05 61 06 72 60 [email protected] MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 3