Basic knowledge of C language and microcontrollers.
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.
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.
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