RA2Cortex-A9 implementation
This course covers both Cortex-A9 single and multiple core high-end ARM CPUs
|
Objectives
|
|||
- Knowledge of ARM7/9 or having attended our course ARM fundamentals.
- This course does not include chapters on low level programming.
- Related courses:
- VFP programming, RC0 - VFP programming course
-
NEON programming, RC1 - NEON-v7 programming course
.
- Theoretical course
- PDF course material (in English) supplemented by a printed version for face-to-face courses.
- Online courses are dispensed using the Teams video-conferencing system.
- The trainer answers trainees' questions during the training and provide technical and pedagogical assistance.
- At the start of each session the trainer will interact with the trainees to ensure the course fits their expectations and correct if needed
- Any embedded systems engineer or technician with the above prerequisites.
- The prerequisites indicated above are assessed before the training by the technical supervision of the traineein his company, or by the trainee himself in the exceptional case of an individual trainee.
- Trainee progress is assessed by quizzes offered at the end of various sections to verify that the trainees have assimilated the points presented
- At the end of the training, each trainee receives a certificate attesting that they have successfully completed the course.
- In the event of a problem, discovered during the course, due to a lack of prerequisites by the trainee a different or additional training is offered to them, generally to reinforce their prerequisites,in agreement with their company manager if applicable.
Course Outline
- Cortex-A9 variants
- New memory-mapped registers in MPCore
- The 3 instruction sets
- Configurable options
- States and modes
- Benefit of register banking
- Exception mechanism
- Instruction sets
- Superscalar pipeline operation
- Branch prediction mechanism
- Return stack
- Predicted and non-predicted instructions
- Secure to non secure permitted transitions
- L1 and L2 secure state indicators, memory partitioning
- Interrupt management when there is a mix of secure and non-secure interrupt sources
- Boot sequence
- AMP vs SMP
- Boot sequence
- Exclusive access monitor
- Spin-lock implementation
- Using events
- Basic concepts of RTOS supporting A9 SMP architecture
- General points on syntax
- Branch and control flow instructions
- Memory access instructions
- Exception generating instructions
- If…then conditional blocks
- Interworking ARM and Thumb states
- Demonstration of assembly sequences aimed to understand this new instruction set
- Page access permission, domain and page protection
- Page attributes, memory types
- Utilization of memory barrier instructions
- Format of the external page descriptor table
- TLB lockdown
- Abort exception, on-demand page mechanism
- MMU maintenance operations
- Using a common page descriptor table in an SMP platform, maintaining coherency of multiple TLBs
- Virtual indexing, physical tagging for instruction cache
- Supported maintenance operations
- Write-back write allocate cache allocation
- Memory hint instructions PLD, PLI, PLDW, data prefetching
- Describing transient cache related transactions: line fills and line eviction
- 4-entry 64-bit merging store buffer
- Snooping basics: CLEAN, CLEAN & INVALIDATE and INVALIDATE snoop requests
- Snoop Control Unit: cache-to-cache transfers
- MOESI state machine
- Understanding through sequences how data coherency is maintained between L2 memory and L1 caches
- Accelerator Coherency Port
- AXI
- Topology: direct connection, multi-master, multi-layer
- PL301 AXI interconnect
- Separate address/control and data phases
- AXI channels, channel handshake
- Transaction ordering
- Read and write burst timing diagrams
- Cortex-A9 external memory interface, ID encoding
- APB 3
- Clock domains
- Reset domains
- Wait For Interrupt architecture
- AXI master interface attributes
- Exclusive L2 cache
- AXI sideband information
- AXI interface characteristics
- Exclusive mode operation
- Understanding through sequences how cacheable information is copied from memory to level 1 and level 2 caches
- TrustZone support
- Power management
- Cache event monitoring
- Describing each maintenance operation
- Cache lockdown
- Interrupt management
- Event counting
- Selecting the event to be counted for the 6 counters
- Debugging a multi-core system with the assistance of the PMU
- Cortex-A9 exception management
- Interrupt virtualization
- Integrated timer and watchdog unit in MPCore
- Interrupt groups: STI, PPI, SPI, LSPI
- Legacy mode
- Prioritization of the interrupt sources
- Distribution of the interrupts to the Cortex-A9 cores
- Detailing the interrupt sequence
- Spurious interrupt
- Voltage domains
- Cortex-A9 power control
- Communication to the power management controller
- SCU power status register
- Invasive debug, non-invasive debug
- APBv3 debug interface
- Connection to the Debug Access Port
- Process related breakpoint and watchpoint
- Program counter sampling
- Event catching
- Debug Communication Channel
- PTM interface, connection to funnel
- Debug registers description
- Cross-Trigger Interface, debugging a multi-core SoC
More
To book a training session or for more information, please contact us on info@ac6-training.com.
Registrations are accepted till one week before the start date for scheduled classes. For late registrations, please consult us.
You can also fill and send us the registration form
This course can be provided either remotely, in our Paris training center or worldwide on your premises.
Scheduled classes are confirmed as soon as there is two confirmed bookings. Bookings are accepted until 1 week before the course start.
Last update of course schedule: 23 February 2026
Booking one of our trainings is subject to our General Terms of Sales
Related Courses
AAA
ARM Cortex-A and R Architecture (v7/v8)
AAM
ARM Cortex-M Architecture (v7/v8)
RA0
Cortex-A5 implementation
RA1
Cortex-A8 implementation
RA3
Cortex-A15 implementation
RA4
Cortex-A7 implementation
RA5
Cortex-A17 implementation
RA6
CORTEX-A57 implementation, ARM Architecture V8
RA7
CORTEX-A53 implementation, ARM Architecture V8
RA8
CORTEX-A72 implementation, ARM Architecture V8
RA9
CORTEX-A73 implementation, ARM Architecture V8
RC1
NEON-v7 programming
RC2
NEON-v8 programming
RI0
AXI3 / AXI4 INTERCONNECT
RM0
Cortex-M0 / Cortex-M0+ implementation
RM1
Cortex-M1 implementation
RM2
Cortex-M3 implementation
RM3
Cortex-M4 / Cortex-M4F implementation
RM4
Cortex-M7 implementation
RM5
Cortex-M33 Implementation
RR0
Cortex-R4 implementation
RR1
Cortex-R5 implementation
RR2
Cortex-R7 implementation
RR3
ARM Cortex-R52/R52+ Implementation and software design