# KeilMemTool **Repository Path**: liqingds/KeilMemTool ## Basic Information - **Project Name**: KeilMemTool - **Description**: KeilMemTool 是一个开源的 ARM Keil .map 文件内存分析工具,专为嵌入式开发者设计,能快速解析 Keil μVision 生成的 .map 文件并可视化显示 Flash 和 RAM 的使用情况。 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/liqingds/KeilMemTool - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-16 - **Last Updated**: 2026-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 KeilMemTool
## ARM Keil `.map` 内存分析工具 解析 `.map` 文件并可视化 Flash / RAM 使用率 适用于 STM32、GD32、NXP、Nordic 等 Cortex-M MCU

[项目地址(Gitee)](https://gitee.com/liqingds/KeilMemTool?utm_source=chatgpt.com)
--- # ✨ 功能特性 * 🔍 自动解析 Keil `.map` 文件 * 📊 Flash / RAM 使用率统计 * 🧠 支持多 RAM Region * 🎨 Unicode 进度条显示 * ⚡ 命令行快速输出 * 🧩 支持 ARMCC / ARMCLANG * 🛠 支持自定义内存区域 --- # 🖥 运行效果
```txt id="z8j1rx" ┌────────────────────────────────────────────────────────────┐ │ Keil Memory Report │ └────────────────────────────────────────────────────────────┘ FLASH [ ▉▉▉▉______________________________________________ ] 8.5% 86 KB / 1024 KB RAM [ ▉▉▉▉______________________________________________ ] 8.4% 5 KB / 64 KB RAM1 [ ▉▉▉▉▉▉▉▉▉▉▉▉▉______________________________ ] 56.2% 72 KB / 128 KB ``` **keil运行效果** E:\STM32F407_Creat\ARMageddon407\Projects\MDK-ARM\output\atk_f407.map ========== MEMORY USAGE ========== FLASH FLASH [ ▇▇▇▇▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ] 8.5% (86 KB / 1024 KB) RAM RAM [ ▇▇▇▇▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ] 8.4% (5 KB / 64 KB) RAM1 RAM1 [ ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ] 56.2% (72 KB / 128 KB) CSV Export: --- # 📦 支持的内存区域 | 类型 | 说明 | | -------- | ---------------- | | FLASH | 程序存储区 | | RAM | 主 SRAM | | RAM1 | 扩展 SRAM | | IRAM1 | 内部 SRAM | | IRAM2 | 第二 SRAM | | DTCM | Data TCM | | ITCM | Instruction TCM | | CCMRAM | Core Coupled RAM | | AXI SRAM | STM32H7 AXI 内存 | | SDRAM | 外扩 SDRAM | --- # 📁 工程结构 ```txt id="s9icj5" KeilMemTool │ ├── include/ │ ├── MapParser.hpp │ └── MemoryRegion.hpp │ ├── src/ │ ├── MapParser.cpp │ ├── MemoryRegion.cpp │ └── main.cpp │ └── README.md ``` --- # ⚙️ 编译环境 | 环境 | 版本 | | --- | ---------------------- | | OS | Windows 10 / 11 | | 编译器 | MSVC / GCC | | 标准 | C++17 | | IDE | Visual Studio / VSCode | --- # 🚀 快速开始 ## 1️⃣ 开启 Map 文件输出 在 Keil 中: ```txt id="4bvh5e" Options for Target └── Linker └── ☑ Map File ``` 编译后生成: ```txt id="l7h5mi" project.map ``` --- ## 2️⃣ 编译工具 ### GCC ```bash id="7aj7lx" g++ src/*.cpp -Iinclude -std=c++17 -o KeilMemTool.exe ``` ### MSVC ```bash id="94f5pg" cl /EHsc src/*.cpp /I include ``` --- ## 3️⃣ 运行 ```bash id="8tlt0m" KeilMemTool.exe project.map ``` --- # 📊 输出说明 --- ## 🔥 FLASH 程序代码、常量、RO 数据。 ```txt id="4o5dn0" FLASH 8.5% (86 KB / 1024 KB) ``` --- ## 🧠 RAM 全局变量、堆、栈。 ```txt id="1t1h2y" RAM 8.4% (5 KB / 64 KB) ``` --- ## ⚡ RAM1 额外 SRAM 区域。 ```txt id="a2f30q" RAM1 56.2% (72 KB / 128 KB) ``` 常用于: * STM32H7 AXI SRAM * STM32F4 CCMRAM * DTCM * 外扩 SDRAM --- # 🧩 支持 MCU
STM32 ・ GD32 ・ HC32 ・ NXP ・ Nordic ・ TI ・ Renesas ・ 芯驰
--- # 📈 后续计划 * [ ] GUI 图形界面 * [ ] 历史内存变化趋势 * [ ] HTML 报告导出 * [ ] VSCode 插件 * [ ] Keil 插件 * [ ] CI 自动统计 * [ ] JSON 导出 * [ ] 内存占用 Top 排名 --- # ❤️ 致谢 感谢使用 KeilMemTool。 如果这个项目对你有帮助,欢迎 ⭐ Star。 --- # 📄 License MIT License ---
Made with ❤️ for Embedded Developers