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 

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

Lab Exercises

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

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