Arm Cortex-M Efficient System Design and Developement

  • Delivery method: Face-to-face (Private)

  • Location: Any location

  • Course Length: 2-4 days

  • Technology Focus: Combined Hardware and Software

  • Cost: Contact us for pricing

  • Related products: ARMv6-M, ARMv7-M, ARMv8-M, M-profile, SC000, SC100, SC300, SecurCore, Secure Microcontroller, Cortex-M, Cortex-M0+, Cortex-M7, Cortex-M4, Cortex-M33, Cortex-M3, Cortex-M0, Cortex-M1, Cortex-M23

  • Provider: Arm


Arm Cortex-M training courses are designed to help engineers working on new or existing Cortex-M system designs. Whether you’re working on design, verification, validation, or developing software for a Cortex-M system, the course can be configured according to your team’s needs. 

Courses include fundamental topics to enable a solid platform of understanding. The rest of the course then builds on from this with optional topics and can be tailored appropriately. Some key topics are delivered via pre course on-demand video.

Learning activities such as interactive workbooks, walkthrough examples and quizzes are incorporated into the training to help bring the learning to life.

A pre course call with the engineer delivering the training will help you discuss your team’s individual training requirements.

At the end of the course delegates will be able to:

  • Describe different Cortex-M processors features and their use.
  • Explain the fundamentals of the M-profile architecture.
  • Identify and solve key Cortex-M system design issues.
  • Make appropriate system design choices.
  • Decide on the best configuration options for their system.
  • Develop standardised and efficient software for Cortex-M processor.
  • Debug issues on Cortex-M processors.

Course Length

Delivery Method


2-4 days


Virtual or Onsite


  • Embedded Software Engineers
  • Firmware Engineers
  • Hardware Design Engineers
  • Security Engineers
  • System Architects
  • Technical Authors
  • Validation/Verification Engineers
  • Project/Product Managers


  • Knowledge of programming in C.
  • Experience of assembler programming is not required but would be beneficial.
  • Knowledge of embedded systems.
  • A basic awareness of Arm is useful but not essential.

Related Products

Armv6-M, Armv7-M, Armv8-M, Armv8.1-M, Cortex-M, Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, SC000, SC300, SecurCore, IoT, M-profile, PSA, TrustZone, DSP, Helium


Agendas will be created from the following list of fundamental and optional topics

Fundamental Topics

Optional Architecture & Software Development Topics

Hardware Design Topics

  • Introduction to the Arm Architecture ♥
  • Introduction to Armv7-M ♥
    Introduction to Armv8-M ♥
  • Introduction to TrustZone for M-profile ♥
  • CMSIS Overview ♥
  • Cortex-M Overview
  • Programmers Model
  • Memory Model
  • Exception Handling
  • Debug and Trace
  • Migrating from other Arm Systems
  • Physical Protection (SecurCore and Cortex-M35P only)


  • Assembly Language Programming
  • Booting & Initialisation
  • Compiler and Linker Fundamentals
  • Further Compiler
    Hints and Tips
  • Further Linker
    Hints and Tips
  • Synchronization
  • Cache Management
  • MPU Programming
  • Security Extension
  • Floating-point Extension
  • DSP Extension
  • MVE (Helium)
  • Arm Platform Security Extension (PSA)
  • Cortex-M Processor Core
  • Cortex-M Clocks, Reset and Power Management
  • SysTick Timer
  • Introduction to CoreSight
  • Cortex-M Configuration
  • Cortex-M System Interfaces
  • Micro Trace Buffer (MTB)
  • Safety Features (Cortex-M7 only)

♥ = Online and on-demand.

Related face-to-face and on-demand courses

CoreSight Training
Cryptocell-312 Training
Introduction to Arm DS ♥
Introduction to Keil MDK ♥
Introduction to Fast Models ♥
PSA Threat Analysis


Example Training Courses

"Cortex-M33 Fundamentals (2 Days)"

Cortex-M33 Overview
Programmers Model
Memory Model
Assembly Language Programming
Exception Handling
MPU Programming
Security Extension
Booting & Initialisation

"Cortex-M7 Software Development (3 Days)"

Cortex-M7 Overview
Programmers Model
Memory Model
Assembly Language Programming
Cortex-M7 Processor Core
Exception Handling
Cache Management
MPU Programming
Compiler Hints and Tips
Further Compiler Hints and Tips
Further Linker Hints and Tips
Debug and Trace
DSP Extension
Floating-point Extension

"Cortex-M23 Hardware Design" (3 Days)

Cortex-M23 Overview
Programmers Model
Memory Model
Memory Protection
Assembly Language Programming
Cortex-M23 Processor Core
Exception Handling
Clocks, Reset and Power
SysTick Timer
Debug & Trace
Introduction to CoreSight
Security Extension
Cortex-M23 Configuration
Cortex-M23 System Interfaces

"Cortex-M33 System Design" (4 Days - combined Hardware Design and Software Development course)

Cortex-M33 Overview
Programmers Model
Memory Model
Cortex-M33 Processor Core
Assembly Language Programming
Exception Handling
Cortex-M33 Clocks, Reset and Power
SysTick Timer
MPU Programming
Security Extension
Compiler Hints and Tips
Booting and Initialisation
Introduction to CoreSight
Debug & Trace
Cortex-M33 Configuration
Cortex-M33 System Interfaces

"Migrating from Cortex-M0 to Cortex-M23" (2 Days)

Cortex-M23 Overview
Cortex-M23 Programmers Model
Memory Protection
Security Extension
Clocks, Reset and Power Management
Cortex-M23 Configuration
Cortex-M23 System Interfaces

Download PDF Version