Skip to content

Releases: MYFSillyBa/auto-CMake

STM32 工程助手 · VS Code 扩展 v1.0.3

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 13 Oct 14:57

版本概述

STM32 工程助手 VS Code 扩展 v1.0.3 面向本地 Windows x64 工程,在编辑器内提供工程配置、源文件管理、工程转换、工具管理与修改恢复。安装包约 8.5 MB,较初版约 32.2 MB 减少约 74%,内置后台运行时和 OpenOCD 脚本,无需另行安装 .NET。

本版本为 VS Code 扩展独立发行版。桌面程序继续通过 桌面版本下载页 获取,桌面版本与扩展版本分别编号。

下载与环境要求

项目 说明
安装文件 stm32-project-helper-1.0.3-win32-x64.vsix
文件大小 8539085 字节,约 8.5 MB / 8.14 MiB
操作系统 本地 Windows x64
VS Code 1.95 或更新版本
.NET 安装包自带,无需另行安装
工程构建 需要 CMake、Ninja 和 ARM GCC,可通过工具管理选择或修复
OpenOCD 执行程序需要安装;Target、CMSIS-DAP 接口和 Tcl 脚本已内置

安装方法

  1. 下载上述 .vsix 文件。
  2. 在 VS Code 中按 Ctrl+Shift+X 打开扩展面板。
  3. 点击面板右上角 …,选择“从 VSIX 安装…”,选中下载的文件。
  4. 安装完成后重新加载窗口。若没有提示,可在命令面板执行“Developer: Reload Window”,或关闭并重新打开 VS Code。
  5. 打开并信任包含 CMakeLists.txt、.ioc 或 .uvprojx 的本地工程文件夹。
  6. 工程工作台默认自动打开,也可点击活动栏蓝色芯片图标或执行“STM32 工程助手:打开”。

更新方法

再次执行“从 VSIX 安装…”并选择新版文件,覆盖已有扩展后重新加载窗口,无需先卸载。扩展标识为 myfsillyba.stm32-project-helper,保留已有工作区工具设置和修改记录。

功能与改进

  • 当前工程工作台:提供工程配置、添加源文件、加入文件、工程转换、工具管理和修改记录六个入口,支持多个工作区文件夹切换。
  • 直接确认写入:工程配置、源文件注册和工程转换均提供“确认写入…”主按钮;弹窗列出受影响文件后保存,详细文件差异可以按需预览。
  • 软件构建检查:先保存所需任务,再执行 CMake 配置、实际编译和 OpenOCD 脚本解析;构建问题显示在 VS Code 问题面板和输出频道。
  • 构建目标与固件:使用当前构建配置的实际 ELF,支持多个固件目标选择,保留用户任务、JSONC 注释及原始工程工具链配置。
  • 源文件与文件管理:扫描并逐项选择 C/C++、汇编及头文件,维护目标源文件和包含目录;支持创建文件夹、复制文件、同名处理和修改恢复。
  • CubeMX 工程转换:支持 STM32CubeMX MDK-ARM 与 ARM GCC CMake 双向转换,不安装或调用 CubeMX。
  • 工具版本与路径:检测多个工具安装,按版本和完整路径选择;所选 CMake、Ninja 和 ARM GCC 使用绝对路径。工程迁移或工具变化时备份旧缓存后重新配置。
  • 工作区配置独立:修复缺失工具时保留工作区已选的有效工具,不将其替换为桌面程序默认路径,也不改写桌面工具路径设置。
  • 安装包精简:裁剪未使用的后台运行库,保留功能代码、JSON 模型和内置 OpenOCD 脚本,保持无需另装 .NET 的安装方式。

推荐使用流程

  1. 在“工程配置”中核对芯片、配置预设、构建目录、Target 和工具版本。
  2. 点击“确认写入…”,在弹窗中确认工程与文件清单,保存 VS Code 任务。
  3. 点击“运行软件检查”,查看编译结果、问题位置和实际 ELF。
  4. 多固件工程选择需要使用的 ELF,并确认烧录任务绑定。
  5. 在“终端 → 运行任务”中执行“一键编译”或“一键烧录(DAPLINK)”。

