Télécharger en PDF

publicité
Descriptif de Formation - Ref:004837A - 25/05/2017
ARM Cortex R4/Cortex R4F - Conception système
4 jours
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-R4.
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-R4, 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
PRÉREQUIS
Une compréhension de base des microprocesseurs et
microcontrôleurs est utile mais non indispensable
Cortex-R4 mais également être capable de comprendre
Une compréhension de base de la logique numérique est utile
les bases de la programmation logicielle sur ces plates-
mais non indispensable
formes
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
FORMATIONS CONNEXES
ARM Cortex R5 - Conception système
indispensables
CONFIGURATIONS
ARM Cortex M4 - Conception système
Pour les formations sur site, les travaux pratiques peuvent être
effectués sous les environnements suivants : Keil DS-5, Keil
PARTENAIRES
µVision, ou IAR Workbench
Thumb-2 instruction set
CHAPITRES
Program Status register
Exceptions
INTRODUCTION TO CORTEX-R4
System control coprocessor
Block diagram
Configurable options
Highlighting the new features with regard to other ARM cores
THUMB-2 INSTRUCTION SET
ARMv7-R architecture
Introduction
Operating modes
General points on syntax
ARM instruction set
Data processing instructions
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:004837A - 25/05/2017
Branch and control flow instructions
Instruction cycle timing
Memory access instructions
Dynamic branch prediction mechanism : global history buffer
Exception generating instructions
Guidelines for optimal performance
If...then conditional blocks
Data Processing Unit
Stack in operation
Dual issue conditions
Exclusive load and store instructions
Return stack
Accessing special registers
Instruction Memory Barrier
Coprocessor instructions
Prefetch queue flush
Memory barriers and synchronization
PMU related events
Interworking ARM and Thumb states
MEMORY TYPES
Demonstration of assembly sequences aimed to understand this
Memory types, restriction regarding load / store multiple
new instruction set
Device and normal memory ordering
VFPV3 FLOATING POINT UNIT
Memory type access restrictions
Floating point number encoding (normalized, tiny, zero, infinite,
Access order
NAN)
Memory barriers, self-modifying code
Overview of VFPv3-D16 architecture
MEMORY PROTECTION UNIT
General purpose registers, FPU views of the register bank
Memory protection overview, ARM v7 PMSA
Compliance with IEEE754 standard
Cortex-R4 MPU and bus faults
Exception management
Fault status and address registers
NaN handling
Region overview, memory type and access control, sub-regions
Demonstration of floating point calculations generated from C
Region overlapping
language
Setting up the MPU
COMPILER HINTS AND TIPS
EXCEPTION MANAGEMENT
Automatic optimization
Low Interrupt Latency : abandoning load / store instructions in
Instruction scheduling
progress
Tail-call optimization
Configuring the state in which exceptions are handled : endian
Parameter passing
mode, instruction set
Array and structure access
Configuring the FIQ as non-maskable
Loop termination
Primecell VICs
Inline assembler
Reducing interrupt latency through automatic vector generation
Stack usage
VIC basic signal timing
Global data layout
Connectivity : daisy-chained VIC
Highlighting some optimisations through practical labs, for
Interrupt priority and masking
instance tail-call optimization
Abort exception, fault handling
EMBEDDED SOFWARE DEVELOPMENT
Determining the cause of the fault through CP15 status registers
ROM/RAM remapping
Precise vs imprecise faults
Exception vector table
HARDWARE IMPLEMENTATION
Reset handler
Clock domains, CLKIN, FREECLKIN and PCLKDBG
Initialization : stack pointers, code and data areas
Using clock enable to determine the ratio between input clock and
C library initialization
operation clock
Scatterloading
Reset domains, power-on reset and debug reset
Linker placement rules
Power control, dynamic power management
Long branch veneers
Wait For Interrupt architecture
C library functionality
Debugging the processor while powered down
Placing the stack and heap
AXI PROTOCOL
INSTRUCTION PIPELINE
Topology : direct connection, multi-master, multi-layer
Prefetch unit
PL300 AXI interconnect
Studying how instructions are processed step by step
Separate address/control and data phases
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:004837A - 25/05/2017
AXI channels, channel handshake
AXI slave interface, write issuing capability, read issuing capability
Support for unaligned data transfers
Enabling or disabling AXI slave accesses
Transaction ordering, out of order transaction completion
Using chip-select to distinguish A-TCM, B-TCM, I-Cache and D-
Read and write burst timing diagrams
Cache accesses
Atomic transactions
Using the AXI slave interface to perform built-in self tests
Understanding the error recovery mechanisms
LEVEL 1 MEMORY SYSTEM
Cache basics : organization, replacement algorithm, write policies
Exclusive accesses, swap instructions, internal exclusive monitor,
Cache organization
requirement of an external exclusive monitor when implementing
Write with allocate policy
multiple cores
APB - ADVANCED PERIPHERAL BUS
Debugging when caches are active
Second-level address decoding
Parity / ECC protection
Understanding transient cache line load / store : linefill buffers,
eviction buffer
Accessing the cache RAM from AXI slave interface
Tightly Coupled Memories, address decoding, enabling on reset
ECC/parity protection
Interleaving BTCM accesses initiated by core and AXI DMA
connected to AXI slave interface
Pinout
Read timing diagram
Write timing diagram
APB3.0 new features
DEBUG UNIT
Performance monitor, event counting
Related interrupts, event bus
Coresight specification overview
Store buffer, merging data
CP14 and memory-mapped registers, utilization of an APB slave
L1 caches software read for debug purposes
PMU related events
interface
APB port access permissions
LEVEL 2 MEMORY SYSTEM
Embedded core debug
AXI master interface, write issuing capability, read issuing
Invasive debug : breakpoints and watchpoints
capability
Vector catch
AXI transaction identifiers
Debug exception
Controlling an external cache
Debug Communication Channel
Restrictions on AXI transfers
External debug interface
Determining the number and type of AXI transactions according to
Understanding how the Debug unit, the Embedded Trace
memory attributes and instruction type
Macrocell and the Cross-Triggering Interface interact
AXI transaction splitting
Debugging systems with energy management capabilities
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
Téléchargement