Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > ARM cores > Cortex-A8 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
 

RA1 Cortex-A8 implementation

This course covers the Cortex-A8 high-end ARM core


formateur
Objectives
bullet_jaune_1 This course is split into 3 important parts:
bullet_jaune_2 Cortex-A8 architecture
bullet_jaune_2 Cortex-A8 software implementation and debug
bullet_jaune_2 Cortex-A8 hardware implementation.
bullet_jaune_1 MMU operation under Linux is described.
bullet_jaune_1 Interaction between level 1 caches, level 2 cache and main memory is studied through sequences.
bullet_jaune_1 The exception mechanism is detailed, indicating how virtualization enables the support of several operating systems.
bullet_jaune_1 The course also details the hardware implementation and provides some guidelines to design a SoC based on Cortex-A8.
bullet_jaune_1 An overview of the Coresight specification is provided prior to describing the debug related units.
Labs can be run under RVDS.
A more detailed course description is available on request at info@ac6-training.com
Prerequisites and related courses
bullet_jaune_2 Knowledge of ARM7/9 or having attended our course ARM fundamentals.
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 our Cortex-A prerequisites questionnaire.
bullet_jaune_2 Related courses:
bullet_jaune_3 Programming with RVDS IDE,reference RV0
bullet_jaune_3 VFP programming, reference RC0
bullet_jaune_3 NEON programming, reference RC1
.

Plan
First day
ARM BASICS
bullet_jaune_2 States and modes
bullet_jaune_2 Exception mechanism
bullet_jaune_2 Instruction sets
bullet_jaune_2 Purpose of CP15
TRUSTZONE
bullet_jaune_2 TrustZone conceptual view
bullet_jaune_2 Secure to non secure permitted transitions
bullet_jaune_2 L1 and L2 secure state indicators, memory partitioning
bullet_jaune_2 Boot sequence
INTRODUCTION TO CORTEX-A8
bullet_jaune_2 Block diagram
bullet_jaune_2 Highlighting the instruction path and the data path
bullet_jaune_2 Supported instruction sets
bullet_jaune_2 Exceptions
bullet_jaune_2 Configurable options
INSTRUCTION PIPELINE
bullet_jaune_2 Superscalar pipeline operation
bullet_jaune_2 Studying how instructions are processed step by step
bullet_jaune_2 Branch prediction mechanism, BTB and GHB usage
bullet_jaune_2 Return stack
bullet_jaune_2 Instruction Memory Barrier
MEMORY MANAGEMENT UNIT
bullet_jaune_2 Page sizes
bullet_jaune_2 Address translation
bullet_jaune_2 Page access permission
bullet_jaune_2 Page attributes
bullet_jaune_2 Software vs hardware tablewalk
bullet_jaune_2 TLB lockdown
bullet_jaune_2 Abort exception
bullet_jaune_2 MMU maintenance operations
Second day
CORTEX-A8 LEVEL 1 AND LEVEL 2 CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 L1 cache organization
bullet_jaune_2 Hardware support for virtual aliasing conditions
bullet_jaune_2 Write buffer
bullet_jaune_2 L1 caches software read for debug purposes
bullet_jaune_2 CP15 related registers
bullet_jaune_2 L2 Cache organization
bullet_jaune_2 Physical indexing, physical tagging
bullet_jaune_2 L2 cache transfer policy
bullet_jaune_2 Write buffer
bullet_jaune_2 L2 Preload Engine [PLE], programming the channels
bullet_jaune_2 L2 cache software read for debug purposes
bullet_jaune_2 PMU related events
bullet_jaune_2 CP15 related registers
AXI PROTOCOL
bullet_jaune_2 PL301 AXI interconnect
bullet_jaune_2 Separate address/control and data phases
bullet_jaune_2 Support for unaligned data transfers
bullet_jaune_2 Transaction ordering
bullet_jaune_2 Read and write burst timing diagrams
bullet_jaune_2 Cortex-A8 external memory interface, ID encoding
HARDWARE IMPLEMENTATION
bullet_jaune_2 Clock domainsk
bullet_jaune_2 Reset domains
bullet_jaune_2 Power control, dynamic power management
bullet_jaune_2 Wait For Interrupt architecture
bullet_jaune_2 AXI master interface attributes
bullet_jaune_2 Internal exclusive monitor, clarifying ldrex / strex instructions
Third day
PERFORMANCE MONITOR
bullet_jaune_2 Event counting
bullet_jaune_2 Selecting the event to be counted for the 4 counters
bullet_jaune_2 Debugging a multi-core system with the assistance of the PMU
VECTORED INTERRUPT CONTROLLER
bullet_jaune_2 Cortex-A8 exception management
bullet_jaune_2 The 3 vector table base registers
bullet_jaune_2 Interrupt virtualization
bullet_jaune_2 Connection of an external interrupt controller
bullet_jaune_2 Enabling interrupt nesting
bullet_jaune_2 ARM PL192 VIC
bullet_jaune_2 Sequence required to clear the interrupt source
bullet_jaune_2 Cascading two PL192s
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 Communication to the power management controller
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-A8
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