Modular ARM System Design

In-house training options

view dates and locations

An ARM Approved Training Partner for more than 7 years, Doulos has delivered ARM training in more than half of the world's top ten semiconductor companies. Doulos is the only ARM Approved Training partner to include extensive hands-on labs covering all aspects of the SoC design process in its ARM training portfolio.

Modular ARM System Design consists of several modules (including ARM1176 and Cortex-M1/M3) which can be combined and customised to create an integrated program to fulfil in-house or customer-dedicated training requirements. Presented from a vendor independent perspective, the unique workshops can be provided in the context of the client's own choice of tools. Please contact Doulos to discuss your specific tool requirements.

Modular ARM System Design training comprises:
  • Fundamentals of ARM Architecture (1-day). This lecture-based module provides fast-track training in the essentials of ARM architecture. An invaluable introductory course it is ideal for managers and project leaders who need a quick overview of ARM architecture.
  • Introduction to ARM Architecture (2-days) provides hands-on training to new ARM users and introduces the ARM architecture and instruction sets for ARM7 to ARM11. An introduction to the ARM RealView software tools and the handling of exceptions is included
  • ARM Embedded Software (4-days) provides in-depth tuition in the use of ARM cores for the development of embedded software. Incorporating the 'Introduction to ARM Architecture' course, it goes on to explore embedded software development with the ARM tools, exception handling (interrupts) and code optimisation using hands-on exercises and pratical examples. The course provides all the background knowledge needed to develop embedded software for ARM based systems and microcontrollers (NXP LPC2000, Atmel AT91, Samsung Controller, STMicroelectronics and others).
  • ARM7/9 SoC Design (4 or 5-days) provides comprehensive tuition in ARM based SoC Design. Incorporating the 'Introduction to ARM Architecture' class, this course introduces the AMBA2.0 and AMBA3.0 (AXI) interfaces, and the connection of new IP-blocks into an existing ARM system. Also included is an in-depth introduction to the debug features of ARM cores, essential models in the design cycle and how to initialise ARM cached cores and memory system.
  • ARM1176 SoC Design (4 or 5-days) provides in-depth tuition in ARM11 based SoC Design. Incorporating the 'Introduction to ARM Architecture' class this course introduces the AMBA3.0 (AXI) interface and the connection of new IP-blocks into an existing ARM system. Also included is a detailed introduction to the ARM11 debug features, essential models in the design cycle, and how to initialise ARM11 v6 cached cores and v6 memory system.
  • ARM Cortex-M Processor Embedded Software is a comprehensive course covering the ARM Cortex-M architecture, Thumb-2 instruction set and ARM development systems. Real-world examples are used to explain how to write exception handlers (e.g i nterrupt handlers) and ROM code, and in the second part of the course the emphasis is on development and debugging of ARM software code for ARM Cortex-M based systems.
  • Software Guide to ARM11 (˝ -day) provides in-depth tuition in the use of ARM11 cores for the development embedded software programming.
  • ARMxx core and interfaces (˝ -day) provides in-depth introduction into specific ARM cores, their interfaces and memory systems (e.g. ARM7TDMI-S, ARM922, ARM926 ..).

Based on these modules, team-based and in-house training can be customised to fit the content, scope and duration needed to best-fit a specific customer requirement. Please ask to speak to a member of the Doulos technical team to discuss your requirements.

Who should attend?

System design engineers, software design engineers and hardware design engineers who wish to develop systems and application based on ARM cores.

Pre-requisites

All participants must be computer literate and have a basic understanding of the C programming language and a hardware programming language such as VHDL or Verilog. An in-depth knowledge of microprocessors is not essential, but would be advantageous.

Course Materials

Doulos course materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the EDA training world, and has made them sought after resources in their own right. The course set components include:
  • Fully indexed course notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge

Structure and Content

Fundamentals of ARM Architecture (1-day)

ARM architecture • ARM example designs • ARM based applications • ARM instruction sets • ARM programmes model • ARM7TDMI family • ARM9TDMI family • ARM10E family • ARM11 family • ARM System design • Writing ARM embedded software

Introduction to ARM Architecture (2-days)

The ARM Architecture

ARM architecture • Overview of ARM • ARM based applications • ARM instruction set overview • ARM programmes model • supporting technologies

ARM Processor Core

ARM7TDMI and ARM9TDMI pipelines • ARM7TDMI family • ARM9TDMI family • ARM10E family • ARM11 family • StrongARM and XScale • Datapaths and instruction decoding

Real View Developer Suite (RVDS) Overview

Compilers • Assembler • Linker • CodeWarrior • 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 Inter-working

Mixing ARM and thumb code in the same application

Exception handling

Overview of how to handle the different exceptions of an ARM core. Includes detailed examples.


ARM Embedded Software (4-days)

Introduction to ARM Architecture module (see above)

Embedded Software Development

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

