GoDm@'s Blog

搭建WSL下STM32开发环境

版权信息

warning

本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


在Linux上搭建一个通用且灵活的嵌入式开发环境,最经典的组合是 VS Code + GCC交叉编译器 + CMake/Make + OpenOCD

但本文是在是在WSL环境下,并不是原生Linux环境,因此搭建略有不同。也可借此文章引申到搭建其他MCU运行环境,道理都是一样的。

其实在win下开发MCU还是很方便的,直接用 keil+STM32CubeMX 就可以,我之所以想在WSL下开发主要是为后续使用Linux做主力开发系统做准备。

这里只是简单记录一下流程,以防遗忘,并不是教程

1. 核心工具链

主要是交叉编译器,我们使用ARM Cortex-M 系列的通用交叉编译器:
Arm GNU Toolchain Downloads – Arm Developer

选择x86_64 Linux hosted cross toolchains 版本-
AArch32 bare-metal target (arm-none-eabi)工具链

下载到WSL然后解压缩,比如我下载的是 .tar.xz
就使用命令 tar -Jxvf 解压缩。
解压缩后的文件里有个bin文件夹——我是把这个文件夹软链接然后把软链接加入环境变量。

然后还有cmake,没安装要安装一下。

差不多就这些。

2. 安装烧录与调试工具

OpenOCD (Open On-Chip Debugger) 是开源嵌入式调试的“瑞士军刀”。它支持市面上几乎所有的仿真器(ST-Link, J-Link, DAPLink)和各种芯片架构。

由于WSL对usb的支持还不是很完善,无法直接物理访问 Windows 宿主机上的 USB 接口,还要用工具,就挺麻烦的,因此我就直接采用如下方案:

3. 配置 VS Code 及核心插件

VS Code 安装以下插件:

  1. C/C++ (Microsoft): 提供代码补全、跳转和基础解析。

  2. CMake Tools (Microsoft): 方便在底部状态栏直接配置和编译 CMake 项目。

  3. Cortex-Debug (marus25): 极其关键的插件。专门为 ARM Cortex-M 系列优化,支持直接在 VS Code 里查看外设寄存器 (Peripherals)、内存、反汇编代码以及 RTOS 的任务栈信息。

4. 项目的初始化

在初始化 STM32 的时钟树、引脚复用和生成外设 HAL 库时,STM32CubeMX 依然是最高效的工具。虽然WSL有WSLg,理论上支持Linux版的CubeMX,但是安装Linux版会有很多依赖也需要安装,所以我还是选择在Win下使用CubeMX。

  1. 去 ST 官网下载 Win 版的 STM32CubeMX 并安装。

  2. 在 CubeMX 中配置好芯片、时钟、引脚以及你要用的 RTOS(如果需要)。

  3. 关键步骤:在 Project Manager -> Project 选项卡中,将 Toolchain/IDE 设置为 CMake(较新版本的 CubeMX 支持)或 Makefile

  4. 点击 Generate Code。

5. 整合工作流

另请参见——使用openOCD进行调试-GoDm@'s blog

6. 总结

就是瞎折腾,WSL负责项目的编译和构建,相当于把keil替换为了WSL环境下的VSCODE,且。其他依然在Win环境下。唉 感觉 写了一篇废话


共计约899字。于2026/03/14首次发布,最后更新于2026/03/14。

本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

  1. 1. 核心工具链
  2. 2. 安装烧录与调试工具
  3. 3. 配置 VS Code 及核心插件
  4. 4. 项目的初始化
  5. 5. 整合工作流
  6. 6. 总结