STM32现代化AI开发指南-VSCode环境配置(macOS)
本文最后更新于:2026年4月4日 下午
前情提要
2026年了,前端用AI,后端用AI,而且软件开发这边一个比一个厉害,今天还是代码补全,明天就是聊天写代码,后天就是从环境配置到部署一气呵成贼牛逼。而且软件这边一个比一个现代,JetBrains全家桶,vscode,trae,codeserver(云原生开发)各种现代工具功能多到专门出一本书介绍他都得来个上下册,但是来到硬件这边…
我是从2021年开始接触硬件编程的,用的第一个软件是arduino,开发esp12用的;然后是keil5,这个如果玩嵌入式的肯定不陌生,也肯定听过一首歌

以stm32的开发为例,直到今天,我接触到的身边做硬件的朋友,以及去网上找一些教程,大部分还是keil5,它好就好在支持很多芯片,调试功能也很厉害,可惜需要点手段(听一下音乐)来获得「学习版」。而且它的界面实在是一言难尽,arduino虽然现代一些,但也不像vscode intellicense那么智能,代码补全总差点意思,而且也不集成git代码管理,实在不适合我这种软转硬的小白做项目。再再再再加上,我用的是macOS,本身就没有keil,苹果M芯片引以为傲的单核性能编译性能得被虚拟机打个折。

现在AI时代了,硬件怎么能落后呢。
vscode这么强大,格式化代码,智能提示,AI补全,引用定位什么的都很方便,而且免费,开源,再加上AI生态加持,硬件也怎么能少了它。
电脑介绍
因为我用的是mac做开发,接下来的教程偏向macOS的配置,windows一样的,只不过安装可能麻烦一些。
电脑是MacBook Air M4,所以都是基于arm配置的软件
软件工具链
软件依赖
- Home-brew macOS安装一些软件依赖
- CMake/ninja 编译代码
- git 代码版本管理
- vscode 主角,代码编辑器(只能vscode,trae、cursor这些里面的插件不兼容)
- Clang-format 代码格式化
STM32依赖
- STM32CubeMX 用于配置芯片引脚和功能
- STLink Utility/STM32 Programmer/你的什么国产进口高端Link的烧录软件 用来写入程序
安装
注意,由于懂的都懂的原因,以下所有方式安装都需要特殊手段,全局,tun模式最佳
brew(mac):运行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
VSCode:Visual Studio Code - The open source AI code editor | Your home for multi-agent development
CMake、ninja:mac直接运行brew install cmake ninja,windows百度一下
Git:mac直接运行brew install git
clang-format:直接运行brew install clang-format
stm32cubemx、烧录软件:见下文
stm32类软件安装
stm32cubemx
下载链接:STM32CubeMX | Software - STMicroelectronics
到页面下方,找到对应的系统下载,注意,mx2只有C5系列芯片可以用,其他的下载mx

下载需要登录账号,可以直接注册一个,或者网上找一个,注册不复杂


macOS下载下来是个压缩包,解压后打开会出现类似windows安装那样的界面,一步一步走就行。但是安装完不要急着打开,有个大坑!!!!
注意:macOS安装完有大坑!!!
stm32cubemx安装的坑
注意最好装在大小写不敏感的磁盘上(系统盘默认就是不敏感的)
安装完后点击那个.app,是打不开的,会提示已损坏,千万别丢垃圾桶了
右键它,显示包内容
打开Contents,如果你是大小写敏感的磁盘,把MacOs改为MacOS

然后进入Resources,右键STM32CubeMX,制作替身,也就是软连接

⌘C复制,然后回到上一级,进入MacOS,⌘⌥V剪切粘贴到MacOS下,重命名为STM32CubeMX
接下来点开STM32CubeMX.app就可以打开了

烧录软件
因为我手头没有正版stlink,只有powerlink,mac上没有上位机软件,只能通过串口烧录,没有好办法调试。
跟上面一样的,需要进入Contents,把MacOs改为MacOS,然后打开会报错,这时候打开设置,隐私和安全,滑到下面,仍要打开
如果大家是其他厂商的国产烧录器,就用对应的软件就行了。
VSCode配置
stm32插件
搜索stm32cubeide,第一个就是

同样的,dddd的原因,需要一些特殊手段才能顺利安装,因为过程中还要安装各种依赖环境。
在侧栏出现stm32图标就完成了

格式化工具
搜索clang-format,确保电脑安装了clang-format就行。windows需要安装llvm
AI
这里推荐codebuddy,trae插件有些bug。
然后把codebuddy的窗口拖到右边,就有那感觉了
开始第一个项目
至此环境一切准备就绪,开始编程吧
配置芯片
先关闭vscode,打开stm32cubemx,创建工程,第一次打开需要安装一些东西,依旧是dddd
file,然后new project,选择你的芯片,这里以stm32f103c8t6为例,搜它,双击对应芯片
可以收藏起来,下次点击星星就有收藏的芯片了
接下来进入配置页面
这里我用的最小系统开发版,接了一颗LED,但是我已经放假回家了,开发版不在身边不演示了。
LED正极接在PA4,负极GND,点击芯片的PA4,然后设置为GPIO_Output

接下来进入System Core,点击GPIO,可以看到已经配置成功了
这里就不过多赘述时钟配置、GPIO模式了,我们不讲这些,讲环境配置用个最简单的demo就好

配置项目
来到Project Manager,设置项目路径(上一层目录,因为要在这里创建子文件夹)和名称,默认会帮你创建一个文件夹
关键地方在下面,要把toolchain设置为CMake,Compiler默认即可

Code generator勾上这个

然后点击右上角Generate Code,就生成了工程


vscode开发
打开vscode,打开刚刚生成的文件夹,这里会提示巴拉巴拉stm32巴拉巴拉,意思是自动配置cmake,Yes即可

弹窗,预设选择Debug

如果点了别的,弹窗没了,就到cmake侧栏,点一下这个

接下来就是正常开发了
点灯大师
在Core/Src/main.c就是我们的主函数
写个小灯闪烁,这里我懒得动手,直接codebuddy

1 | |
注意,代码要加在带有User Code xxxxx的注释里面,不然CubeMX重新生成会覆盖
点击下面的生成
这样就编译好了elf文件
如果用的是正版stlink,可以来到运行和调试,选择stlink,就可以像开发软件那样打断点测试了

没有的话就用别的方式
库导入
由于cmake不会自动加库,自己新建的库文件必须手动配置一下,比如这里我随便写个点灯的库,在Lib/led下

在主函数导入,会发现报错

打开根目录的CMakeList.txt,这么写入

他不支持什么**,**/*.c这种通配符,代码文件可以这样
1 | |
这样Lib下所有.c的文件都匹配上了,注意每次新增文件都要去cmake里面⌘S一下刷新一下文件,不然问题依然存在。
保存一下,生成,就没有报错了
git
接下来就是大家最熟悉的东西了,五件套起手
1 | |

当然也可以用vscode的git插件功能完成
vscode那个插件帮我们配置了ignore,所以不用担心产物和缓存上传,但是mac要注意.DS_Store
Demo
这是Demo
arsrna/hardware/stm32-vsc-demo · Cloud Native Build
至此,整个开发环境就这么解决了,这下硬件开发也可以AI化了,vscode开源、免费,而且界面美观,高级,这才像现代开发的模样,有着丰富的编辑器生态,各种AI插件辅助,像我这样的硬件新手上手更快了,项目管理也能像软件那样方便快捷,这才是真正的future。未来能不能云原生硬件开发呢?毕竟现在用CNB只实现了硬件的仓库托管,期待一下。