bfd-data-acquisition

Capture STM32 runtime data from symbols, memory, and RTT channels into JSON/CSV artifacts.

27|1|Updated Mar 9, 2026
One-click install
npx skills add https://github.com/Sonder4/STM32-BFD-Kit --skill bfd-data-acquisition
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bfd-data-acquisition
Source: https://github.com/Sonder4/STM32-BFD-Kit/tree/main/skills/claude/bfd-data-acquisition
Command: npx skills add https://github.com/Sonder4/STM32-BFD-Kit --skill bfd-data-acquisition

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Use this Skill to collect runtime data from STM32 targets by resolving global symbols, memory regions, stack-published locals, and RTT channels, and to convert captures into structured artifacts for analysis.

Core Features & Use Cases

  • Symbol-driven data acquisition: resolve symbols from ELF or project metadata and sample RAM or registers.
  • RTT and memory capture: support RTT-based streaming and memory region reads to produce analyzable artifacts.
  • Output-first workflow: generate machine-readable artifacts with caches and summaries for downstream analysis.

Quick Start

Run the acquisition workflow with your ELF or symbol names to begin capturing data and generating artifacts.

Frequently Asked Questions about bfd-data-acquisition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture STM32 runtime data from global symbols and memory regions?

Capture STM32 runtime data by resolving global symbols and memory regions from an ELF file, then sampling RAM or registers to generate structured JSON or CSV artifacts. The Python-based orchestration reads stack-published locals and RTT channels to produce machine-readable outputs for downstream analysis.

Can I use J-Link and ST-Link tooling for STM32 RTT data acquisition?

J-Link and ST-Link tooling are supported for STM32 RTT data acquisition. The Python-based orchestration interoperates with these debug probes to stream RTT channels and read memory regions, converting the captures into analyzable JSON and CSV artifacts.

What is the best way to extract STM32F4 and STM32H7 stack-published locals into structured artifacts?

Extract STM32F4 and STM32H7 stack-published locals into structured artifacts by running an acquisition workflow that resolves symbols from ELF metadata and samples runtime memory. This output-first workflow generates machine-readable JSON or CSV files with caches and summaries for downstream validation.

Does STM32 data acquisition require an ELF file to resolve symbols for memory capture?

An ELF file or project metadata is required to resolve symbols for STM32 memory capture. The acquisition workflow relies on resolving these global symbols to accurately sample RAM, registers, and stack-published locals before converting the runtime state into structured artifacts.

How do I debug STM32 firmware by profiling runtime state and validating memory layouts?

Debug STM32 firmware by profiling runtime state and validating memory layouts through symbol-driven data acquisition. The workflow captures RTT streams and memory region reads, producing cached JSON and CSV artifacts that enable detailed analysis of the target's runtime behavior.

When should I not use RTT channels for STM32 runtime data acquisition?

Avoid using RTT channels for STM32 runtime data acquisition when your target lacks RTT support or you only need static memory snapshots. In these cases, rely solely on direct memory region reads and global symbol resolution from the ELF file to generate the structured artifacts.