Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>FW Mem GuardNew to Visual Studio Code? Get it now.
FW Mem Guard

FW Mem Guard

Preview

FW Mem Guard

| (0) | Free
Compare firmware Flash/RAM usage and budgets locally, with guided GNU Arm Map + ELF project setup.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

FW Mem Guard

Compare firmware Flash/RAM usage and catch memory budget regressions inside VS Code.

0.3.1 Pre-release — guided GNU Arm Map + ELF comparisons, explicit effective budgets, repeat comparisons, and Windows WSL project access. The existing native accounting engine is unchanged.

Start in minutes

  1. Install the package for your VS Code desktop computer: Windows x64, macOS Apple Silicon, or macOS Intel (macOS 15+ for these builds). No Python or separate engine installer is needed.
  2. Open a folder you trust. Run FW Mem Guard: Run Demo from the Command Palette. BUDGET_EXCEEDED is expected for the bundled example.
  3. Run Set Up / Update Project, select baseline Map + matching ELF and current Map + matching ELF from completed builds, then select one Flash and one RAM region.
  4. Enter total and growth limits in bytes. Zero growth means no positive growth is allowed. Review and save as board.fwmg.json.
  5. Use Compare Builds, Repeat Last Comparison, and the new Edit Budgets command.

Example report

BUDGET_EXCEEDED
FLASH +6,808 bytes (3,520 -> 10,328)
RAM +25,864 bytes (7,376 -> 33,240)
FLASH growth: 6,808 <= 16,384 bytes — OK
RAM growth: 25,864 > 4,096 bytes — EXCEEDED

Commands

Command (FW Mem Guard:) Action
Run Demo Run bundled intentional budget violation; does not replace your comparison.
Set Up / Update Project Create a project or update artifact paths / baseline / regions.
Edit Budgets Edit active project budgets; otherwise select an existing project. No Save As dialog.
Open Project Open and validate a saved .fwmg.json project.
Compare Builds Compare active project; otherwise choose setup/open/manual.
Repeat Last Comparison Reread current inputs and rerun the saved comparison.
Analyze Map Display totals; budgets are not checked. Active projects validate both input pairs.
Manual Profile Comparison Advanced local-only map comparison with a reviewed engine JSON profile.
Select Config Local-only manual profile default; does not change guided project budgets.
Open Output Show report and diagnostics.
Open User Guide Open the bundled English/Hebrew guide or Support in a VS Code editor tab. Works offline.

WSL on Windows

Install the Microsoft WSL extension, open your Ubuntu/project folder in a WSL-connected VS Code window, and keep FW Mem Guard running on the local Windows UI host. Use guided project commands and choose files in the remote picker; do not substitute Windows UNC paths. Store the project alongside its artifacts in the same WSL filesystem. WSL files are transferred through VS Code to the Windows process for full Map/ELF validation; validated maps are snapshotted into a temporary local directory for the bundled engine. There is no Linux engine installation.

Workspace Trust may need approval separately from a local or UNC window. Only trust folders you control. If a remote connection closes, reconnect, open the existing project, and repeat. Guided input reads have a 30-second timeout and a Cancel button. Timeout/cancel discards late responses; the underlying VS Code filesystem request may still complete. This limit does not cover file pickers, engine execution or project saving. Set fwMemGuard.inputReadTimeoutSeconds in User Settings (1–300 seconds) if needed. Reports include phase times and exact input byte sizes. If a read remains pending after reconnection, save your work and run Developer: Reload Window, then open your saved project again. Final-package disconnect acceptance remains pending in this build candidate.

Preview scope and limits

  • Local Windows x64 and macOS x64/arm64; guided WSL on Windows. No Linux-native, Remote-SSH, Dev Containers, Codespaces or browser execution.
  • GNU ld maps with GNU Arm ELF32 little-endian; one active Flash and one active RAM bank. IAR, Keil and multiple active banks are not supported.
  • Maximum 64 MiB per ELF, 32 MiB per map, 1 MiB per project JSON. Full artifacts are read; no ELF streaming. Owner-reported development-host testing on MicroPython artifacts (~6 MB per ELF; 23.5 MB total input) took 418–429 ms per WSL comparison, including input replacement and restoration. This is a measured example, not a performance guarantee or near-limit test.
  • Totals are allocated output-section bytes, not address span. Initialized RAM also counts its load image in Flash. Stack/heap reservations count as reserved bytes, not runtime peak usage.
  • Map/ELF agreement validates supported structural properties, not atomic build provenance or symbol attribution. Select completed builds and keep baseline artifacts fixed.
  • Object/symbol attribution is not implemented. This is an interactive preview; guided Map/ELF validation is not a standalone CLI/CI contract.
  • Native executables may be blocked by organizational policy. VSIX packaging does not bypass that policy; stop and report the diagnostic instead of disabling protections.

Data and help

No FW Mem Guard account, telemetry or cloud upload. WSL artifacts are read into the local Windows host. The extension wrapper JavaScript is visible inside VSIX; engine Python source is excluded from customer packages. Reports contain paths and section information; review before sharing.

Open the Command Palette and run FW Mem Guard: Open User Guide. Choose English — Quick Start, Hebrew, or Support. The bundled guide opens inside VS Code, works offline, and does not run the engine or change your comparison. Customer ZIPs also include the English and Hebrew HTML guides for reading before installation.

Offline guides and troubleshooting are included. For feedback or bug reports, copy the support address below into your email service. No online issue tracker is configured.

Support: fwmemguard.support@gmail.com

Updating from the private pilot

Publisher: FW Mem Guard (fwmemguard). Extension ID: fwmemguard.fw-mem-guard. If the older fw-mem-guard-pilot.fw-mem-guard extension is installed, disable it before testing this package to avoid duplicate commands. Open your existing .fwmg.json project with Open Project; workspace selections from the old extension identity may not carry over. Your project files are not renamed or deleted.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft