[应用相关] Mac上使用VScode优雅开发STM32

[复制链接]
118|11
Zuocidian 发表于 2026-7-3 18:16 | 显示全部楼层 |阅读模式
要完成在MacOS上对STM32的开发,我们需要有以下几个软件,这几个软件都是免费且很好下载安装的,其中OpenOCD和ARM GNU Toolchain以及CMake在Mac上我们可以直接使用HomeBrew工具安装(什么!?你不知道HomeBrew???那请你移步这篇文章: Mac上HomeBrew安装及换源教程 - SkyXZ - 博客园 ),其他的软件大家可以直接自行去官网下载:

368046a44a28ddfa74.png

​ 安装完成后可以在终端输入如下命令测试,正常的话输出如图所示:

arm-none-eabi-gcc --version
cmake --version
openocd --version
二、VSCode开发环境配置
​ 我们首先打开VSCode,在拓展列表输入“STM32Cube”我们就可以找到一连串的扩展,但是这里我们不需要全部下载,只需要下载“STM32CubeIDE for Visual Studio Code ”插件即可,这一个插件可以理解为总成,下了这个插件其他的扩展包插件便会自动全部下载

867996a44a282a0a11.png

​ 可以看到扩展下载完之后,会自动安装stlink 的服务,因此我们也不需要额外安装STLink了

686776a44a27d45093.png

​ 当然,除此之外还有如下插件大家可以安装,对我们的开发非常有利,大家可以根据自己的需求下载

427916a44a2780b911.png

三、STM32工程配置
​ STM32CubeIDE for Visual Studio Code 可以使用自带的 Create empty project 创建工程,但是我依旧建议大家使用STM32CubeMX创建工程,同时我们在这个插件里可以看到系统以及安装的一些绑定包

151466a44a26c9d598.png

​ 我们打开STM32CubeMX 来创建一个新的STM32工程,点击下图红框部分我们即可从选择芯片开始创建一个工程,然后在项目管理页面选择Cmake-GCC即可创建代码了

831706a44a2680b935.png

731106a44a263deb31.png

862986a44a25d7c92c.png

​ 点击右上角的“Generate Code”生成模版代码之后,我们即可用VSCode打开这个项目进行HAL库的开发,打开之后我们的主要界面的功能如下图所示:

347976a44a258773c3.png

​ 之后我们点击编译按钮系统就会帮我们编译好代码啦

899866a44a24fa9c51.png

​ 这时候,如果你使用的是ST-Link,那么在VSCode的调试界面(如下图的位置),你就可以看到下载器并直接完成代码的烧录了,但是由于我们使用的是DapLink无线下载器,因此我们还需要进行额外的配置

122296a44a247969d6.png

​ 这时候我们之前下载的OpenOCD就派上用场了,DAPLink / CMSIS-DAP 走的是Arm的调试协议,我们前面已经使用HomeBrew成果安装了OpenOCD了,接下来我们可以在连上DapLink后在终端输入如下命令进行测试,如果能连上说明就没问题

openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg

870016a44a23f56cb6.png

————————————————
版权声明:本文为CSDN博主「无天法相」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/klx70r94t/article/details/162235856

公羊子丹 发表于 2026-7-7 10:35 | 显示全部楼层
Mac用brew装工具链经常出现权限报错,建议安装前先执行sudo chown改用户目录权限,不然arm-gcc、openocd装好也会提示找不到可执行文件,编译直接报错。
周半梅 发表于 2026-7-7 10:38 | 显示全部楼层
想问下楼主,这套VSCode插件方案能不能兼容STM32H7、WL这类新芯片?我试H7时Cube包自动下载失败,手动导入固件包还是识别异常。
帛灿灿 发表于 2026-7-7 10:38 | 显示全部楼层
终于不用在Mac虚拟机跑CubeIDE了!官方IDE又卡占内存又发热,VSCode轻量化搭配CMake,编译、单步调试流畅很多,续航都能多撑两小时。
童雨竹 发表于 2026-7-7 10:39 | 显示全部楼层
用CMSIS-DAP调试要注意USB权限,Mac插上DAP没识别,先去系统设置的安全性允许外设驱动,再重启VSCode和OpenOCD就能正常连接芯片。
万图 发表于 2026-7-7 10:40 | 显示全部楼层
CubeMX生成CMake工程时,建议关闭冗余中间文件生成,同时在VSCode添加.gitignore过滤build文件夹,提交代码不会带上几十兆编译缓存。
Wordsworth 发表于 2026-7-7 10:41 | 显示全部楼层
很多新手会混淆Make和CMake,直接选Makefile生成会和VSCode插件不兼容,一定要在CubeMX工程管理里选中CMake-GCC才能完整适配调试插件。
Bblythe 发表于 2026-7-7 10:42 | 显示全部楼层
ST-Link可以直接被插件自动识别,DAPLink必须手写openocd配置文件,我建议做两个launch.json,切换调试器不用反复修改配置节省时间。
Pulitzer 发表于 2026-7-7 10:43 | 显示全部楼层
Mac M系列芯片编译很慢,CMake配置里开启并行编译,添加-j8参数,同时关闭Cube实时内存分析,固件编译速度能提升一倍以上。
Uriah 发表于 2026-7-7 10:44 | 显示全部楼层
这套工程放到Windows电脑会不会兼容CMake文件?团队有Windows同事,担心Mac生成的工程拷贝过去编译路径报错,需要额外改配置吗?
Clyde011 发表于 2026-7-7 10:45 | 显示全部楼层
插件显示包更新失败时,先清空VSCode的cube缓存文件夹,再重新打开Bundle管理器下载,网络差的时候换手机热点能解决大部分下载超时问题。
SophiaOP 发表于 2026-7-8 13:09 | 显示全部楼层
CubeMX生成的工程在Windows上基本兼容,但要注意路径分隔符和文件系统权限问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

256

主题

641

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0