What is Serial Wire Viewer (SWV) in Arm Cortex-M?

Serial Wire Viewer (SWV) is a real-time trace functionality that is available in Arm Cortex-M microcontrollers. It allows real-time data…

Mike Johnston 9 Min Read

Arm Cortex-M DAP bus and interconnect architecture Explained

The Arm Cortex-M series of processors feature a Debug Access Port (DAP) that provides debug capability and access to the…

Neil Salmon 11 Min Read

Controlling Clocks and PLL for Power Savings in Cortex-M3

The Cortex-M3 processor provides multiple clock control features that allow significant power savings by slowing or stopping clocks when parts…

David Moore 12 Min Read

Sleep-on-Exit for Automated Low Power in Cortex-M3 (Explained)

Sleep-on-exit is a feature in Cortex-M3 processors that allows the processor to automatically enter a low power sleep mode when…

Eileen David 23 Min Read

Latest Arm

Forcing GCC to generate only Thumb-16 instructions for Cortex-M

The Cortex-M processors from ARM only support the Thumb-16 instruction set. By default, the GCC compiler will generate a mix…

Ryan Ryan 6 Min Read

Vendor SDK/driver bugs causing Hard Faults

Hard faults in embedded systems running ARM Cortex processors are often caused by bugs in vendor SDKs and device drivers.…

Neil Salmon 10 Min Read

Hard Fault behavior differences across Cortex-M variants

The Cortex-M series of ARM processors are extremely popular in embedded systems due to their low cost, low power consumption,…

David Moore 8 Min Read

Hard Fault behavior – timing, randomness, root causes

A Hard Fault on an ARM Cortex chip refers to an unrecoverable exception that occurs when the processor detects an…

Neil Salmon 8 Min Read

Common Causes of Hard Faults on Cortex-M0/M0+ MCUs

Hard faults on Cortex-M0/M0+ microcontrollers are often caused by software bugs, improperly configured hardware, or faulty external devices. While hard…

Neil Salmon 5 Min Read

Cortex-M0 Stack Frames and Registers During HardFault

When a Cortex-M0 processor encounters a fault or exception, it pushes information onto the stack to create a stack frame.…

Neil Salmon 10 Min Read

Using NVIC_SystemReset() to Trigger Soft Reset in Cortex-M0

The NVIC_SystemReset() function can be used to trigger a soft reset in Cortex-M0 based microcontrollers. This function is part of…

Neil Salmon 8 Min Read

Cortex-M0 hangs after performing soft reset

A soft reset is a common troubleshooting technique used with Cortex-M0 microcontrollers to clear errors and reset the device to…

Ryan Ryan 6 Min Read

Syntax for inline assembly operands in GCC

The GNU Compiler Collection (GCC) provides an inline assembler that allows embedding assembly language code into C and C++ programs.…

Jeday Schwartz 9 Min Read
- Sponsored-
Ad image