David Moore

104 Articles

Strongly Ordered Memory in Armv6 and Armv7 (Explained)

Strongly ordered memory is a memory ordering model used in the ARMv6 and ARMv7 architectures to ensure correctness and consistency…

6 Min Read

Unified vs Separate Memory Address Spaces in ARM Cortex-M

ARM Cortex-M processors can be configured with either a unified or separate memory address space for code and data. The…

9 Min Read

Modified Harvard Architecture in ARM Cortex-M Chips

The ARM Cortex-M series of microcontroller chips utilize a modified Harvard architecture. This architecture separates instruction and data memories into…

18 Min Read

What is the Thread mode in Arm Cortex M3?

The Thread mode in Arm Cortex M3 refers to one of the processor modes that controls access privileges in the…

9 Min Read

Demystifying Arm’s Branch and Link Instructions (BL and BLX)

The Arm architecture includes two important branch and link instructions - BL and BLX. These instructions allow you to branch…

9 Min Read

Measuring interrupt latency on Arm Cortex-M processors

Interrupt latency is an important performance metric for real-time embedded systems built around Arm Cortex-M processors. It refers to the…

7 Min Read

Changing Processor Modes on ARM with CPSR Writes

The ARM processor has several different processor modes that allow access to different resources and functionality. The current processor mode…

11 Min Read

Processor Modes and Mode Control in the ARM CPSR

The ARM CPSR (Current Program Status Register) controls the processor operating mode and enables switching between different modes in ARM…

13 Min Read

What are the the Application Program Status Register (APSR) in Arm Cortex-M

The Application Program Status Register (APSR) in Arm Cortex-M is a 32-bit register that contains application-level status and control information.…

8 Min Read

Reducing Load/Store Instruction Latency on Cortex M4

The Cortex-M4 processor is designed to provide high performance and low power consumption in embedded applications. However, the load and…

7 Min Read

NVIC Registers Explained – ISER, ICER, ISPR, ICPR

The NVIC (Nested Vectored Interrupt Controller) registers ISER, ICER, ISPR and ICPR are used to enable, disable, set pending, and…

11 Min Read

Understanding Pipeline Hazards in Cortex-M4 Microcontrollers

The Cortex-M4 processor implements a 3-stage pipeline to improve performance by allowing multiple instructions to be processed simultaneously. However, pipeline…

8 Min Read
- Sponsored-
Ad image