编译未通过时保留已写入任务,可修正工程后重新执行。扩展的软件检查不确认探针连接,不烧录硬件;烧录由使用者明确运行任务执行。

支持范围与说明

  • 使用本地 Windows x64、文件系统工作区和工作区信任;远程或虚拟工作区不在当前支持范围内。
  • 工程转换限于保留 .ioc 与生成源码的 STM32CubeMX 单核 STM32 工程。
  • 自动启动与内存布局转换限于可可靠解析的标准结构和实际使用一个 FLASH、一个 RAM 的布局。
  • 复杂内存分区、双核、无法匹配的专用库及不能确认语法或版本的 FreeRTOS 移植层会提供具体补全说明。
  • 扩展不上传工程,不保存最近工程列表,不生成 .ps1 文件。

完整安装、更新、逐项操作、扩展设置与常见问题见 扩展操作指南。工程兼容性说明与桌面方法见 项目文档。

验证与校验

发布前完成解决方案构建、扩展 JavaScript 检查、正常软件流程和隔离 VS Code 安装使用检查,覆盖任务写入、真实 ARM 编译、工具选择与修复、源文件注册、文件复制和恢复、MDK/CMake 双向转换及工程迁移缓存处理。检查不连接硬件。

安装包 SHA-256:

AB8363E649D33C91DFB88C2AB6C1D1EAAFFE1A22202B137E591C98285A20168C

对应源码提交:发布源码。

应用源码采用 MIT 许可证。内置 OpenOCD 脚本保留原始版权与许可证声明;第三方工具遵循各自许可证。

STM32 工程助手 v1.5.1

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 02 Oct 12:14

版本概述

本版本优化 VS Code 任务生成与构建验证流程,支持首次编译前完成任务配置,并完善多固件选择与配置恢复。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 STM32ProjectHelper-portable-win-x64.exe 49.07 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 STM32ProjectHelper-lite-win-x64.exe 1.68 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

更新内容

任务配置与构建验证

  • 调整配置执行顺序:任务预览与写入、CMake 配置、工程编译、OpenOCD 脚本校验。
  • 支持尚未生成 ELF 的工程创建 VS Code 编译与烧录任务。
  • 构建或脚本校验异常时保留已写入任务,支持修正工程后重新编译。
  • 同步更新执行步骤、进度及结果提示。

固件目标解析

  • 根据 CMake 当前构建配置的可执行目标解析 ELF 路径,排除旧目标遗留文件。
  • 多固件工程支持目标选择,并通过独立修改预览确认烧录任务绑定。
  • 对所选 ELF 执行存在性及构建目录范围校验。

配置保护与恢复

  • 保留用户任务、JSONC 注释及文件编码。
  • 任务与必要的 .vscode/stm32-daplink.cmake 辅助文件纳入修改记录,支持恢复。
  • 辅助文件与用户文件重名时采用备用文件名。

环境要求与适用范围

  • 构建与烧录任务需要 CMake、Ninja、ARM GCC 和 OpenOCD 可执行程序,可通过环境检测、手动路径设置或自动修复完成配置。
  • 两个版本均内置 OpenOCD Target 及配套脚本。
  • 配置验证范围为软件构建与脚本解析;硬件烧录通过 VS Code“一键烧录(DAPLINK)”任务执行。

完整功能、工程转换支持范围及使用说明参见 项目文档。

STM32 工程助手 v1.5.0

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 02 Oct 11:46

工程兼容性更新

