ARM Cortex-M0 Microcontroller

The ARM Cortex-M0 is a 32-bit microcontroller core licensed by ARM Holdings. It is aimed at low-cost and low-power embedded applications that require minimal computing power and memory footprint. The Cortex-M0 is the smallest and simplest implementation in the Cortex-M series of ARM processor cores. Overview The Cortex-M0 was announced in 2009 as ARM’s first

ARM Cortex M TrustZone

TrustZone is a security extension developed by ARM for their Cortex-M series of microcontrollers. It provides isolation and security capabilities to enable trusted execution environments on ARM-based devices. The main goals of TrustZone for Cortex-M are: TrustZone Security Concepts TrustZone divides processing into two worlds or states called secure and non-secure. The secure world has

Basepri Example

The BASEPRI register is one of the system control registers in ARM Cortex-M processors that is used to set the baseline priority mask. This allows priority levels below the baseline priority to be ignored during exception processing. What is BASEPRI? BASEPRI stands for Base Priority Mask Register. It is a 32-bit register that sets the

basepri register

The basepri register is one of the system control registers in ARM Cortex-M processors. It allows setting the base priority mask level that determines the lowest priority of exceptions allowed to interrupt the execution of code running in Thread mode. The basepri register plays a key role in the ARM Cortex-M nested vectored interrupt controller

PSR Register in ARM

The Program Status Register (PSR) is one of the most important registers in ARM processors. It contains condition code flags like negative, zero, carry, overflow etc. that are set based on the result of arithmetic and logical operations. The PSR register also contains the current state of the processor like the processor mode, interrupt disables

Registering and Configuring the ARM MSP in Depth

The ARM Microcontroller Software Interface Standard (MSP) provides a standardized way to access and configure ARM Cortex-M microcontrollers. Properly registering and initializing the ARM MSP is crucial for developing robust and efficient firmware. This guide will walk through the key steps for registering and configuring the ARM MSP from scratch. Understanding ARM MSP Register Addresses

Cortex-M33 Bootloader

A bootloader is a small program that runs when a device first powers on and initializes the device’s hardware and software components to get the system into an operable state before loading the main operating system or application. On ARM Cortex-M33 based microcontrollers, the bootloader has a crucial role in establishing security and enabling firmware

stm32 bootloader example

A bootloader is a small program that runs when a microcontroller like STM32 first powers up. It initializes the device, performs basic checks, and can load firmware into the main flash memory. Using a bootloader allows you to update firmware without external programmers. Here is an overview of how to create a simple bootloader for

Bootloader Code Example

A bootloader is a small piece of code that runs before any operating system is loaded. It is responsible for initializing hardware, setting up memory, and loading the operating system kernel and initial ramdisk into memory so that the operating system can boot. Understanding bootloader code can help developers customize and modify the boot process