Training - ARM1176 System design (reference 003772A)
 
    Partners
  • Do not hesitate to request the detailed course description by contacting training@mvd-fpga.com
  • This training course is approved by ARM
  • This training does not cover the description of ARM development tools : for on-site courses, it is possible to mix ARM7/9 system design and ARM1176 system design to form a 5-day course including 1-day on embedded software design
   
           
    Practical labs
  • For on-site courses, labs can be run under 3 possible environments :
    • CodeWarrior/ADS/AXD
    • Eclipse/RVDS
    • GNU/Lauterbach simulator
  • For open courses, labs are run under Eclipse/RVDS
   
             
    Prerequisites
  • A basic awareness of the ARM is highly recommended especially the knowledge of ARM V4T and V5TE instruction sets
  • A basic understanding of assembler or C programming would be useful but not essential
   
             
  Course Objectives
  • This course takes an in depth look at the considerations you will need to take into account when designing a system containing an ARM1176 core
  • It is aimed at :
    • Software engineers who not only want to obtain details of how to write software to run on the ARM11, but also wish to obtain an understanding of hardware design issues
    • Hardware engineers who need to understand how to design ARM11 based systems, but also wish to obtain an understanding of the issues of writing software to run on that system
   
           
    Duration
  • 4-day course
   
           
    Topics

(The full description of this course can be provided on request)

First day

THE ARM ARCHITECTURE

  • ARM operation modes
  • The ARM registers set, register organization summary according to the current mode
  • Program Status Registers
  • Exception handling, vector table, automatic switch into ARM mode
  • Instruction sets

ARM11 CPU ARCHITECTURE

  • ARM11 superscalar pipeline operation
  • Dynamic vs static branch prediction
  • Out of order execution
  • Return stack

MEMORY SUBSYSTEMS

  • Cache basics
  • Hit under miss and its consequence : out of order abort
  • ARM11 related instructions
  • Highlighting data flows between main memory, L1 cache and L2 cache
  • Tightly coupled memories
  • Configuration & control through CP15

Second day

MEMORY MANAGEMENT & PROTECTION

  • Introduction to page management
  • V6 virtual memory architecture
  • ARM V6 endianness
  • Data alignment
  • Memory Barriers

ARMv6 INSTRUCTION SET

  • Additional classes of instruction
  • Standard multiply extension
  • Long multiplication
  • Packed data types
  • V6z NOP32 instruction to enter low power mode

PRIMECELL VECTORED INTERRUPT CONTROLLER

  • Interrupt controllers
  • Primecell VICs
  • Reducing interrupt latency through automatic vector generation
  • VIC basic signal timing
  • Interrupt priority and masking

TRUSTZONE

  • TrustZone conceptual view
  • Secure to non secure permitted transitions
  • Related CP15 registers

Third day

AHB PROTOCOL

  • Transfers with AHB
  • Use of HREADY, HRESP & HTRANS signals
  • Implementation of indivisible transactions

AXI PROTOCOL

  • Topology : direct connection, multi-master, multi-layer
  • PL300 AXI interconnect
  • AXI channels, channel handshake
  • Support for unaligned data transfers
  • Transaction ordering, out of order transaction completion
  • Read and write burst timing diagrams

APB

  • Address decoding stages
  • APB interconnect
  • APB in AMBA3

ARM11 DEBUG

  • Basic debug requirements
  • Embedded core debug
  • DBGTAP interfacing

TRACING AN ARM11-BASED SYSTEM

  • Motivation to real-time trace
  • About core sight ETM11
  • Tracing with core sight ETM11
  • Implementing trace : ETB

Fourth day

ARM1176 OVERVIEW

  • Block diagram
  • AXI (AMBA3) interfaces
  • ARM1176 example system
  • Reset and clocking
  • Booting

INTELLIGENT ENERGY MANAGER

  • Conventional power management
  • Clocking
  • IEM infrastructure and components
  • Energy management principles
  • Switching voltage levels

LEVEL ONE AND LEVEL TWO MEMORY SYSTEMS

  • TCM and cache interaction
  • DMA channel
  • Endianness
  • Peripheral interface transfers
  • AXI ports
  • Implementation of the L220 level-2 cache controller

ARM11 MULTI-PROCESSOR SYNCHRONISATION

  • Introduction to semaphore
  • Using the SWP instruction
  • Using ARMv6 synchronisation instructions : LDREX, STREX and CLREX
   
           
    Documentation

Training manuals will be given to participants during training. Precise and easy of use, those notes can be used as a reference afterwards.
   
           
    Other trainings :

If you want to know our other training courses and their contents, you can consult or download our complete training courses list on this page : Training courses - General presentation