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芯片引以为傲的单核性能编译性能得被虚拟机打个折。

Arduino界面

现在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

image.png

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

image.png

image.png

macOS下载下来是个压缩包,解压后打开会出现类似windows安装那样的界面,一步一步走就行。但是安装完不要急着打开,有个大坑!!!!

注意:macOS安装完有大坑!!!

stm32cubemx安装的坑

注意最好装在大小写不敏感的磁盘上(系统盘默认就是不敏感的)

安装完后点击那个.app,是打不开的,会提示已损坏,千万别丢垃圾桶了

右键它,显示包内容
image.png

打开Contents,如果你是大小写敏感的磁盘,把MacOs改为MacOS

image.png

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

image.png

⌘C复制,然后回到上一级,进入MacOS,⌘⌥V剪切粘贴到MacOS下,重命名为STM32CubeMXimage.png

接下来点开STM32CubeMX.app就可以打开了

image.png

烧录软件

因为我手头没有正版stlink,只有powerlink,mac上没有上位机软件,只能通过串口烧录,没有好办法调试。

跟上面一样的,需要进入Contents,把MacOs改为MacOS,然后打开会报错,这时候打开设置,隐私和安全,滑到下面,仍要打开
image.png

如果大家是其他厂商的国产烧录器,就用对应的软件就行了。

VSCode配置

stm32插件

搜索stm32cubeide,第一个就是

image.png

同样的,dddd的原因,需要一些特殊手段才能顺利安装,因为过程中还要安装各种依赖环境。

在侧栏出现stm32图标就完成了

image.png

格式化工具

搜索clang-format,确保电脑安装了clang-format就行。windows需要安装llvm

AI

这里推荐codebuddy,trae插件有些bug。

然后把codebuddy的窗口拖到右边,就有那感觉了
image.png

开始第一个项目

至此环境一切准备就绪,开始编程吧

配置芯片

先关闭vscode,打开stm32cubemx,创建工程,第一次打开需要安装一些东西,依旧是dddd
image.png

file,然后new project,选择你的芯片,这里以stm32f103c8t6为例,搜它,双击对应芯片image.png

可以收藏起来,下次点击星星就有收藏的芯片了

接下来进入配置页面
image.png

这里我用的最小系统开发版,接了一颗LED,但是我已经放假回家了,开发版不在身边不演示了。

LED正极接在PA4,负极GND,点击芯片的PA4,然后设置为GPIO_Output

image.png

接下来进入System Core,点击GPIO,可以看到已经配置成功了

这里就不过多赘述时钟配置、GPIO模式了,我们不讲这些,讲环境配置用个最简单的demo就好

image.png

配置项目

来到Project Manager,设置项目路径(上一层目录,因为要在这里创建子文件夹)和名称,默认会帮你创建一个文件夹

关键地方在下面,要把toolchain设置为CMake,Compiler默认即可

image.png

Code generator勾上这个

image.png

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

image.png

image.png

vscode开发

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

image.png

弹窗,预设选择Debug

image.png

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

image.png

接下来就是正常开发了

点灯大师

Core/Src/main.c就是我们的主函数

写个小灯闪烁,这里我懒得动手,直接codebuddy

image.png

1
2
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_4);
HAL_Delay(1000);

注意,代码要加在带有User Code xxxxx的注释里面,不然CubeMX重新生成会覆盖

点击下面的生成
image.png

这样就编译好了elf文件

如果用的是正版stlink,可以来到运行和调试,选择stlink,就可以像开发软件那样打断点测试了

image.png

没有的话就用别的方式

库导入

由于cmake不会自动加库,自己新建的库文件必须手动配置一下,比如这里我随便写个点灯的库,在Lib/led

image.png

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

image.png

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

image.png

他不支持什么**,**/*.c这种通配符,代码文件可以这样

1
2
3
4
5
6
7
file(GLOB_RECURSE LIB_SOURCE "Lib/*c")

# Add sources to executable
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
# Add user sources here
${LIB_SOURCE}
)

这样Lib下所有.c的文件都匹配上了,注意每次新增文件都要去cmake里面⌘S一下刷新一下文件,不然问题依然存在。

保存一下,生成,就没有报错了
image.png

git

接下来就是大家最熟悉的东西了,五件套起手

1
2
3
4
5
git init
git remote add origin 你的仓库url
git add .
git commit -m "init"
git push -u origin HEAD:main

image.png

当然也可以用vscode的git插件功能完成

vscode那个插件帮我们配置了ignore,所以不用担心产物和缓存上传,但是mac要注意.DS_Store

Demo

这是Demo

arsrna/hardware/stm32-vsc-demo · Cloud Native Build

至此,整个开发环境就这么解决了,这下硬件开发也可以AI化了,vscode开源、免费,而且界面美观,高级,这才像现代开发的模样,有着丰富的编辑器生态,各种AI插件辅助,像我这样的硬件新手上手更快了,项目管理也能像软件那样方便快捷,这才是真正的future。未来能不能云原生硬件开发呢?毕竟现在用CNB只实现了硬件的仓库托管,期待一下。


STM32现代化AI开发指南-VSCode环境配置(macOS)
https://www.arirs.cn/posts/2649970/
作者
Ar-Sr-Na
发布于
2026年4月2日
许可协议