This blog post focuses on explaining the privileged and unprivileged access levels available in ARM Cortex-M core. With an assembly code, it demonstrates the use of these access levels and explains how to switch between them.
ARM Cortex-M core provides a number of features to support an RTOS. One of these features is the SVC instruction. Let’s understand how SVC works in ARM Cortex-M. This blog post demonstrates usage of SVC with an assembly code without using any RTOS.
Let’s explore a simple use of the SysTick timer provided in ARM Cortex-M devices. Though the primary intention of the SysTick timer is to be used as a periodic interrupt to invoke kernel in an operating system, it can also be used as a simple peripheral timer. This post also introduces you to exception handling mechanism of ARM Cortex-M core.
If you are like me, you always have the urge to understand ARM Cortex-M architecture in more details. You want to write a small code in assembly language to reach closer to the hardware. But you struggle to find a good how-to-guide for assembly programming. Most of the examples you find are written in higher level languages like C/C++. Don’t give up yet. Read on this post which will help you take the first step in learning ARM assembly programming.