实现VSCode F8一键烧录STM32的完整配置方案
摘要:本文介绍在VSCode中配置F8快捷键实现STM32一键烧录的方案。通过PowerShell脚本调用STM32CubeProgrammer,支持可视化选择.hex文件并自动完成烧录校验。关键步骤包括:1)创建通用烧录脚本实现文件选择、烧录和复位功能;2)设置PowerShell执行权限;3)绑定VSCode快捷键。该方案具有跨工程通用性,实测烧录成功后会显示SN号、校验结果等关键信息,并处理
实现VSCode F8一键烧录STM32的完整配置方案
在STM32嵌入式开发中,频繁烧录固件是常见需求。通过配置VSCode快捷键调用PowerShell脚本,实现可视化选择文件、自动烧录、校验复位的完整流程分享。
软件环境:
1、Visual Studio Code 版本: 1.112.0 (system setup)
2、STM32CubeIDE for Visual Studio Code(VSCode插件)
3、CMake 4.3.0
4、STM32CubeProgrammer
5、gcc-arm-none-eabi-10.3-2021.10-win32
创建通用烧录脚本
新建STM32_Flash.ps1文件,内容如下:
<# STM32通用烧录脚本:弹出文件选择框选.hex文件,自动烧录 #>
Add-Type -AssemblyName System.Windows.Forms
$fileDialog = New-Object System.Windows.Forms.OpenFileDialog
$fileDialog.Filter = "Hex固件文件 (*.hex)|*.hex|所有文件 (*.*)|*.*"
$fileDialog.Title = "选择要烧录的STM32 .hex固件文件"
if ($fileDialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
$hexPath = $fileDialog.FileName
$cliPath = "C:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe"
Write-Host "`n========== 开始烧录STM32固件 ==========" -ForegroundColor Green
Write-Host "选择的固件文件:$hexPath" -ForegroundColor Cyan
& $cliPath -c port=swd -w "`"$hexPath`"" -v -rst 2>&1 | Select-String 'ST-LINK SN|File download complete|Download verified successfully|MCU Reset|Error:'
if ($LASTEXITCODE -eq 0) {
Write-Host "========== 烧录成功!芯片已复位运行 ==========" -ForegroundColor Green
} else {
Write-Host "========== 烧录失败!检查连接/文件路径 ==========" -ForegroundColor Red
}
} else {
Write-Host "`n❌ 已取消选择固件文件,烧录终止" -ForegroundColor Yellow
}
配置脚本执行权限
以管理员身份运行PowerShell执行:
Set-ExecutionPolicy RemoteSigned
执行后输入Y确认,该设置永久生效。可通过Get-ExecutionPolicy命令验证是否显示RemoteSigned。
绑定VSCode快捷键
修改keybindings.json文件,添加 F8 快捷键(可根据自己习惯更改):
{
"key": "f8",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "& \"D:/Documents/STM32_Flash.ps1\"\n"
},
"when": "terminalFocus || editorFocus",
"description": "STM32通用烧录(选文件后自动烧录)"
}
确保脚本路径与实际存储位置一致。
测试烧录流程
- 打开VSCode终端(Ctrl+`)
- 按F8键弹出文件选择窗口
- 选择目标工程的.hex文件
- 终端将显示烧录进度和结果
典型输出示例
========== 开始烧录STM32固件 ==========
选择的固件文件:D:\Project\build\firmware.hex
ST-LINK SN : XXXXXXXXXXXXXXXXXXXX
File download complete
Download verified successfully
MCU Reset
========== 烧录成功!芯片已复位运行 ==========
常见问题处理
- 权限问题:确认执行策略为
RemoteSigned - 路径错误:检查
keybindings.json中的脚本路径 - 硬件连接:确保ST-Link连接正常且开发板供电
- 恢复默认策略:执行
Set-ExecutionPolicy Restricted
该方案实现了跨工程通用、可视化操作、一键完成的烧录流程,显著提升开发效率。通过PowerShell直接调用STM32CubeProgrammer,避免了CMake配置的复杂性,保证烧录过程的稳定可靠。
更多推荐



所有评论(0)