告别 Keil:在 VSCode 或 CLion 中搭建高效的 STM32 开发环境
好马配好鞍,好的开发者当然要配好的开发工具啦
一、使用 VSCode 开发
博主曾经就是在 VSCode 上进行 STM32 开发的,使用 VSCode 最主要的优势就是轻量且有足够的可自定义空间,可以根据不同的开发环境配置不同的类 IDE 环境,并且非常适合进行远程开发。官方提供了对 AMD64 架构的处理器的支持,对于 ARM 架构的处理器需要另辟蹊径,将在文末详细讲解。
1. 安装 STM32CubeCLT 和 STM32CubeMX
安装过程没有什么可以讲的,按照官方的指引进行安装 STM32CubeCLT 和 STM32CubeMX 即可,但是需要注意的是,官方只提供了 AMD64 架构的处理器的支持
2. 导入 VSCode 配置文件
下载我自用的配置文件:
git clone https://gist.github.com/32627b7d79eb2d3a6a4c8d15838e81ad.git
cd .\32627b7d79eb2d3a6a4c8d15838e81ad\
mv '.\STM32 Project' '.\STM32 Project.code-profile'
在 VSCode 中导入已下载配置文件:


最后按照 VSCode 提示安装缺失的拓展即可,在 settings.json 中配置 STM32CubeMX 和 STM32CubeCLT 路径,具体配置类似以下内容:
"STM32VSCodeExtension.cubeCLT.path": "c:\\ST\\STM32CubeCLT_1.18.0",
"STM32VSCodeExtension.projectCreator.executablePath": "c:\\Program Files\\STMicroelectronics\\STM32Cube\\STM32CubeMX\\STM32CubeMX.exe"
二、使用 VSCode 远程开发(ARM64)
1. 安装必要的软件包
sudo apt update && sudo apt install -y \
build-essential cmake ninja-build \
llvm clangd clang clang-format gdb \
lld lldb libc-dev cppcheck \
gcc-arm-none-eabi binutils-arm-none-eabi \
gdb-multiarch openocd stm32flash stlink-tools
2. 导入 VSCode 配置文件
导入操作类似于 1.2 的操作:
git clone https://gist.github.com/fed93dbda022b6f817347fd4d68842f6.git
cd .\fed93dbda022b6f817347fd4d68842f6\
mv '.\STM32 Project (Remote)' '.\STM32 Project (Remote).code-profile'
最后使用 Cortex-Debug 插件进行调试,实现类似 AMD64 架构的开发体验
三、使用 CLion 开发
随着 CLion 宣布转为免费,CLion 成为越来越多开发者的选择,博主也是在后面转为使用 CLion 进行开发,CLion 的配置也非常简单:
1. 安装 STM32CubeMX 软件
下载你的系统对应版本的 STM32CubeMX 软件,并且按照提示进行安装即可
2. 编译安装 OpenOCD
- 安装 MSYS2 搭建编译环境,并安装 OpenOCD 编译所必需的软件包:
pacman -Syu && pacman -S base-devel git mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-libtool mingw-w64-x86_64-pkg-config mingw-w64-x86_64-autotools autoconf automake texinfo pkg-config mingw-w64-x86_64-libjaylink --noconfirm
- 首先打开 MSYS2 MinGW,然后获取 OpenOCD 源码:
git clone https://github.com/openocd-org/openocd.git && cd openocd && git submodule init && git submodule update
- 编译 OpenOCD,编译好的可执行文件在
src目录下:
./bootstrap
./configure --host=x86_64-w64-mingw32 --enable-ftdi --enable-jlink --enable-stlink --disable-shared --enable-internal-jimtcl
make -j$(nproc)
或者可以使用我已经构建好的可执行文件:百度网盘
3. 配置 CLion 设置
配置 STM32CubeMX 和 OpenOCD 的安装路径:

配置 STM32CubeMX 和 OpenOCD 的安装路径
四、后记
CLion 和 VSCode 各自有各自的优势,CLion 简单、全面,但是可定制化程度低,VSCode 轻量、高度可定制,但是配置繁琐且有学习门槛,大家根据自己的实际情况进行选择。IDE 只是一个工具,不必纠结太多,写出一段好代码才是最重要的。后续我也将写一些 STM32 的函数文档供大家参考。