View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > ARM cores > Cortex-A5 implementation
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

RA0 Cortex-A5 implementation

This course covers the ARM Cortex-A5 CPU


formateur
OBJECTIVES
bullet_jaune_1 This course is split into 3 important parts:
bullet_jaune_2 Cortex-A5 architecture
bullet_jaune_2 Cortex-A5 software implementation and debug
bullet_jaune_2 Cortex-A5 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-A5.
bullet_jaune_1 An overview of the Coresight specification is provided prior to describing the debug related units.
bullet_jaune_1 The course explains the mechanisms dedicated to SMP implementation, exclusive resource management, snooping, software generated interrupt.

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 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-A5 prerequisites questionnaire.

Outline
First day
INTRODUCTION TO CORTEX-A5
bullet_jaune_2 Cortex-A5 variants: single core vs multicore
bullet_jaune_2 The 4 instruction sets
bullet_jaune_2 Configurable options
ARM BASICS
bullet_jaune_2 States and modes
bullet_jaune_2 Exception mechanism
bullet_jaune_2 Instruction sets
INSTRUCTION PIPELINE
bullet_jaune_2 In-order pipeline operation
bullet_jaune_2 Branch prediction mechanism
bullet_jaune_2 Return stack
TRUSTZONE
bullet_jaune_2 TrustZone conceptual view
bullet_jaune_2 Secure to non secure permitted transitions
bullet_jaune_2 Memory partitioning
bullet_jaune_2 Interrupt management
bullet_jaune_2 Boot sequence
INTRODUCTION TO MULTI-CORE SYSTEMS
bullet_jaune_2 AMP vs SMP
bullet_jaune_2 Boot sequence
bullet_jaune_2 Exclusive access monitor
bullet_jaune_2 Global monitor
bullet_jaune_2 Spin-lock implementation
bullet_jaune_2 Using events
bullet_jaune_2 Basic concepts of RTOS supporting A5 SMP architecture
Second day
THUMB-2 INSTRUCTION SET (V7-A)
bullet_jaune_2 General points on syntax
bullet_jaune_2 Branch and control flow instructions
bullet_jaune_2 Memory access instructions
bullet_jaune_2 Exception generating instructions
bullet_jaune_2 If…then conditional blocks
bullet_jaune_2 Stack in operation
bullet_jaune_2 Interworking ARM and Thumb states
bullet_jaune_3 Demonstration of assembly sequences aimed to understand this new instruction set
MEMORY MANAGEMENT UNIT
bullet_jaune_2 MMU objectives
bullet_jaune_2 Address translation
bullet_jaune_2 Page access permission, domain and page protection
bullet_jaune_2 Utilization of memory barrier instructions
bullet_jaune_2 Format of the external page descriptor table
bullet_jaune_2 Tablewalk
bullet_jaune_2 TLB organization
bullet_jaune_2 Utilization of microTLBs
bullet_jaune_2 Abort exception, on-demand page mechanism
bullet_jaune_2 MMU maintenance operations
bullet_jaune_2 Maintaining coherency of multiple TLBs
LEVEL 1 MEMORY SYSTEM
bullet_jaune_2 Cache organization
bullet_jaune_2 Supported maintenance operations
bullet_jaune_2 Memory hint instructions
bullet_jaune_2 Describing transient cache related transactions: line fills and line eviction
bullet_jaune_2 64-bit merging store buffer
bullet_jaune_2 PMU related events
HARDWARE COHERENCY
bullet_jaune_2 Snooping basics
bullet_jaune_2 Snoop Control Unit: cache-to-cache transfers
bullet_jaune_2 MOESI state machine
bullet_jaune_2 Address filtering
bullet_jaune_2 Understanding through sequences how data coherency is maintained between L2 memory and L1 caches
bullet_jaune_2 Accelerator Coherency Port
bullet_jaune_2 Enabling coherency mode
Third day
AMBA 3
bullet_jaune_2 AXI
bullet_jaune_3 Topology
bullet_jaune_3 PL301 AXI interconnect
bullet_jaune_3 AXI channels, channel handshake
bullet_jaune_3 Support for unaligned data transfers
bullet_jaune_3 Transaction ordering, out of order transaction completion
bullet_jaune_3 Cortex-A5 external memory interface, ID encoding
bullet_jaune_2 APB 3
HARDWARE IMPLEMENTATION
bullet_jaune_2 Clock domains
bullet_jaune_2 Reset domains
bullet_jaune_2 Power control, dynamic power management
bullet_jaune_2 Wait For Interrupt architecture
bullet_jaune_2 Level 2 memory interface
bullet_jaune_2 Exclusive L2 cache
PL310 LEVEL 2 CACHE
bullet_jaune_2 Cache configurability
bullet_jaune_2 Understanding through sequences how cacheable information is copied from memory to level 1 and level 2 caches
bullet_jaune_2 Transient operations, utilization of line buffers LFBs, LRBs, EBs and STBs
bullet_jaune_2 Cache event monitoring
bullet_jaune_2 Describing each maintenance operation
bullet_jaune_2 Cache lockdown
bullet_jaune_2 Initialization sequence
PERFORMANCE MONITOR
bullet_jaune_2 Event counting
bullet_jaune_2 Debugging a multi-core system with the assistance of the PMU
Fourth day
INTERRUPT CONTROLLER
bullet_jaune_2 Cortex-A5 exception management
bullet_jaune_2 Interrupt virtualization
bullet_jaune_2 Integrated timer and watchdog unit in MPCore
bullet_jaune_2 Interrupt groups: SGI, PPI, SPI, LSPI
bullet_jaune_2 Prioritization of the interrupt sources
bullet_jaune_2 Distribution of the interrupts to the Cortex-A5 cores
bullet_jaune_2 Generation of interrupts by software
bullet_jaune_2 Detailing the interrupt sequence, purpose of Interrupt Acknowledge register and End-Of-Interrupt register
LOW POWER MODES
bullet_jaune_2 Voltage domains
bullet_jaune_2 Communication to the power management controller
bullet_jaune_2 Standby and wait for event signals
bullet_jaune_2 SCU power status register
CORESIGHT DEBUG UNITS
bullet_jaune_2 Benefits of CoreSight
bullet_jaune_2 Invasive debug, non-invasive debug, taking into account the secure attribute
bullet_jaune_2 Connection to the Debug Access Port
bullet_jaune_2 Debug facilities offered by Cortex-A5
bullet_jaune_2 Event catching
bullet_jaune_2 Debug Communication Channel
bullet_jaune_2 ETM interface
bullet_jaune_2 Cross-Trigger Interface, debugging a multi-core SoC