Descriptif de Formation - Ref:005013A - 17/04/2017 ARM Cortex A72/A53/A57 - Logiciel 4 jours OBJECTIFS Cette formation traite en détails les particularités des cœurs ARM à base d'architecture ARMv8. Elle est destinée aux : Ingénieurs logiciel qui veulent obtenir des détails sur la façon d’écrire un logiciel pour processeur ARM CortexA72/A53/A57. Ingénieurs matériel qui ont besoin de comprendre les bases de la programmation logicielle sur ARM CortexA72/A53/A57. PRÉREQUIS FORMATIONS CONNEXES ARM Cortex A53 - Conception système 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 ARM Cortex A57 - Conception système mais non indispensable Langage C pour les applications temps-réel et embarquées 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 PARTENAIRES indispensables Data processing instructions CHAPITRES Program flow instructions INTRODUCTION TO ARMV8 ARCHITECTURE Architecture versions System control Advanced SIMD Cryptographic extensions Privilege levels AARCH64 EXCEPTION MODEL AArch64 registers A64 instruction set The AArch64 exception model AArch64 exception model Interrupts AArch64 memory model Synchronous exceptions CORTEX A72/A57/A53 PROCESSOR OVERVIEW SError exceptions SError exceptions in EL2 and EL3 Configuration options AARCH64 A64 ISA OVERVIEW ARMV8-A MEMORY MANAGEMENT Register set Memory management theory Load/Store instructions Stage 1 translations at EL 1/0 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:005013A - 17/04/2017 Kernel/application space translation tables Cache Interrupt configuration translations at EL2/EL3 Stage 1 tables for hypervisor/secure exception levels Stage 2 tables for virtualized systems BOOTING Booting a Cortex-A5x processor in AArch64 Processor setup TLB maintenance SECURITY ARMV8-A MEMORY MODEL Types Software stack Attributes Memory system Alignment & endianess Debug TBSA (Trusted Base System Architecture) CACHES AND BRANCH PREDICTION VIRTUALIZATION General cache information What is virtualization ? Cache attributes ARM virtualization support Cache maintenance operations Memory management Cache discovery Exception handling BARRIERS Introduction to SMMU Data barriers POWER MANAGEMENT FOR CORTEX-A Instruction barriers Power overview SYNCHRONISATION Processor Power Modes Synchronisation in ARMv8-A Multiprocessor and System Power Mode Local and Global exclusive monitors Cortex-A5 and Cortex-A9 Power Mode CACHE COHERENCY GIC PROGRAMMING Introduction to coherency Distributor and CPU interfaces Coherency details - multi-core processors How to enable and configure interrupts Coherency details - multi-processor systems How to handle interrupts OS SUPPORT How to send software interrupts Context switching Security extensions Modifying translation tables DEBUG Privilege escalation protections Debug infrastructure Timers Invasive debug SOFTWARE ENGINEERING GUIDE TO THE CORTEX-A57/A53 Non-invasive debug 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 2