Thursday 21 February 2019

Developing & Delivering KnowHow

Home > Training > ARM11 Software Design

ARM11 Software Design

Standard Level - 4 days

view dates and locations
ARM11 Software Design is a 4-day comprehensive class that introduces the current ARM architectures and the ARM development systems.

In the second part of the class, the emphasis is on the development and debugging of ARM software code for ARM11 based systems.

The course familiarises the delegates with the ARM architecture, as well as the corresponding command sets ARM and Thumb. Examples will be used to explain how to write exception handlers (e.g. interrupt handlers) and ROM code.

The workshops are based around carefully designed exercises to reinforce and challenge the extent of learning, and comprise approximately 30% of class time.

Who should attend?

Software developers who wish to develop system and application software for ARM based systems.

What will you learn?

  • Introduction to the ARM processor architecture and pipelining
  • ARM11 based processor cores
  • ARM, Thumb and DSP instruction sets
  • ARM/Thumb interworking
  • Embedded software development using RVDS
  • Exception handling
  • Performance analysis
  • Compiler hints and tips
  • Introduction to TrustZone
  • V6/V7 Memory management
  • V6/V7 Caches and TCM
  • Embedded core debug
  • Introduction to CoreSight
  • Exercises to help re-enforce ideas presented in the formal lectures


An in-depth knowledge of microprocessors is not essential, but would be advantageous. However, all participants must be computer literate and should have a basic understanding of the programming language C.

Training materials

This class uses training materials developed by ARM®.

Structure and Content

The ARM Architecture

Overview of ARM, registers, modes, exception handling, instruction sets, supporting technologies

ARM Processor Core

ARM7TDMI and ARM9TDMI pipelines, datapaths and instruction decoding. Overview of ARM9E-S, ARM10, ARM11, StrongARM and XScale.

Real View Developer Suite (RVDS) Overview

Compilers, Assembler, Linker, Debuggers

Real View Introductory Workbook

Practical work using RVDS

ARM and Thumb Instruction Sets

Overview of the ARM and Thumb Instruction Sets. Includes practical work.

ARM / Thumb Interworking

Mixing ARM and Thumb code in the same application

V6/V7 Caches and TCM

Initializing caches, cache lockdown, cache maintenance, TCM configuration

V6/V7 Memory management

Initializing MMU and MPU, level1 and level2 page tables, memory types, memory barriers

Embedded Software Development

Running code from ROM, reset handlers, locating code and data in memory (scatterloading), library retargeting.

ARM Debug Solutions

On-chip debug logic, breakpoints and watchpoints, debug communication channel, tools issues, system design considerations. EmbeddedICE-RT and RealMonitor. How to design-in and use ARM's Embedded Trace Module.

Performance Analysis

Code/data size calculations. Benchmarking facilities provided in ARMulator.

Performance Analysis Workbook

Practical work on benchmarking

Compiler Hints and Tips

Compiler optimization options. Writing efficient code. Minimizing data memory

Looking for team-based training, or other locations?

Complete an on-line form and a Doulos representative will get back to you »

Price on request

Back to top
Privacy Policy Site Map Contact Us