转换兼容性

  • 遗留包含目录缺失时保留配置并提示,避免未使用模块阻止生成;相同路径只提示一次。
  • CMSIS DSP:按 CPU/FPU 匹配工程内 ARM .lib 与 GCC .a,检查 ARM ELF 库容器并显式链接,保留库顺序;支持跨盘符外部库路径。
  • FreeRTOS:检查实际 GNU 语法及内核版本;支持 RVDS 目录中的 GNU 移植文件。需要替换时使用工程内同版本 GCC 移植层,并同步全局、组、文件级包含路径。
  • 修正文件级包含路径生成,兼容目录末尾斜杠和跨盘符配置。

转换诊断与处理建议

  • 转换弹窗分别显示必须补全的阻止项与普通提示。
  • 转换页面新增“编译问题与建议”,显示实际问题的位置、行号及修正方法。
  • 为标准整数类型重复声明、浮点 ABI、短 wchar_t/枚举与库不一致提供具体处理建议。实际编译通过后仍显示链接警告。
  • 保留原源码,写入前预览,配置可恢复;不自动改写业务源码、不调用 CubeMX、不连接硬件、不生成 PowerShell 文件。

软件验证

正常双向转换流程、实际 GCC/Keil 编译、DSP 符号链接、FreeRTOS 实际替换、跨盘库路径和说明弹窗已验证。真实 STM32H723 工程副本成功生成配置;业务头文件的重复标准整数声明统一为 <stdint.h> 后生成 ELF、HEX、BIN,短 wchar_t 链接警告仍需按接口情况核对。

复杂内存布局、多核目标、未知专用库仍会给出明确补全说明,不猜测兼容性。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 STM32ProjectHelper-portable-win-x64.exe 49.07 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 STM32ProjectHelper-lite-win-x64.exe 1.66 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

配置验证范围为软件构建与脚本校验。

STM32 工程助手 v1.4.1

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 02 Oct 07:58

版本概述

本版本将完整 OpenOCD Target 和配套依赖直接打包进 EXE。选择工程后按芯片识别结果自动填入对应 Target,无需查找本机脚本目录或下载 cfg。

更新内容

  • 内置完整 target 目录,含子目录共 361 个文件;连同 CMSIS-DAP、共享 Tcl 等依赖,完整脚本库共 1033 个文件,保留原始内容与版权说明。
  • 首次使用自动解压到应用用户缓存;按资源内容区分版本,验证每个文件的 SHA-256,缺失或改动的缓存可从 EXE 内恢复。
  • 芯片识别后直接使用内置脚本,环境摘要显示“内置 Target 配置已验证”。缺少 Target 不再触发本机搜索或工具包下载。
  • 重新检测、切换预设和确认芯片均保留手动指定的 Target。支持 STM32WBA 型号识别,WBA5 自动对应内置 stm32wbax.cfg。
  • 工具自动修复与内置脚本分开处理:CMake、Ninja、ARM GCC 或 OpenOCD 可执行工具缺失时仍可手动启动自动修复;停止下载保留已完成安装和用户工具选择。
  • 完整资源清单、原文件逐字节一致性、重复解压、实际 H7/WBA5 解析、正常窗口编译与任务配置流程均已验证。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 STM32ProjectHelper-portable-win-x64.exe 49.07 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 STM32ProjectHelper-lite-win-x64.exe 1.65 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

使用说明

  1. “工程配置”选择含 CMakeLists.txt 的工程,核对 STM32 型号;程序直接选择内置 Target。
  2. 展开配置详情可查看工具路径与内置脚本。“内置脚本 → 打开”显示解压目录。软件验证需要可运行的 OpenOCD 可执行程序。
  3. “配置并验证”实际编译、解析脚本并预览任务修改;确认后可在 VS Code 运行“一键编译”和“一键烧录(DAPLINK)”。

内置脚本缓存位于 %LOCALAPPDATA%\CMakeDapLink\OpenOcdScripts,不往用户工程复制 cfg。验证只检查软件,不连接探针、不确认芯片连通,也不烧录硬件。内置库尚无 H7R/S、WBA2/6 专用脚本时,会显示型号与缺失项,不能用其他系列代替。

