Global training solutions for engineers creating the world's electronics

Arm Cortex-M7 System Design Online

Duration: 5 sessions (6 hours per session)

This course is crafted for those who are designing hardware based around the ARM® Cortex®-M7 core. Including an introduction to the ARM product range and supporting IP, the course covers the ARMv7-M instruction set and exception handling, Cortex-M7 implementation, memory protection and AMBA on-chip bus architecture. The Cortex-M7 debug architecture is also covered.

Hardware design as well as verification engineers who need to understand the issues involved when designing SoC's around the ARM Cortex-M7 core.

  • Some knowledge of embedded systems
  • Familiarity with digital logic and hardware/ASIC design issues
  • A basic awareness of ARM is useful but not essential

This class uses training materials developed by Arm and is complemented by Doulos' own lecture and laboratory material. This offers the students a well rounded and practical view of the topics covering both the Processor's features along with how to program it.

Arm Cortex-M7 Overview


  • Block diagram
  • Micro-architectural features
  • Instruction set
  • Memory interfaces
  • System buses
  • TCM/Caches
  • Memory protection
  • Pipeline features
  • Lock-step operation


Armv7-M Programmers' Model


  • Introduction
  • Data Types
  • Core Registers
  • Modes, privilege and stacks
  • Exceptions
  • Instruction Set Overview
  • Programming standards


Armv7-M Assembly Programming


  • Introduction
  • Data Processing Instructions
  • Load/Store Instructions
  • Flow Control
  • Miscellaneous


Cortex-M7 Processor Core


  • Processor Pipeline
  • Execution Pipelines
  • Prefetch Unit
  • Memory-mapped Registers


Introduction to AMBA Protocols


  • AXI Protocol
  • AHB Protocol
  • APB Protocol


Cortex-M7 Level 1 Sub-Systems


  • Caches
  • Cache Fundamentals
  • Cortex-M7 L1 Cache Sub-system
  • Tightly Coupled Memory (TCM)
  • System Considerations


SysTick Timer


  • Overview
  • Calibration Examples
  • System Control


Armv7-M Memory Model


  • Introduction
  • Memory Address Space
  • Memory Types and Attributes
  • Alignment and Endianness
  • Barriers


Armv7-M Memory Protection


  • Memory Protection Overview
  • Memory Regions
  • Region Attribute Control
  • Region Overlapping
  • Sub-region Support
  • Setting up the MPU


Armv7-M Exception Handling


  • Introduction
  • Exception Model
  • Exception Entry and Exit Behavior
  • Prioritization and Control
  • Interrupt Sensitivity
  • Writing the Vector Table and Interrupt Handlers
  • Internal Exceptions and RTOS Support
  • Fault Exceptions


Armv7-M Debug


  • Introduction to Debug
  • Debug
  • Events and Reset
  • Flash Patch and Breakpoint Unit (FPB)
  • Data Watchpoint and Trace Unit (DWT)
  • Instrumentation Trace Macrocell (ITM)
  • Embedded Trace Macrocell (ETM)
  • Trace Port Interface Unit (TPIU), Trace Packets, Timestamping & Trace Bandwidth




  • Armv7-M Extensions
  • Extensions Overview
  • DSP Extension
  • Floating-point Extension


Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request