SuperAPI AI 工具集

memory-analysis

通用与其它

查看项目

更新于 10-15 23:58

技能介绍

用途:在固件构建完成后分析内存占用,查看 Flash/RAM 使用情况,找出占用最大的函数或变量,对比两次构建的内存变化,并判断是否接近芯片内存限制。

主要能力:解析 GCC/ARM 链接器生成的 .map 文件或 ELF 文件;解析 .map 的 Memory Configuration 块或链接脚本 MEMORY {} 块获取 FLASH/RAM 总容量;输出各 section(.text、.rodata、.data、.bss)大小与地址,汇总 Flash(.text + .rodata + .data)和 RAM(.data + .bss)用量;有容量信息时给出使用率百分比与告警状态;输出按大小排序的 Top-N 符号;对比两个 .map 文件的 section 与符号增减。

使用方式:先阅读 references/usage.md 确认是环境探测、构建目录扫描还是执行分析。不确定工具可用性时运行 scripts/memory_analyzer.py 的 --detect 模式。用 --scan <build_dir> 自动查找可分析文件,用 --map-file 或 --elf 执行分析,可选 --linker-script 计算使用率,--top <N> 查看最大符号,--compare 对比两个 .map。

限制与失败分流:ELF 分析依赖 arm-none-eabi-size 和 arm-none-eabi-readelf,缺失时返回 environment-missing;文件不存在返回 artifact-missing;.map 格式无法识别返回 project-config-error;超过告警阈值时在成功结果中附带告警。.map 与链接脚本解析使用纯正则,全平台可用;ELF 分析需交叉编译工具链。内存即将溢出时建议审查 Top-N 大符号,定位具体函数可配合 IDE 或 grep。