Global training solutions for engineers creating the world's electronics products

ARM Cortex-M0+ Software Design

Standard Level - 2 days

ARM® Cortex®-M0+ Software Design is a 2-day class for software engineers developing software for platforms based around the ARM Cortex-M0+ processor core. Including an introduction to the ARM product range and supporting IP, the course covers the ARM Cortex-M0+ programmer's model, instruction set architecture and software development tools.

The class includes a number of worked examples developed by ARM to reinforce the lecture material.

Who should attend?

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

Pre-requisites
  • 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.
Training materials

This class uses training materials developed by ARM®

Content

Day 1

Introduction to ARM

Cortex-M0+ Overview

Tools Overview for ARM Microcontrollers

Toolchain • Models • Debug & Trace • Development Boards 

v6-M Programmer’s Model

Data types • Core registers • Modes • Exceptions • Instruction • Set Overview 

CMSIS Overview

CMSIS-CORE • CMSIS-DSP • CMSIS-RTOS • CMSIS-SVD • CMSIS-DAP 

v6-M Compiler Hints and Tips

Basic Compilation • Compiler Optimizations • Coding Considerations • Mixing C/C++ and Assembler • Local and Global Data issues 

v6-M Memory Model

System Caches • Write Buffers • TCMs • Memory Types • Endianness • Address Map 

Day 2

v6-M Exception Handling

Exception Model • Interrupts • Interrupt Handling • Prioritization and Control • Writing the Vector Table and Interrupt Handlers • Internal Interrupts and RTOS Support • Fault Exceptions 

Embedded Software Development for Cortex-M Processors

Tailoring the C library to your target • Tailoring image memory map to your target • Reset and Initialization • Further memory map considerations • Building and debugging your image 

Linker & Libraries Hints & Tips for ARM Architecture v6-M

Linking Basics • System and User Libraries • Veneers • Stack Issues • Linker Optimizations and Diagnostics • ARM Supplied Libraries • Scatter-loading 

Cortex-M0+ Debug

Introduction to Debug • Debug Access Port (DAP) • Breakpoints/Watchpoints & Vector Catch • Cortex-M0+ Debug • System Control 

Exercises

Keil MDK Introductory Workbook • ARM Compiler Workbook • Embedded Software Development Workbook 

ARM and Cortex-M0+ are registered trade marks of ARM Holdings Plc.

This course content is fully covered by the scheduled Doulos training class "Developing with Arm Cortex-M"

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