Course Code: iarmm
Duration: 7 hours
Prerequisites:

Basic knowledge of C language and microcontrollers.

Overview:

The course is an introduction to ARMv6-M, ARMv7-M and ARMv9-M architectures and Cortex-M family of processor cores used in popular microcontrollers.
The course may optionally be accompanied by hands-on exercises using STM32 family microcontrollers.

Course Outline:

ARM-M architecture origins. Architecture versions: 6, 7, 8, 8.1.

Register set. Instruction set: overview, limitations, dealing with constants, stack operations, procedure calls and returns. ARM calling convention.
Exception processing.
Cortex-M core components: processor, SysTick timer, NVIC interrupt controller, debug interface.
Advanced NVIC features. Use of software-triggered interrupts.
Cortex-M cores overview. Bus matrix architecture.

Exercises:
1. Basic application structure. Creating the application. Sections and memory
usage. Startup. Interrupts.
2. Routing the C stdout stream to a physical interface (UART, USB CDC?).
Using SWO for diagnostic output.

Sites Published:

Polska - Introduction to ARM-M architecture

Kuwait - Introduction to ARM-M architecture

Oman - Introduction to ARM-M architecture

Slovakia - Introduction to ARM-M architecture

Kenya - Introduction to ARM-M architecture

Nigeria - Introduction to ARM-M architecture

Botswana - Introduction to ARM-M architecture

Slovenia - Introduction to ARM-M architecture

Croatia - Introduction to ARM-M architecture

Serbia - Introduction to ARM-M architecture

Bhutan - Introduction to ARM-M architecture

Nepal - Introduction to ARM-M architecture

Uzbekistan - Introduction to ARM-M architecture