bakesheep/emberprobe-mcu-flash-debug/mcu-elf-analyze
Claude Code and agent skill by bakesheep/emberprobe-mcu-flash-debug
- community
Checking that the SKILL.md file is still in the repository.
Statically analyze the configured firmware ELF through EmberProbe - Flash and RAM usage per section plus the largest functions and variables. No probe or hardware needed. Use when the user asks how much Flash/RAM the firmware uses, what occupies the most space, why the binary grew, or wants a memory footprint report.
Install
npx vskill@latest install bakesheep/emberprobe-mcu-flash-debug/mcu-elf-analyzeSKILL.md
MCU ELF Analyze
Use scripts/analyze-elf.js from this skill directory. This is a pure static analysis of the workspace's configured ELF — it never touches the probe or the target, so it works with no hardware attached and does not conflict with sampling or downloading.
Before you run
- MCP first: if this session provides EmberProbe MCP tools (such as
elf_analyze), use them; the scripts here are the fallback. The authorization and hardware rules on this page apply to both. - Applies to: static firmware footprint analysis — Flash and RAM per section plus the largest functions and variables.
- Requires: the EmberProbe Agent Bridge (to read the selected ELF path). No probe or hardware is needed — “no hardware” here does not mean “no Bridge”; a Bridge failure is an extension/activation problem, not a wiring problem.
- Preconditions: an ELF is selected (else
ELF_NOT_CONFIGURED) and is readable, not mid-rebuild (elseELF_READ_FAILED). - Side effects: none — read-only, no hardware access.
- Success evidence: the
flash/ram/topSymbolsJSON. Static RAM only (heap/stack are runtime properties). A footprint report says nothing about whether the firmware actually runs.
For failure handling, retry limits, cross-skill routing, and result scoping, read ../_emberprobe/agent-workflow.md.
--top limits the largest-symbol ranking (default 20, max 100). --map and --linker-script select the layout source explicitly; without them the extension uses the ELF-adjacent .map or the unique workspace linker script.
Interpreting the result
The JSON on stdout contains:
flash: total bytes and per-section list of everything programmed to Flash (.isr_vector,.text,.rodata, plus the load copy of.data), addresses are LMAs.ram: total bytes and per-section list of runtime RAM usage (.data,.bss, etc.), addresses are VMAs..datalegitimately appears in both lists.topSymbols: largest functions and objects withkind,section,size,address.regions: every region declared by the selected.mapor.ld, including zero-use
regions such as H750's RAM_D2, RAM_D3, and ITCMRAM. Each entry has origin, capacity, used, sectionBytes, percent, and section details. used is the high-water span from the region origin and includes linker reservations and gaps; sectionBytes is the de-duplicated section-range total.
sourceanddiagnostics: the layout file used and actionable messages for an
ambiguous source, stale map, unmapped section, or unsupported linker expression.
Report totals in human units (KiB) and highlight the top consumers. To compute a Flash utilization percentage, combine flash.total with the chip's flashSize from the mcu-chip-info skill — do not guess the chip capacity from the ELF.
Note: the report includes linker-reserved heap/stack sections when they are present in the ELF. It does not measure runtime heap/stack peaks or free RAM.
Failure diagnostics
On failure, parse the JSON diagnostic on stderr. ELF_NOT_CONFIGURED means no ELF is selected (use mcu-config), ELF_READ_FAILED means the file is missing or being rebuilt.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/mcu-elf-analyze/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bakesheep/emberprobe-mcu-flash-debug/mcu-elf-analyze)