mcu-elf-analyze

Analyzes firmware ELF files to report Flash and RAM usage per section plus largest symbols.

5|1|Updated Jul 12, 2026
One-click install
npx skills add https://github.com/BakeSheep/EmberProbe-MCU-Flash-Debug --skill mcu-elf-analyze-bakesheep
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mcu-elf-analyze
Source: https://github.com/BakeSheep/EmberProbe-MCU-Flash-Debug/tree/main/skills/mcu-elf-analyze
Command: npx skills add https://github.com/BakeSheep/EmberProbe-MCU-Flash-Debug --skill mcu-elf-analyze-bakesheep

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Embedded developers often need to know how much Flash and RAM their firmware consumes and which functions or variables occupy the most space, without connecting any debug hardware. This Skill performs a purely static analysis of the configured ELF file to answer those questions. ## Core Features & Use Cases - Flash/RAM Footprint Report: Reports total bytes and per-section breakdown for Flash (LMA addresses) and RAM (VMA addresses), including the load copy of .data. - Largest Symbol Ranking: Lists the biggest functions and objects with kind, section, size, and address, configurable via a --top parameter (default 20, max 100). - No Hardware Required: Runs entirely offline through the EmberProbe Agent Bridge, so it never conflicts with sampling or flashing sessions. - Use Case: After a build, ask why the binary grew; the Skill returns per-section sizes and the top space-consuming symbols so you can identify what to optimize. ## Quick Start Ask the agent to analyze the configured ELF and report Flash and RAM usage along with the largest symbols in the firmware.

Frequently Asked Questions about mcu-elf-analyze

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

FAQPage Schema
How do I check Flash and RAM usage of my firmware ELF?▼

Run the analyze-elf script with the workspace path to get a JSON report containing flash and ram totals plus per-section breakdowns. Flash addresses are LMAs and RAM addresses are VMAs, with .data legitimately appearing in both lists.

How to find the largest functions and variables in an ELF file?▼

Use the --top parameter to control how many of the largest symbols are returned, defaulting to 20 with a maximum of 100. Each entry includes kind, section, size, and address so you can identify the biggest space consumers.

Does ELF analysis require a debug probe or connected hardware?▼

No probe or target hardware is needed because the analysis is purely static and read-only. It only requires the EmberProbe Agent Bridge to resolve the selected ELF path, so it never conflicts with sampling or flashing sessions.

Why does ELF analysis fail with ELF_NOT_CONFIGURED or ELF_READ_FAILED?▼

ELF_NOT_CONFIGURED means no ELF is selected in the extension, which you can fix using the mcu-config skill. ELF_READ_FAILED means the file is missing or currently being rebuilt, so wait for the build to finish and retry.

Does static ELF analysis show heap and stack usage?▼

No, the report covers static RAM only, such as .data and .bss sections. Heap and stack consumption are runtime properties and are not included, so use runtime observation tools for free RAM questions.