Add a custom MCP server (tools/elf-mcp/) exposing the GNU ARM binutils (size/ nm / readelf / objdump / addr2line) plus linker-script and .map parsing to agents.
Tools to expose:
list_elf_files - discover firmware .elf/.map across build presets
memory_map - linker MEMORY regions vs ELF section fill/percent
binary_size - flash vs RAM classification (LMA/VMA, .data double charge)
largest_symbols - nm top-N symbols (bloat hunting)
per_object_map - .map per-object flash/RAM contributions
section_breakdown - readelf -S verbose
verify_no_heap - objdump scan for malloc/new/_Znwm on target
disassemble / addr2line - codegen + symbol<->address resolution
Background (from AGENTS.md workflow) per conversation with author/human.
Add a custom MCP server (
tools/elf-mcp/) exposing the GNU ARM binutils (size/nm/readelf/objdump/addr2line) plus linker-script and .map parsing to agents.Tools to expose:
list_elf_files- discover firmware .elf/.map across build presetsmemory_map- linker MEMORY regions vs ELF section fill/percentbinary_size- flash vs RAM classification (LMA/VMA, .data double charge)largest_symbols- nm top-N symbols (bloat hunting)per_object_map- .map per-object flash/RAM contributionssection_breakdown- readelf -S verboseverify_no_heap- objdump scan for malloc/new/_Znwm on targetdisassemble/addr2line- codegen + symbol<->address resolutionBackground (from AGENTS.md workflow) per conversation with author/human.