STM32 SVD Downloader
Download STM32 SVD (System View Description) files for any STM32 microcontroller directly into your VS Code workspace.
Features
- ✨ Smart Chip Detection: Enter any STM32 chip number (e.g.,
STM32F091RC) and automatically get the correct SVD file
- 📋 Browse by Family: Search through all available STM32 families
- 🎯 Direct Download: No manual searching through repositories
- 📁 Flexible Save Locations: Choose workspace root or custom folder
- ✅ Input Validation: Ensures correct chip format
- 📊 Progress Tracking: See download progress in real-time
- 🔧 Automatic Launch Configuration: Automatically configures
launch.json for STM32 debugging with SVD path integration
Usage
Method 1: Search by Chip Number (Recommended)
- Open Command Palette (
Cmd+Shift+P / Ctrl+Shift+P)
- Type "STM32: Search and Download by Chip Number"
- Enter your chip number (e.g.,
STM32F091RC, STM32F407VG)
- The extension automatically finds the correct SVD file family
- Choose save location
- Done!
Method 2: Browse by Family
- Open Command Palette (
Cmd+Shift+P / Ctrl+Shift+P)
- Type "STM32: Download SVD File"
- Browse and select from available SVD families
- Choose save location
- Done!
Automatic Launch Configuration
After downloading an SVD file, the extension will automatically help you configure your VS Code debugging setup:
What Happens Next:
If launch.json exists with STM32 ST-Link GDB configuration:
- The extension asks if you'd like to add/update the SVD path
- Your debugging configuration will immediately use the downloaded SVD file
If launch.json exists but has no ST-Link configuration:
- The extension offers to add a new ST-Link GDB Server debug configuration
- The configuration includes the SVD path for peripheral register viewing
If launch.json doesn't exist:
- The extension can create one for you with a complete ST-Link GDB Server configuration
- Saves time on manual setup
Result:
Your launch.json gets a configuration like:
{
"type": "stlinkgdbtarget",
"request": "launch",
"name": "STM32Cube: STM32 Launch ST-Link GDB Server",
"svdPath": "${workspaceFolder}/STM32F407.svd"
// ... other configuration options
}
This enables peripheral register viewing in VS Code's debugger!
Supported Chips
Supports all STM32 families including:
- STM32F0, F1, F2, F3, F4, F7 series
- STM32G0, G4 series
- STM32H7 series
- STM32L0, L1, L4, L5 series
- STM32U series
- STM32WB, WL series
- And more!
Requirements
- VS Code 1.60.0 or higher
- Internet connection for downloading SVD files
How It Works
The extension maintains a mapping of all STM32 chip numbers to their corresponding SVD files. When you enter a chip number like STM32F091RC, it automatically determines that it uses STM32F091x.svd and downloads it from the official CMSIS-SVD repository.
Perfect for
- Cortex-Debug & ST-Link GDB Server: Automatically integrates SVD path into your
launch.json for peripheral register viewing
- Embedded Development: Essential for STM32 embedded projects
- Quick Setup: No more manual SVD file hunting or launch configuration editing
Known Issues
None currently. Please report issues on GitHub.
Release Notes
1.1.0
- Automatic launch.json configuration integration for ST-Link GDB Server debugging
- Smart detection and configuration of existing launch.json files
- Seamless SVD path integration into debug configurations
1.0.0
- Initial release
- Smart chip number detection
- Support for all STM32 families
- Automatic SVD file mapping
Enjoy! 🚀