Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-training > ARM cores > Cortex-R4 implementation
Télécharger le catalogue
Télécharger le catalogue
Télécharger la page
Télécharger la page
Ecrivez nous
Ecrivez nous
Version imprimable
Version imprimable
 

RR0 Cortex-R4 implementation

This course covers the Cortex-R4 ARM core


formateur
Objectives
bullet_jaune_1 This course is split into 3 important parts:
bullet_jaune_2 Cortex-R4 architecture
bullet_jaune_2 Cortex-R4 software implementation and debug
bullet_jaune_2 Cortex-R4 hardware implementation.
bullet_jaune_1 Interaction between level 1 caches, TCM and main memory is studied through sequences.
bullet_jaune_1 The course explains how to assign access permissions and attributes to regions by using the MPU.
bullet_jaune_1 The exception mechanism is detailed, indicating how the VIC port can contribute to reduce interrupt latency.
bullet_jaune_1 The course also details the hardware implementation and provides some guidelines to design a SoC based on Cortex-R4.
bullet_jaune_1 An overview of the Coresight specification is provided prior to describing the debug related units.
Labs are run under RVDS

A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Knowledge of ARM7/9.
bullet_jaune_2 This course does not include chapters on low level programming.
bullet_jaune_3 ACSYS offers a large set of tutorials to become familiar with RVDS, assembly level programming, compiler hints and tips.
bullet_jaune_2 More than 12 correct answers to Cortex-R prerequisites questionnaire.

Plan
First day
ARM BASICS
bullet_jaune_2 States and modes
bullet_jaune_2 Benefit of register banking
bullet_jaune_2 Exception mechanism
bullet_jaune_2 Instruction sets
bullet_jaune_2 Purpose of CP15
INTRODUCTION TO CORTEX-R4
bullet_jaune_2 Block diagram
bullet_jaune_2 ARMv7-R architecture
bullet_jaune_2 Supported instruction sets
bullet_jaune_2 Exceptions
bullet_jaune_2 System control coprocessor
bullet_jaune_2 Configurable options
INSTRUCTION PIPELINE
bullet_jaune_2 Prefetch unit
bullet_jaune_2 Instruction cycle timing
bullet_jaune_2 Dynamic branch prediction mechanism
bullet_jaune_2 Data Processing Unit
bullet_jaune_2 Dual issue conditions
bullet_jaune_2 Return stack
bullet_jaune_2 Instruction Memory Barrier
MEMORY TYPES
bullet_jaune_2 Device and normal memory ordering
bullet_jaune_2 Memory type access restrictions
bullet_jaune_2 Access order
bullet_jaune_2 Memory barriers, self-modifying code
MEMORY PROTECTION UNIT
bullet_jaune_2 ARM v7 PMSA
bullet_jaune_2 Cortex-R4 MPU and bus faults
bullet_jaune_2 Region overview, memory type and access control, sub-regions
bullet_jaune_2 Region overlapping
bullet_jaune_2 Setting up the MPU
EXCEPTION MANAGEMENT
bullet_jaune_2 Low Interrupt Latency
bullet_jaune_2 Primecell VICs
bullet_jaune_2 VIC basic signal timing
bullet_jaune_2 Interrupt priority and masking
bullet_jaune_2 Abort exception
bullet_jaune_2 Precise vs imprecise faults
Second day
LEVEL 1 MEMORY SYSTEM
bullet_jaune_2 Cache basics
bullet_jaune_2 Write with allocate policy
bullet_jaune_2 Debugging when caches are active
bullet_jaune_2 Accessing the cache RAM from AXI slave interface
bullet_jaune_2 Tightly Coupled Memories
bullet_jaune_2 ECC/parity protection
bullet_jaune_2 Store buffer, merging data
bullet_jaune_2 L1 caches software read for debug purposes
AXI PROTOCOL
bullet_jaune_2 PL301 AXI interconnect
bullet_jaune_2 Separate address/control and data phases
bullet_jaune_2 AXI channels, channel handshake
bullet_jaune_2 Support for unaligned data transfers
bullet_jaune_2 Cortex-R4 external memory interface, ID encoding
HARDWARE IMPLEMENTATION
bullet_jaune_2 Clock domains, CLKIN, FREECLKIN and PCLKDBG
bullet_jaune_2 Reset domains, power-on reset and debug reset
bullet_jaune_2 Power control, dynamic power management
bullet_jaune_2 Wait For Interrupt architecture
bullet_jaune_2 Debugging the processor while powered down
Third day
LEVEL 2 MEMORY SYSTEM
bullet_jaune_2 AXI master interface
bullet_jaune_2 Controlling an external cache
bullet_jaune_2 AXI transaction splitting
bullet_jaune_2 AXI slave interface
bullet_jaune_2 Using the AXI slave interface to perform built-in self tests
bullet_jaune_2 Understanding the error recovery mechanisms
bullet_jaune_2 Exclusive accesses
bullet_jaune_2 Local monitor
APB - ADVANCED PERIPHERAL BUS
bullet_jaune_2 Pinout
bullet_jaune_2 Read timing diagram
bullet_jaune_2 Write timing diagram
bullet_jaune_2 APB3.0 new features
PERFORMANCE MONITOR
bullet_jaune_2 Event counting
bullet_jaune_2 Selecting the event to be counted for the 3 counters
bullet_jaune_2 Debugging a multi-core system with the assistance of the PMU
LOW POWER MODES
bullet_jaune_2 Voltage domains
bullet_jaune_2 Run mode, standby mode, dormant mode
bullet_jaune_2 Studying the sequence required to enter and exit dormant mode
bullet_jaune_2 Standby and wait for event signals
CORESIGHT DEBUG UNITS
bullet_jaune_2 Invasive debug, non-invasive debug
bullet_jaune_2 APBv3 debug interface
bullet_jaune_2 Debug facilities offered by Cortex-R4
bullet_jaune_2 Process related breakpoint and watchpoint
bullet_jaune_2 Program counter sampling
bullet_jaune_2 Event catching
bullet_jaune_2 Debug Communication Channel
bullet_jaune_2 ETM interface, connection to funnel
bullet_jaune_2 Cross-Trigger Interface, debugging a multi-core SoC
APB - ADVANCED PERIPHERAL BUS
bullet_jaune_2 Second-level address decoding
bullet_jaune_2 Read timing diagram
bullet_jaune_2 Write timing diagram
bullet_jaune_2 APB3.0 new features
DEBUG UNIT
bullet_jaune_2 Performance monitor, event counting
bullet_jaune_2 Coresight specification overview
bullet_jaune_2 CP14 and memory-mapped registers
bullet_jaune_2 Embedded core debug
bullet_jaune_2 Invasive debug
bullet_jaune_2 Debug exception
bullet_jaune_2 Debug Communication Channel
bullet_jaune_2 External debug interface
bullet_jaune_2 Understanding how the Debug unit, the Embedded Trace Macrocell and the Cross-Triggering Interface interact