Skip to content
STIMSMITH

ARM ETM Hardware Tracing

Concept

ARM ETM (Embedded Trace Macrocell) is a hardware-based instruction tracing mechanism for ARM processors. It captures execution traces directly from the processor core, but the amount of trace data it can store is bounded by an on-chip Embedded Trace Buffer (ETB), which is typically small (e.g., 64KB on the Juno Development Board). As discussed in the Examiner paper (ASPLOS '22), these hardware constraints motivate the complementary use of software-based CPU emulation for whole-program dynamic analysis.

First seen 6/7/2026
Last seen 6/7/2026
Evidence 1 chunks
Wiki v1

WIKI

Overview

ARM ETM (Embedded Trace Macrocell) is a hardware-assisted tracing facility used on ARM-based systems to observe instruction execution. It is one of the so-called hardware-based tracing techniques that capture program behavior directly from the processor, as opposed to reconstructing execution from software emulators such as QEMU, Unicorn, or Angr.

Embedded Trace Buffer (ETB) Limitation

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

1 connections
The paper mentions ARM ETM hardware tracing as an alternative to software emulation with limitations.

CITATIONS

6 sources
6 citations — click to expand
[1] ARM ETM is a hardware-based tracing technique used for dynamic analysis on ARM platforms. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)
[2] ARM ETM has a limited Embedded Trace Buffer (ETB); on the Juno Development Board the ETB size is 64KB. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)
[3] ETB size varies across different ARM SoCs but is usually limited due to chip cost and size. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)
[4] Hardware-based tracing techniques such as ARM ETM have limitations compared with software emulation, including limited buffer-based trace coverage, and software emulation is capable of tracing the whole program. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)
[5] Software emulation provides user-friendly APIs for runtime instrumentation and is supported by multiple operating systems and architectures. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)
[6] Software emulation complements hardware-based tracing techniques and provides rich functionalities for dynamic analysis frameworks. Examiner: Automatically Locating Inconsistent Instructions between Real Devices and CPU Emulators for ARM (ASPLOS '22)