ARM Cortex A72/A53/A57 - Logiciel

(ref.005013A)

4 jours - 28 heures

Objectifs

  • Cette formation traite en détails les particularités des cœurs ARM à base d'architecture ARMv8.
  • Elle est destinée aux :
    • Ingénieurs logiciel qui veulent obtenir des détails sur la façon d’écrire un logiciel pour processeur ARM Cortex-A72/A53/A57.
    • Ingénieurs matériel qui ont besoin de comprendre les bases de la programmation logicielle sur ARM Cortex-A72/A53/A57.

Partenaires

ARM ATC

Prérequis

  • Une compréhension de base des microprocesseurs et microcontrôleurs est utile mais non indispensable
  • Une compréhension de base de la logique numérique est utile mais non indispensable
  • 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 indispensables

Contenu

Architecture versions

Privilege levels

AArch64 registers

A64 instruction set

AArch64 exception model

AArch64 memory model

Register set

Load/Store instructions

Data processing instructions

Program flow instructions

System control

Advanced SIMD

Cryptographic extensions

The AArch64 exception model

Interrupts

Synchronous exceptions

SError exceptions

SError exceptions in EL2 and EL3

Memory management theory

Stage 1 translations at EL 1/0

  • Kernel/application space translation tables

translations at EL2/EL3

  • Stage 1 tables for hypervisor/secure exception levels
  • Stage 2 tables for virtualized systems

TLB maintenance

Types

Attributes

Alignment & endianess

General cache information

Cache attributes

Cache maintenance operations

Cache discovery

Data barriers

Instruction barriers

Synchronisation in ARMv8-A

Local and Global exclusive monitors

Introduction to coherency

Coherency details - multi-core processors

Coherency details - multi-processor systems

Context switching

Modifying translation tables

Privilege escalation protections

Timers

Booting a Cortex-A5x processor in AArch64

Processor setup

Software stack

Memory system

Debug

TBSA (Trusted Base System Architecture)

What is virtualization ?

ARM virtualization support

  • Memory management
  • Exception handling

Introduction to SMMU

Power overview

Processor Power Modes

Multiprocessor and System Power Mode

Cortex-A5 and Cortex-A9 Power Mode

Distributor and CPU interfaces

How to enable and configure interrupts

How to handle interrupts

How to send software interrupts

Security extensions

Debug infrastructure

Invasive debug

Non-invasive debug