STM32 Build Analyzer (Enhanced) 🚀

Visual memory analyzer for STM32 projects – works with .map
and .elf
files, no matter what toolchain or build system you use.

❓ Why This Fork?
The original version was depandet with cmake-tool extension.
This fork removes that dependency, adds broader file handling, and enhances the UI for developers using CubeIDE, Makefiles, or custom setups.
🚀 Key Improvements in This Fork
✅ Removed CMake dependency – Works with any build system (Makefile, CubeIDE, etc.)
✅ Custom build folder support – Easily set via UI button or command
✅ Improved file discovery – More robust handling of .map
and .elf
files
✅ Optimized UI – Visual memory usage indicators and new interactive controls
🔍 Features
- Memory region analysis using
.map
and .elf
files
- Detailed breakdown of memory sections and symbols
- Clickable links from symbols to source files
- Visual panel with color-coded usage (RAM, Flash)
- ARM toolchain integration (
arm-none-eabi-objdump
, nm
)
- Compatible with any STM32 build system
📦 Installation
From VS Code Marketplace (Coming soon)
📥 Marketplace link placeholder
Manual Installation
Requirements
- Node.js installed
- npm installed
vsce
installed:
npm install -g @vscode/vsce
Build and Install manual
Clone the repository:
git clone https://github.com/niwciu/stm32-build-analyzer.git
cd stm32-build-analyzer
Install dependencies:
npm install
Build the .vsix package using vsce:
vsce package
This will generate a file like: stm32-build-analyzer-enhanced-1.1.1.vsix
Install the extension in VS Code:
code --install-extension stm32-build-analyzer-enhanced-1.1.1.vsix
🛠 Usage
- Open the Command Palette (
Ctrl+Shift+P
) and run:
STM32 Build Analyzer
– opens the main view
STM32 Build Analyzer Refresh Paths
– re-detects build output folder
- Analyzer view updates automatically when build output files change.
📜 Changelog
See CHANGELOG.md for full version history.
🤝 Contributing
Contributions are welcome! Please fork the repo and submit a pull request:
- Fork the repository
- Create your feature branch (
git checkout -b feature-name
)
- Commit your changes (
git commit -m "Add feature"
)
- Push to branch (
git push origin feature-name
)
- Open a Pull Request
If you find bugs or want to request features, feel free to open an issue.
⚖️ License & Attribution
This extension is licensed under the MIT License.
Originally created by Aleksei Perevozchikov (ATwice291)
Fork maintained by niwciu with enhancements described above.
STM32 build analyzer for memory usage, symbol tracking, and map/elf inspection – compatible with Makefiles, CubeIDE, and other toolchains.
❤️ Thank you for using this version of STM32 Build Analyzer!