完整使用方式见 README。应用同时支持 CubeMX MDK-ARM ↔ CMake 转换、环境管理、VS Code 构建与 DAPLink 烧录任务、源文件管理、修改预览和恢复。

STM32 工程助手 v1.3.0

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 02 Oct 06:53

版本概述

面向 STM32 开发的 Windows 桌面工具:CubeMX 工程转换、构建环境检测与安装、VS Code 一键编译和 DAPLink 烧录任务、源文件管理。

Keil MDK-ARM ↔ ARM GCC CMake 工程转换

  • 新增“工程转换”侧栏,支持 STM32CubeMX 生成的单核 STM32 MDK5(.uvprojx)与 ARM GCC CMake 工程。
  • 直接读取 .ioc、MDK 目标及 CMake File API;不安装、启动或调用 STM32CubeMX,不重新生成外设初始化源码。
  • 选择 MDK 工程与目标,或选择 CMake 预设、Debug/Release 与实际可执行目标。
  • 转换源文件、包含路径、宏、编译设置及受支持的标准启动代码和单 FLASH/单 RAM 链接布局,保留标准 RAM 函数放置和 C++ RTTI 选项。
  • 写入前显示文件差异,确认后记录备份,可从应用中恢复。
  • 按可用工具进行 GCC 或 Keil 编译验证;未执行编译时明确显示待验证状态。
  • 完成后可进入“工程配置”生成 VS Code 一键编译和一键烧录(DAPLINK)任务。
  • 复杂分区、多 RAM、双核或编译器专用依赖会列出具体位置与补全方法,不猜测内存地址或静默删除依赖。

应用名称与使用引导

  • 应用更名为“STM32 工程助手”,EXE 使用 STM32ProjectHelper 名称;继续读取原有工具设置、修改记录和旧版生成的任务。
  • README 增加中英文功能介绍、按需求选择入口的表格、支持范围、下载与操作指南。
  • 项目简介与 Topics 覆盖 STM32CubeMX、Keil MDK、CMake、VS Code、ARM GCC、OpenOCD、CMSIS-DAP 和 DAPLink。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 STM32ProjectHelper-portable-win-x64.exe 48.31 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 STM32ProjectHelper-lite-win-x64.exe 0.77 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

验证及适用范围

已完成 GCC/Keil 编译、RAM 函数地址检查及修改预览、恢复与结果反馈验证。应用验证范围为软件配置与构建。

相关技术

STM32CubeMX project converter · Keil uVision MDK5 · MDK-ARM to CMake · CMake to Keil · ARM GCC toolchain setup · VS Code build and flash tasks · CMSIS-DAP · DAPLink · OpenOCD · embedded firmware.

CMake · DAPLink 配置助手 v1.2.0

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 02 Oct 02:31

使用体验优化

  • 按钮增加悬停、按下、柔和键盘焦点和运行中动画,操作期间避免重复点击,禁用时说明原因。
  • 配置、编译、写入任务与文件复制按步骤显示当前进度和用时,详细日志默认收起。
  • 完成后保留结果卡,显示实际固件名称、路径、大小、时间和后续操作入口。
  • 常规结果使用页面内提示;修改预览、文件覆盖和恢复继续要求确认。
  • 未选择工程时,添加源文件与加入文件页面提供明确的选择入口。
  • 文件清单显示已引用、待加入、未选择和隐藏勾选数量;复制后可直接预选新文件,保留先前的源文件配置。
  • 切换工程或构建配置后清除旧成功状态,避免误用之前的固件结果。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 CMakeDapLink-portable-win-x64.exe 48.25 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 CMakeDapLink-lite-win-x64.exe 0.60 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

配置验证范围为软件构建与脚本校验。

CMake · DAPLink 配置助手 v1.1.1

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 01 Oct 13:07