Compiler Hints and Tips

Compiler optimisation options • Writing efficient code • Minimizing data memory • Mixing C/C++ and assembler • Local and global data issues

ARM Debug Solutions

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

Initialising ARM cached cores

Introduction to caches, clocks and write buffer • Memory Protection Units (MPU) • Memory Management Units (MMU) code • Page tables • Virtual memory • Cache lockdown

Embedded core debug

The debug features for ARM cores and their use explained.

Labs with ARM based evaluation boards

Development of drivers, interrupt handler…


ARM7/9 SoC Design (4 or 5-day)

Introduction to ARM Architecture module (see above)

AMBA2.0 and AMBA3.0 interface

Detailed description of the new AMBA3.0 interconnect methodology. Includes the AXI, AHB and APB interface as well at the PL300 interconnect prime cell.

ARM Processor Simulation Models

The different ARM models and their use in the SoC design process • The new ARM RealView SoC Designer (SystemC based) design tool and features explained.

PrimeCell VIC

The vector interrupt controller prime cell from ARM enables the ARM core to react very quickly to interrupts. The functionality, interface and the programming of the prime cell is explained.

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.

Initialising ARM cached cores

Introduction to caches, clocks and write buffer • Memory Protection Units (MPU) • Memory Management Units (MMU) code • Page tables • Virtual memory • Cache lockdown

Embedded core debug

The debug features for ARM cores, and their use is explained.

ARM core Integration

Addresses primary system design considerations and a summary of all steps for the integration of an ARM macrocell.

Labs with an ARM based System Design

Investigating the AMBA (AHB, APB) protocol • monitoring data access on the AMBA bus • integrating a new IP-block into an ARM based system


ARM1176 SoC Design (4-5 days)

Introduction to ARM Architecture module (see above)

AMBA3.0 interface

Detailed description of the new AMBA3.0 interconnect methodology. That includes the AXI, AHB and APB interface as well as the PL300 interconnect prime cell.

ARM Processor Simulation Models

The different ARM models and their use in the SoC design process • The new ARM RealView SoC Designer (SystemC based) design tool and features explained.

ARM1136/76 Interrupts

An overview of the ARM11 interrupt features, the factors contributing to low interrupt latency and an understanding of the ARMv6 re-startable instructions.

Introduction to TrustZone

Introduction to ARMs TrustZone and its features. The new ARM secure mode and its functionality is introduced.

Introduction to IEM

Introduction to the Intelligent Energy Manager (IEM) and principles • understanding of the IEM software and its functions.

ARM1176 Clocks, Resets and Power Management

Overview of the clock and reset behaviour and requirements • The different power management modes are introduced and explained.

ARM1176 Memory Management

Introduction to the ARMv6 Memory Type • The caching policy and the ARM1176 memory management system is explained.

ARM1176 Booting

The necessary steps for booting an ARM1176 core are explained using some sample code.

ARM11 Embedded core debug

The debug features and use for the ARM11 family are explained.

ARM1176 Integration

Addresses primary system design considerations and a summary of all steps for the integration of an ARM ARM1176 macrocell.


ARM Cortex_M3 Processor Embedded Software (3 days)

Cortex-M3 Processor Core

Overview of Cortex-M3 key features, performance comparison and introduction to programmer's model

Overview RealView Developer Suite (RVDS3.0)

Compilers • Assembler • Linker • IDE • Debuggers • workbooks for RVDS and RVMDK

Cortex-M3 Thumb-2 Instruction Set

Overview of the Thumb-2 Instruction Set • ARM ISA evolution • new instructions • migrating from ARM/Thumb

Interrupts and Exception Handling

Exeception entry and exit • Exception timing • programming the nested vectored interrupt controller (NVIC) • exception prioritzation and premption

Memory Model

Cortex-M3 memory map • memory protection ~ MPU set-up

Embedded Software Development

Reset and Initialisation • Creating Memory Maps • Semi-hosting • workbook

C/C++ Hints and Tips

Optimizations • Data Alignment • Mixing C and Assembler

Cortex-M3 Debug

Debug architecture • invasive and non-invasive (trace) debug


Software Guide ARM11 (˝-day)

ARM v6 architecture (v6, v6T2, v6z) • Branch prediction • Data alignment and Endianness • VFP coprocessor • V6 virtual memory architecture • OS support • Benchmarking and cycle count • example MMU initialisation code


ARMxx core and interfaces (˝-day)

Additional modules for the following ARM cores are available, which describe the core and interface in more detail.
  • ARM7TDMI core and interface
  • ARM7TDMI-S core and interface
  • ARM7TDMI-S implementation

  • ARM922 core and interface
  • ARM922 memory system

  • ARM946E core and interface
  • ARM946E implementation

  • ARM926EJ-S core and interface
  • ARM926EJ-S memory system
  • ARM926EJ-S implementation


Price on request


Back to top