ARM Cortex A17/A15/A7 - Conception système

(ref.005008A)

4 jours

Objectifs

  • Cette formation traite en détails les particularités des cœurs ARM, aussi bien logiciel que matériel dans le but de facilité la mise en oeuvre de cœurs Cortex- A17/A15/A7.
  • Elle est destiné aux :
    • Ingénieurs logiciel qui veulent non seulement obtenir des détails sur la façon d’écrire un logiciel pour processeur ARM Cortex- A17/A15/A7, mais qui souhaitent également comprendre l’implémentation matériel des cœurs au sein d’un microcontrôleur
    • Ingénieurs matériel qui ont besoin de comprendre comment concevoir des systèmes basés sur ARM Cortex- A17/A15/A7 mais également être capable de comprendre les bases de la programmation logicielle sur ces plates-formes

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

Registers and instruction sets

Exception model

Memory model

Coprocessors

Architecture extensions

The future

Introduction

New features in Cortex-A17 / Cortex-A15 / Cortex-A7

Big/Little processing

Caches in Cortex-A

Level 2 caches

Cache Policies

Branch prediction

What is a MMU ?

Short-descriptor format

Long-descriptor format

Memory types and attributes

Using the MMU

Overview

Exception handling

Memory system

Debug

Software

The need of atomicity

LDREX and STREX instructions

Multi-thread MUTEX example

Distributor and CPU interfaces

How to enable and configure interrupts

How to handle interrupts

How to send software interrupts

Security extensions

Power Overview

Processor Power Modes

Multiprocessor and system Power Modes

Cortex-A5 and Cortex-A9 Power Modes

L1 & L2 cache coherency and maintenance

MPCore coherency

Multi-Processing

Translation tables

Context switching

Timers

Data barriers

Instruction barriers

Introduction

Multi-Cluster configurations

Miscellaneous considerations

Overview

Booting a single CPU

Booting a cluster

Invasive debug

Non-Invasive debug

  • PMU (Performance Monitoring Unit)
  • Trace

Parameter passing

Floating point linkage

Alignment

Coding considerations

Introduction

NEON instruction set overview

NEON Software Support

Overview of virtualization extensions

Memory management

Exception handling

Notes

  • Les supports de cours seront fournis sur papier à chaque participant pendant la formation