Hardware Assisted Tracing on ARM with CoreSight and OpenCSD
summary
CoreSight tracing is integrated into the Linux kernel and exposed to perf as a CS_ETM PMU, enabling zero‑copy trace capture on supported boards (Juno, Versatile Express TC2) and offloading decoding to the open source openCSD library (supports ETMv3/4, PTM, SDM). Trace collection uses perf events, requires pointing perf at a sink and (on the host) recompiling perf with openCSD, and supports address‑range and start/stop filters to limit the very large data volumes.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:16Hardware Assisted Tracing
- 2:56Use Case Considerations
- 3:35CoreSight Architecture
- 4:29Program Flow Trace
- 7:30Clock and Power Domain
- 9:45Booting
- 10:31Automating Configuration
- 13:04OpenCSD
- 14:50Integrate with Perf
- 18:05Trace Acquisition
- 20:25Address Range Filters
- 27:21Perf Data File
- 28:16CoreSight Example
- 29:04Object Dump
- 31:41Perf Report
- 32:43Address Ranges
- 33:38Memory Mapping
- 34:06Range Script
- 34:50Assemble Script
- 35:06End Result
- 37:55Question
related talks
02h 00mAdvanced Debug and Trace Tools for RISC-V Architectures
11mBoost SoC Debug with Smart Monitors and Embedded Software
09mDemo: Accelerate RISC-V Development with Tessent UltraSight-V
11mHeterogeneous Multicore Debugging of RISC-V Cores in Complex Chips
24mTriaging Crashed With Backward Taint Analysis For Arm Architecture
27mLook inside your SoC with Open SoC Debug
12mDemo: RISC-V 64 Bit Debug and Trace
16mEfficient debug and trace of RISC-V systems: a hardware/software co-design approach
