top of page

ARM Cortex-A and R Architecture (v7/v8)

Price

Inquiry

Duration

4 Days

ARM Cortex-A and R Architecture (v7/v8)

Objectives

  • Explain the ARMv7 and ARMv8 architecture profiles (A and R)

  • Describe the ARM Cortex-A and Cortex-R processor architectures

  • Explore hardware and software implementation options for developing Cortex-A–based applications

  • Examine ARMv8 security (TrustZone) and virtualization (Hypervisor) features

This course provides the essential foundation for advanced training focused on specific Cortex-A and Cortex-R cores and CPUs.


Prerequisites

  • Basic understanding of embedded C concepts and programming

  • General knowledge of embedded processors


Target Audience

  • Any embedded systems engineer or technician with the above prerequisites.


First Day

Architecture

  • Introduction to ARM and the Architecture

  • The AArch32 Programmer’s Model

  • The AArch64 Programmer's Model

  • Exceptions

  • Memory Architecture

  • Caches

 Implementations

  • Versions and Implementations

  • ARMv4T

  • ARMv5TE

  • ARMv6

  • ARMv7

  • ARMv8

  • SecurCore

  • Architecture Extensions

  • Pipelines

  • Cycle Counting

Second Day

System features

  • Multi-processing

  • Cache maintenance

  • Cache coherency hardware

  • Interrupt distribution

  • Power saving modes

  • Memory system hierarchy

  • Software storage and upload

AArch64 Exception Model

  • Four exception levels

  • Exception Link Registers

  • Register banking by exception level

  • Nesting on the same exception level

  • Exception type and exception origin

  • Syndrome registers used to provide status information to the exception handler

  • Exception return instruction

  • AArch64 Exception vector tables

Generic Interrupt Controller

  • Generic Interrupt Controller CPU Interface Registers

  • Interrupt Virtualization

  • Interrupt Handling to support Nesting

Third Day

Multicore operation

  • Single Processor / Multi-Task RTOS

  • Multi-CPU Exclusive Resource Management

  • Wait for Event / send Event

  • Wait for Interrupt

  • Multi-Processor / Multi-Task RTOS

Software Development

  • Embedded Software Development

  • Libraries and Linkage

  • Target platforms

  • Memory ordering models

  • Barriers and synchronization

  • Cache policies

  • Operating system support

  • Booting

Software Optimization

  • Introduction

  • Coding techniques

  • Profiling

Software debug

  • Debug basics

  • Debug hardware

  • Invasive Debug

  • Non-invasive Debug

  • Standard Debug Techniques

  • Timing

  • Resources

CoreSight Debug Components

  • Self-Hosted Debug

  • Debug State Instructions

  • Linked comparisons for Breakpoint/Watchpoint exception generation

  • Software Step exceptions

  • Routing debug exceptions

  • External debug, cross-triggering

  • Embedded Trace Macrocell architecture

Fourth Day

ARMv8 Memory Management Unit

  • ARMv7 MMU and LPAE compatibility

  • LPAE enhancements to adapt to AArch64

  • Supporting up to 48 bits of VA per TTBR

  • Access permission checking

  • Supporting up to 48 bits of IPA and PA spaces

  • VMSAv8-64 address translation system

  • Memory translation granule size

  • Descriptor page table organization, descriptor format

  • Hierarchical control of Secure or Non-secure memory accesses

The ARMv8 Security Model

  • Compatibility with ARMv7

  • Security model when EL3 is using AArch64

  • Trapping to EL3 using AArch64

  • Re-entrant mode

  • Secure exception management, trapping

  • Asynchronous exception routing and control

Virtualization

  • New hypervisor privilege level on non-secure side

  • Re-entrant mode

  • Virtualization Extension Effect on MMU

    • Second stage MMU

    • I/O MMU

    • Managing external masters programmed by the guest OS without an I/O MMU

  • Emulation support

  • Hypervisor exception management, trapping

  • Asynchronous exception routing and control

  • Resource management

  • Virtualization modes

    • Para virtualization versus full virtualization

    • Separation kernels

    • Partitioning kernels

    • Operating-system virtualization (containers)

    • Existing hypervisors (Xen, KVM, ...)


Nohau Training Partner

This course is provided by a Nohau Training Partner, a trusted provider of hands-on training for professionals in embedded systems, software development, and engineering.

Nohau Training Partner

SELF PACED

Learn embedded systems at your own pace—anytime, anywhere!

CUSTOM COURSES

We customize embedded systems training to align with your team’s goals!

CERTIFICATES

​Our courses provide TRUE certificates, trusted by leading organizations.

Nohau office meeting room
bottom of page