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 > ARM fundamentals

R0 ARM fundamentals

This course covers ARM architecture V4T and V5TE fundamentals

Objectives
bullet_jaune_1 ARM modes state machine is detailed, clarifying the register banking mechanism.
bullet_jaune_1 Subtelties of ARM instruction set are covered, such as conditional execution, addressing modes, operand shifting.
bullet_jaune_1 Interworking between ARM and Thumb instruction sets is explained.
bullet_jaune_1 The exception mechanism is studied, particularly interrupt nesting.
bullet_jaune_1 The course also covers ARM926EJ-S cache and MMU operation.
Labs are run under RVDS

A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Basic knowledge of CPU or DSP.
bullet_jaune_2 This one-day course has been designed to meet the pre-requisites of ARM11 and Cortex-A/R courses.
This is a summary of ARM7/9 course.

Outline
THE ARM V4T / V5TE ARCHITECTURE
bullet_jaune_2 ARM operation modes
bullet_jaune_2 The ARM registers set, register organization summary according to the current mode
bullet_jaune_2 Program Status Registers
bullet_jaune_2 Exception handling, vector table, automatic switch into ARM mode
ARM AND THUMB INSTRUCTION SETS
bullet_jaune_2 Conditional execution and flags
bullet_jaune_2 Branch instructions
bullet_jaune_2 The barrel shifter
bullet_jaune_2 Immediate constants
bullet_jaune_2 Single register data transfer
bullet_jaune_2 Stack management
bullet_jaune_2 Register access in Thumb
bullet_jaune_2 ARM architecture V5TE new instructions
ARM / THUMB INTERWORKING
bullet_jaune_2 Switching between states
bullet_jaune_2 Mixing ARM and Thumb subroutines
bullet_jaune_2 ARM to thumb veneer
bullet_jaune_2 Thumb-to-ARM veneer
bullet_jaune_2 Interworking calls
EXCEPTION HANDLING
bullet_jaune_2 Exception priority
bullet_jaune_2 Vector table instructions
bullet_jaune_2 Chaining exception handlers
bullet_jaune_2 FIQ vs IRQ
bullet_jaune_2 Example C interrupt handler
bullet_jaune_2 Issues when reenabling interrupts
bullet_jaune_2 C nested interrupt example
bullet_jaune_2 Data abort with memory management
bullet_jaune_2 Adjusting the return address
MEMORY MANAGEMENT & PROTECTION
bullet_jaune_2 Introduction to page management
bullet_jaune_2 Translation Lookaside Buffer
bullet_jaune_2 Benefits of Fast Context Switch Extension
bullet_jaune_2 ARM926 MMU
bullet_jaune_2 Organization of page descriptor tables
bullet_jaune_2 Configuration & control through CP15
MEMORY SUBSYSTEMS
bullet_jaune_2 Cache basics
bullet_jaune_2 Hit under miss and its consequence: out of order abort
bullet_jaune_2 Highlighting data flows between main memory and caches
bullet_jaune_2 Write buffer
bullet_jaune_2 Tightly coupled memories