修复固件选择与烧录任务

  • 通过 CMake File API 读取当前可执行目标的 ELF,排除构建目录中旧目标遗留的固件。
  • 按 Debug/Release 配置匹配固件,多个有效目标仍可由用户选择。
  • 无变化构建仍能识别有效固件,不依赖文件修改时间。
  • 软件配置验证通过后,烧录任务写入所选当前固件的路径。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 CMakeDapLink-portable-win-x64.exe 48.24 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 CMakeDapLink-lite-win-x64.exe 0.57 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

配置验证范围为软件构建与脚本校验。

CMake · DAPLink 配置助手 v1.1.0

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 01 Oct 12:02

新增功能

  • 工程识别:显示具体芯片及来源依据、候选冲突,选择配置预设和全部匹配的编译预设;支持 Debug/Release 和多个 ELF 固件选择。
  • 修改预览与恢复:写入任务或 CMake 配置前查看差异,保存可恢复记录;保留 JSONC 注释与用户任务,恢复前核对后续手动修改。
  • 构建诊断:整理 CMake、编译与链接问题的文件位置和处理建议,支持定位、复制和导出完整日志。
  • 源文件管理:目录树整组选取、展开/折叠、搜索及过滤,隐藏文件勾选保留;支持 C/C++、汇编及头文件,明确引用时避免重复添加。
  • 工具管理:自选安装目录、离线 ZIP 导入、版本清单及切换回退、手动查询并安装更新、下载大小/速度显示、缓存与未启用版本清理。

改进按钮自动尺寸和圆角输入框,工具下拉选择统一为界面样式。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 CMakeDapLink-portable-win-x64.exe 48.24 MiB Windows x64;内置 .NET 运行时;EXE 可直接运行
精简版 CMakeDapLink-lite-win-x64.exe 0.57 MiB Windows x64;需安装 .NET 9 Desktop Runtime;EXE 可直接运行

两个版本提供相同功能。

验证及适用范围

20 项正常软件检查及普通窗口流程通过,包含实际 C/C++/汇编 ARM 固件构建、修改预览/恢复、离线工具导入和版本切换。

仅检查软件环境和 OpenOCD 脚本,不检查硬件连接。复杂 CMake 条件、函数、include 或变量不能确定时会提示,需要核对差异。不生成 PowerShell 脚本,不保存最近工程。

CMake · DAPLink 配置助手 v1.0.0

Choose a tag to compare

@MYFSillyBa MYFSillyBa released this 01 Oct 03:04

初始版本功能

  • 选择或拖入 CMake 工程,识别 STM32 具体型号和 OpenOCD Target。
  • 检查 CMake、Ninja、ARM GCC、OpenOCD 和 CMSIS-DAP 配置,列出待补全项。
  • 自动下载并安装缺失工具到 D:\CMake_Tools,验证后补全路径,支持备用下载源。
  • 配置 VS Code“一键编译”和“一键烧录(DAPLINK)”任务;配置验证只编译和检查配置,不自动烧录硬件。
  • 逐项勾选工程文件夹中的 .c / .h 文件,加入 CMake 配置。
  • 创建工程文件夹并导入文件,同名文件夹确认是否追加,同名文件自动改名。
  • 使用蓝色芯片图标,工具路径与烧录设置可折叠。

下载与运行要求

版本 下载文件 文件大小 运行要求
便携版 CMakeDapLink-portable-win-x64.zip 43.05 MiB Windows x64;内置 .NET 运行时;解压后运行
精简版 CMakeDapLink-lite-win-x64.zip 0.18 MiB Windows x64;需安装 .NET 9 Desktop Runtime;解压后运行

两个版本提供相同功能。

验证

  • Release 配置构建通过,0 个警告、0 个错误。
  • 两个发布版本已在本机启动验证。
  • 压缩包中的 EXE 和许可证已与本地发布文件进行 SHA-256 比对。

源码采用 MIT 许可证。下载的第三方工具遵循各自许可证。