ARM Cortex-M3/M4 Software Training

Course category
Training area
Course code
3 days
Additional information
For price: Contact Feabhas (available for on-site delivery only)

This course is designed for hardware engineers and software engineers developing software platforms based around the ARM Cortex-M3 and Cortex-M4 cores.

Including an introduction to the ARM product range and supporting IP, the course covers the ARM core range, programmer's model and instruction set architecture as well as the Cortex-M3/M4 debug architecture is also covered.

The course includes a number of worked examples and hands-on practical exercises to reinforce the lecture material.


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

Who should attend:

Software engineers writing application and system software for platforms using the ARM Cortex-M3 processor core.


  • Three days

Course materials:

  • Delegate handbook


Day 1:

  • Introduction to ARM
  • Software Engineer’s Guide to Cortex-M3/M4
  • Tools Overview for ARM Microcontrollers
  • Cortex-M3/M4 Core
  • CMSIS-Core
  • v7-M Compiler Hints and Tips

Day 2:

  • v7-M Linker and Libraries Hints and Tips
  • Cortex-M3 Debug
  • Embedded Software Development for Cortex-M Processors
  • v7-M Exception Handling

Day 3:

  • v7-M Memory Model
  • Cortex-M3/M4 Memory Protection
  • v7-M Assembly Programming
  • Cortex-M4 Details
  • Migrating Legacy ARM/Thumb code to Cortex-M3
  • v7-M Programmer’s Model