VS Code + STM32嵌入式开发环境配置指南:从零搭建高效AI编程工作流
2026/9/14 0:05:32 网站建设 项目流程

我得先说点题外话。上周帮一个刚转到嵌入式方向的兄弟搭开发环境,他用的还是大学老师钦定的那颗“赛博牛马”——某知名蓝色IDE。打开工程第一次全量编译,去倒杯水回来还没编完;代码补全偶尔会灵光一闪,但大部分时间像个谜语人;最要命的是,好不容把代码写出来了,想在旁边开个AI工具问两句,切窗口的瞬间都感觉在被系统嘲讽。

我说,兄弟,2025年了,咱们写STM32的,也该试试VS Code这套组合了。

今天这篇是整个“嵌入式软件AI编程”系列的第07篇,专门讲怎么把VS Code和STM32相关的扩展工具打磨成一个比传统IDE顺手得多的开发环境。文章面向正在用Keil MDK / IAR但想换个更现代、更有利于AI辅助编程的工作流的嵌入式开发者,也适合刚开始学STM32、想一步到位搭环境的初学者。看完你会弄明白:为什么选择VS Code、整套环境需要哪些组件、从0到1如何配置,以及我踩过的那些搜索记录里搜不到的坑。

1. 为什么我放弃了“魔法棒”,改用VS Code写STM32

1.1 传统IDE的痛点:不差,但真的憋屈

ST官方主推的STM32CubeIDE是Eclipse系的东西,免费、开箱即用,能编译能调试,稳定得没朋友。Keil MDK老树盘根,生态里各种国产MCU都在用。但这些传统IDE被吐槽最多的一点,恰恰是这个时代最不能忍的:太封闭。

哪怕你已经装了各种插件,能看到顶层目录结构和一堆代码仓库文件,但想要一个干净利落的代码导航、一个灵活的编辑体验、一个可以按自己想法随意修改的快捷键逻辑,依然很费劲。我见过不少工程师,在IDE里敲代码,补全全靠肌肉记忆;换个工程、换个芯片,光是配置编译链和下载器就得折腾半天。

更关键的是,现在AI编程工具(Copilot、Codex、Continue、Kimi等)绝大多数首先适配的是VS Code。你在传统IDE里想用AI辅助写代码,就像给老式诺基亚装微信,不是不能用,但体验完全不对。

1.2 为什么偏偏是VS Code + STM32扩展

VS Code不是IDE,它本质是一个编辑器。但它能成为嵌入式开发的主流选择之一,原因在于三点:第一,它足够轻,启动速度比Eclipse系的CubeIDE快一个量级;第二,它几乎无限可扩展,你要的代码补全、格式化、Git、AI辅助、串口监视、编译烧录都能靠插件实现;第三,它是Microsoft维护的开源项目,跨平台(Windows、Linux、macOS都能跑),配置文件是一个一个纯文本JSON,别人怎么配的、怎么调的,一眼就能看懂,方便版本管理,也方便你抄作业。

这套方案,配合上ARM官方的GCC工具链、OpenOCD调试器,以及ST官方的扩展,足够覆盖日常STM32开发:编辑、补全、编译、下载、断点调试、变量监视,一个不少。更不用说,底层的JSON配置方式让“AI编程”变成了一个非常自然的事——AI插件在读你的项目时,能更好地理解配置、结构、代码含义,配合程度比在老IDE里高好几个档次。

1.3 先搞清楚:哪些组件是不可缺少的

在正式动手之前,我建议你先建立一张“组件地图”,很多教程上来就让你装东西,装完也不知道为什么,出了问题也没头绪。实际上,一套可用的VS Code + STM32开发环境,由五层组成:

层级组件作用必装程度
编辑器VS Code本体代码编辑、窗口管理、扩展容器必装
语言支持C/C++扩展代码补全、语法高亮、调试支持必装
编译工具链arm-none-eabi-gcc / make / cmake把源码编译成芯片能跑的机器码必装
调试/烧录OpenOCD / ST-LINK驱动 / Cortex-Debug扩展下载程序、断点调试、寄存器查看强烈建议
AI编程插件GitHub Copilot / Codex / Continue等补全、解释代码、辅助排查错误强烈建议

这五层缺了谁都不完整。很多人只装了VS Code和C/C++扩展,就开始写main.c,结果编译的时候才发现没有工具链,或者装了工具链但不知道怎么调用,最后只能切回Keil,然后得出“VS Code不适合做嵌入式开发”的结论。实际上问题不在于工具,而在于只取了一粒沙,没见到整片海滩。

2. 安装VS Code本体:从官网下载到基础配置

2.1 官网下载:别装错了分支

访问VS Code官网(code.visualstudio.com),点开下载页面,你会看到两个版本:System Installer 和 User Installer。

简单说,System Installer是给机器里所有用户装的,User Installer只给当前用户装,不需要管理员权限。个人开发建议直接选System Installer(64位版),因为后面OpenOCD、驱动、环境变量这些都需要系统级的路径支持,装System版省去后续权限弹窗的麻烦。

下载之后一路下一步即可,有一个勾选项需要注意:“添加到PATH”(Add to PATH)。这一项一定要勾上。如果漏掉了,后续在终端里敲code命令打不开编辑器,还得手动配置环境变量,非常烦人。如果实在忘了,安装完成后手动把VS Code的bin目录(默认是C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\bin)添加到PATH环境变量中也能补救。

2.2 首轮设置:字体、缩进、编码

安装完成,打开VS Code,第一件事不是装扩展,而是把几个基础设置改好。按Ctrl+,打开设置,搜索以下三个关键词并调整:

  • files.autoGuessEncoding,勾选上,这能自动猜测文件编码,解决中文注释乱码问题;
  • editor.fontSize,推荐14或16,别用默认的12,长时间看代码眼睛累;
  • files.eol,推荐设置为\n(LF)。STM32工程里很多代码来自Linux服务器或Git仓库,默认改LF可以在跨平台时少很多无谓的diff。

如果这台电脑是你唯一的开发机,我还会顺手推荐安装两个“无关紧要但极大提升幸福感”的插件:Bracket Pair Colorizer(或VS Code内置的括号着色)和Material Icon Theme。前者让括号层级一目了然,后者让你在文件树里分清.c.h。虽然不是硬需求,但对嵌入式这种大型工程来说,项目缩略图和文件图标是减少视觉疲劳的有效武器。

2.3 快捷键基础:别再用鼠标点图标了

嵌入式工程师以前在Keil里习惯了用鼠标点“魔法棒”、“Target Options”,但VS Code的核心操作逻辑是键盘优先。有几个快捷键你最好第一天就背下来:

  • Ctrl+Shift+P(命令面板):几乎能用它触发所有功能,装完扩展后很多功能也是在这里面;
  • Ctrl+P:快速跳转到任意文件,按文件名搜索;
  • F5:启动调试,下面会讲到;
  • `Ctrl+``:打开/关闭集成终端,编译命令都是在终端里跑。

这三四个快捷键足够应付90%的日常操作了。等你习惯了这种交互方式,再回头看那个蓝色IDE,你会觉得整个人的开发节奏都被解救了。

3. 给VS Code装上“翅膀”:STM32开发扩展全家桶

3.1 扩展清单:哪些是核心,哪些是锦上添花

打开VS Code左侧的扩展市场图标(或Ctrl+Shift+X),搜索并安装下面这些扩展。我先给一张清单,装完再逐个讲为什么以及怎么配:

扩展名称发布者作用类型
C/C++Microsoft语法高亮、IntelliSense、调试支持必装
C/C++ Extension PackMicrosoft一组C/C++插件合集,含CMake、Makefile工具推荐
Cortex-Debugmarus25通过OpenOCD/ST-LINK进行ARM Cortex-M调试必装
STM32 VS Code ExtensionSTMicroelectronics官方插件,附注册、项目生成、存储查看等功能推荐
CMake ToolsMicrosoftCMake工程管理与构建推荐
Error Lensusernamehw把编译错误直接显示在代码行上,不用看终端强烈推荐
GitHub Copilot / Codex / Continue / Kimi等各家代码补全、AI对话按需装一个

这个清单不是一个“最多最全”,而是一个“恰好够用”的程度。很多人喜欢把扩展市场里所有跟STM32相关的插件全装上,结果界面被各种侧边栏塞满,性能也变差。我的建议是:“你当前正在用什么工作流,就装什么插件,别提前焦虑。”

3.2 C/C++扩展配置:让IntelliSense认识你的芯片头文件

装完C/C++扩展后,如果不做配置,你会发现它对你的工程一无所知——找不到stm32f1xx.h,没法补全HAL库函数,甚至会报一堆刺眼的红色波浪线。原因很简单:IntelliSense需要一个c_cpp_properties.json文件来告诉它编译器的路径、头文件路径和芯片相关的宏定义。

我建议用VS Code的命令面板来生成这个文件:

  1. 打开你的STM32工程根目录;
  2. Ctrl+Shift+P,输入C/C++: Edit Configurations (JSON)
  3. 选择后会生成一个.vscode/c_cpp_properties.json文件,里面关键项这样写(以STM32F103和HAL库为例):
{ "configurations": [ { "name": "STM32", "includePath": [ "${workspaceFolder}/**", "C:/STM32Cube_FW_F1_V1.8.4/Drivers/STM32F1xx_HAL_Driver/Inc", "C:/STM32Cube_FW_F1_V1.8.4/Drivers/CMSIS/Device/ST/STM32F1xx/Include", "C:/STM32Cube_FW_F1_V1.8.4/Drivers/CMSIS/Include" ], "defines": [ "STM32F103xE", "USE_HAL_DRIVER" ], "compilerPath": "C:/Program Files (x86)/Arm GNU Toolchain/bin/arm-none-eabi-gcc.exe", "cStandard": "c11", "intelliSenseMode": "gcc-arm" } ], "version": 4 }

这里面最难的部分是“defines”。你要根据自己用的芯片型号填对宏定义,比如STM32F407就写STM32F407xx,STM32F103ZE就写STM32F103xE,因为HAL库和CMSIS头文件是靠这些宏来选择功能的。如果这一项错了,即使includePath对,也会出现在某个头文件里分支选择错误的问题。

另外,compilerPath这一栏建议指向你的arm-none-eabi-gcc编译器的绝对路径。这是因为C/C++扩展需要借编译器来判断__GNUC__这些标准宏,从而正确解析代码。没有这个字段,你可能会遇到莫名其妙的“无法打开源文件”问题。

3.3 STM32专属扩展:别小看官方的力量

ST官方出的STM32 VS Code Extension这几年进步很大。安装后它会提供几个实用功能:STM32 Cube Project生成向导(需要配合STM32CubeMX)、寄存器查看、内存查看、以及一些调试辅助功能。但说实话,在不少场景下它的定位还是“锦上添花”,不是“雪中送炭”。

我更建议你把它当作一个“扩展储备”,装了以备不时之需。真正决定开发效率的,还是C/C++扩展的IntelliSense和Cortex-Debug的调试能力。如果你用的是STM32CubeCLI(ST官方新的命令行工具链),这个扩展也能帮你把CubeMX生成的工程直接导入到VS Code,路径会被自动识别,省去很多手动配置的功夫。

3.4 AI编程工具:是助手,不是主角

既然系列标题里带“AI编程”,这里必须展开说几句。安装AI插件的逻辑跟普通扩展不太一样,核心原则是:选一个能深度融入VS Code工作流的,而不是选一个功能最花哨的。因为嵌入式开发场景下,AI能帮的忙主要集中在三块:代码补全、代码解释、编译错误的排查。这三块都需要AI能够看到你的代码上下文、C/C++配置甚至编译输出。

目前我在日常工作中试过的几款主流选择:

  • GitHub Copilot:补全质量最稳定,对STM32 HAL库的这种“模式化代码”理解能力很强,写一个UART初始化的函数能顶很久;
  • OpenAI Codex(或接入Codex API的客户端插件):对话能力更强,你让它“解释这个freertos的tick钩子函数在干嘛”,它给的回复通常能让你不用翻参考手册;
  • Continue / Kimi 等国产或开源方案:优势是模型可选,有的支持本地化部署,有的能接入DeepSeek,适合有数据隐私要求但想省钱的团队。

我的建议是:如果你预算充足且不担心代码上传,直接装GitHub Copilot;如果不方便,先装Continue,它能接入多种模型的API,性价比高,也能满足需求。

注意:AI插件不是装了就能用,很多嵌入式工程需要“喂”给AI足够的上下文,它才能给你准确的建议。后期我会单独写一篇怎么把HAL库的源码路径和你自己的业务代码结合起来“提示词工程”,让AI理解项目。

4. 编译器与调试器:没有它们,VS Code只是个高级记事本

这一步非常关键,也最容易被人忽略。很多人在VS Code里写完了代码,点“运行”按钮,结果弹出来一堆错误,最后只能灰头土脸地回到Keil。原因就是:编辑器本身不编译代码,它只是个“组织者”,真正干活的“工人”是编译器、链接器、调试器。

4.1 安装ARM编译工具链:arm-none-eabi-gcc

STM32用的编译器是Arm官方提供的GNU工具链。访问Arm官网的“Arm GNU Toolchain”下载页面,选择当前版本,找到Windows (x86_64) hosted对应的.exe安装包。安装时有一步会问你要不要添加到PATH,务必勾选(或者记下安装路径,后面手动配)。

安装完成后打开CMD(或VS Code终端),输入:

arm-none-eabi-gcc --version

如果出现版本号,说明工具链装好了。我实测下来,版本12.3及以上都可以稳定使用,不需要追求最新版本,稳定最重要。

4.2 安装make和CMake(可选但推荐)

VS Code里的STM32工程,构建方式通常有两种:一种是直接用Makefile,另一种是CMake。CubeMX默认生成的是Makefile工程,所以你的Windows上需要有一个make工具。最省事的方式是安装一个集成包,比如xPack Windows Build Tools或者MSYS2,装完把make.exe所在的目录加到PATH。

如果你更习惯CMake,建议顺便安装CMake,并搭配上面的CMake Tools扩展使用。ST在最新的CubeMX版本里其实也可以直接生成CMakeLists.txt,彻底绕开Makefile。两种方式各有拥趸,我的建议是谁熟用谁,重要的是“工具链能被你控制”,别被工具牵着走。

4.3 安装OpenOCD与ST-Link驱动

调试烧录这块需要两个组件:一个是ST-Link的驱动,一个是OpenOCD调试器软件。

ST-Link驱动:如果你用的是最常见的ST-Link/V2(那些蓝色USB小棒子,或者是板载ST-Link的Nucleo/Discovery板),需要去ST官网下载ST-LINK USB driver,装上。这步不做,后面的OpenOCD连不上目标芯片。

OpenOCD:Windows下的OpenOCD安装包从开源项目的release页面下载(或通过xPack镜像)。下载解压后,你会得到一个bin目录,里面就是openocd.exe。将这个目录加入PATH。

验证一下是否成功,终端输入:

openocd --version

能看到版本号即可。OpenOCD本身是一个通过GDB Server协议把调试请求转发给调试探针的桥接工具,真正的GDB调试数据流是:VS Code(Cortex-Debug扩展)→ GDB Server(OpenOCD启动) → 调试探针(ST-Link) → 目标芯片(STM32)。理解这个链路对排查调试问题特别有帮助。

提示:调试器这个链路里,任何一个环节断了都会导致连接失败。排查时从下往上查:先看ST-Link有没有被识别(设备管理器里有ST-Link),再看OpenOCD能不能启动,最后才看VS Code里的launch.json。

5. 配置一个可编译、可烧录、可调试的STM32工程

5.1 先用CubeMX生成“地基”

如果你手上已经有一个成熟的ST官方工程目录,可以跳过这一小节。如果是从零开始,我还是推荐走一遍CubeMX:

  1. 打开STM32CubeMX,选择芯片型号(比如STM32F103C8)。
  2. 配置时钟、GPIO、USART等外设。
  3. 在Project Manager里,Toolchain选择Makefile(或者CMake,看你上面装了哪个)。
  4. 生成代码到某个目录。

这个目录里会有一个包含Core/IncCore/Src的工程结构,还有Makefile。这就是你VS Code工作的“地基”。

5.2 配置编译任务:tasks.json怎么写

打开VS Code,Ctrl+Shift+P,输入Tasks: Configure Default Build Task,选择Create tasks.json file from template, 再选Others。然后把整个文件替换成下面这段:

{ "version": "2.0.0", "tasks": [ { "label": "STM32 Build", "type": "shell", "command": "make", "args": [ "-j4" ], "options": { "cwd": "${workspaceFolder}" }, "group": { "kind": "build", "isDefault": true }, "problemMatcher": [ "$gcc" ] } ] }

这段配置的意思是:在工程根目录执行make -j4(四线程并行编译,明显比Keil那个单线程快),并把GCC的编译错误输出解析到VS Code的“问题面板”里。配合前面装的Error Lens,你能在代码行上直接看到红色波浪线标出编译错误,效率提升一大截。

-j4这个参数要根据你的CPU核心数微调。8核CPU用-j8也没问题,但老旧笔记本建议保守点,-j4或者-j2,避免风扇原地起飞甚至死机。

如果是CMake工程,tasks.json里相应改成调用cmake -B build && cmake --build build,本质一样,不赘述。

5.3 配置调试和烧录:launch.json才是重头戏

烧录和断点调试靠的是Cortex-Debug扩展。点击左侧的“运行和调试”图标,创建一个launch.json,核心配置参考如下(以ST-Link + STM32F103为例):

{ "version": "0.2.0", "configurations": [ { "name": "STM32 Debug (OpenOCD)", "cwd": "${workspaceFolder}", "executable": "./build/ProjectName.elf", "request": "launch", "type": "cortex-debug", "servertype": "openocd", "gdbPath": "C:/Program Files (x86)/Arm GNU Toolchain/bin/arm-none-eabi-gdb.exe", "configFiles": [ "interface/stlink.cfg", "target/stm32f1x.cfg" ], "svdFile": "C:/STM32Cube_FW_F1_V1.8.4/Drivers/CMSIS/SVD/STM32F103xx.svd" } ] }

executable指向编译出的ELF文件路径,注意是.elf不是.hex,因为GDB需要ELF里的调试符号信息。

configFiles是OpenOCD的板卡/内核配置文件,interface/stlink.cfg告诉OpenOCD用哪种调试探针,target/stm32f1x.cfg告诉它目标芯片是哪一族的。这两行是最容易出错的,如果你的芯片是F4系列,第二行就改成target/stm32f4x.cfg,其他系列同理。

svdFile是CMSIS的SVD描述文件,填上之后你可以在调试时直接在VS Code的“外设”窗口里看到寄存器们的实时值,不用再去开CubeIDE或者看Reference Manual,非常爽。

配置完成后,按F5,如果一切正常,OpenOCD会在终端窗口启动,GDB连接成功,程序会停在main函数的入口处。这时候你就可以像在Keil里一样,打断点、单步、看变量、看寄存器了。实测下来,Cortex-Debug的UI交互比某些传统IDE还顺滑。

5.4 验证全流程:眨眼LED,最朴素的仪式感

不管什么嵌入式工程,老规矩,第一个程序一定是点灯。在main.c里初始化GPIO后,让某个LED以500ms为周期闪烁。

编译:Ctrl+Shift+B(或直接终端make),看到生成 .elf生成 .hex就没有问题。 烧录:按F5,调试验证通过后,程序已经烧录进去并停在main入口,此时如果LED在闪烁,证明整个链路是通的。

这套全流程走通,你就具备了用VS Code进行STM32开发的基本能力。之后的任何踩坑基本上都跟这个流程里的某个环节有关,不再是“不知道从哪下手”的状态。

6. 常见问题与排查技巧实录

6.1 编译报错:找不到头文件

现象:编译时GCC报错,诸如fatal error: stm32f1xx_hal.h: No such file or directory。但VS Code的IntelliSense(红波浪线)可能一切正常。

原因:IntelliSense用的c_cpp_properties.json跟GCC用的Makefile是两套独立体系。GCC编译时依赖于Makefile里的C_INCLUDES变量。CubeMX生成的Makefile通常已经写好了,但是如果你手动改过工程结构、或者把工程移动过位置,Makefile里的相对路径就会失效。

排查步骤:

  1. 打开工程根目录的Makefile,搜C_INCLUDES
  2. 检查里面的路径是否存在。通常长这样:-ICore/Inc -IDrivers/STM32F1xx_HAL_Driver/Inc ...
  3. 如果路径缺失,补齐后重新make

我的习惯是:能改Makefile就不改代码,能改配置就不动源码结构,这样出错概率最低。

6.2 按F5无法连接调试器

现象:Cortex-Debug启动后,终端报错Error: open failedCan't connect to target

排查思路从“下”往“上”查物理链路:

  • 先确认ST-Link是否被电脑识别。打开“设备管理器”,看通用串行总线设备里有没有STM32 STLink设备。如果这里都没有,大概率是驱动问题或USB线只供电不传数据(我踩过最蠢的坑是换了一根type-C充电线,结果读写全断);
  • 确认ST-Link连接正确。3.3V、GND、SWDIO、SWCLK这四根线,或者你是Nucleo开发板自带的板载ST-Link,不需要外部供电,直接插USB就能调试;
  • 确认launch.json里的configFiles路径是否和OpenOCD版本匹配。新版OpenOCD的config文件目录结构可能有变化,例如interface/stlink.cfg可能需要改成interface/stlink.cfg,有的版本则推荐interface/stlink.cfg替代旧版interface/stlink-v2.cfg里的某些设置,具体看你的OpenOCD版本;
  • 最后,确认你的目标芯片是否处于“锁死”状态。有些情况下,芯片Flash里的程序跑飞了或读保护开启,OpenOCD也连不上。这时可以用“按住复位键 + 启动连接 + 松开复位键”的老办法,或者用ST官方CubeProgrammer先把读保护关掉。

6.3 AI补全好像失灵了,怎么回事

现象:装了Copilot或Continue之类的AI插件,在写代码时却完全不弹补全,偶尔弹出来了也跟STM32无关。

原因:AI插件通常依赖你当前打开文件的语言类型,以及所在文件在它索引的“项目”中的上下文信息。如果是C/C++文件但没加载C/C++扩展的IntelliSense,AI插件可能直接罢工——因为它的很多信号是从IntelliSense里拿的。

另外,AI插件需要你在VS Code设置里明确开启。以GitHub Copilot为例,看到右下角有个小图标显示Copilot的状态;如果在公司内网环境里无法连接服务,也会静默失败。建议先检查账户状态和网络,再检查扩展是否对当前语言启用了。

经验:我用AI插件辅助STM32开发时,最顺手的用法不是“让AI写一大段代码”,而是在写完一个初始化函数或者某个外设配置块之后,选中这段代码,让它“解释这段代码在干什么”、“帮我检查配置的寄存器是否正确”。这种方式出错率低,且你能学到东西。AI是搭档,不是神仙。

6.4 常见问题速查表

症状可能原因解决方案
IntelliSense找不到头文件c_cpp_properties.json的includePath不完整检查并补充头文件路径
编译报错“No such file”Makefile的C_INCLUDES路径失效检查Makefile相对路径
终端make不是内部或外部命令make不在PATH中安装build tools并加入PATH
F5调试连接失败ST-Link驱动未装/接线错误/OpenOCD配置不对先查设备管理器,再查OpenOCD配置
程序烧录了但不运行复位电路/晶振问题/程序跑飞检查硬件,或单步调试定位
AI插件不补全未登录/网络问题/未启用检查账户状态、网络、设置

6.5 你大概率会踩的“最后一个坑”:文件编码

很多从Keil环境转过来的工程,源码文件默认是GB2312或GBK编码。VS Code默认按UTF-8打开,于是注释里全是乱码,本来好好的代码,看起来像被人拿乱码洗过一遍。解决办法是在VS Code设置里搜files.encoding,改成gbk,或者更推荐的做法:统一用VS Code把所有源文件转成UTF-8(右下角编码信息那里点一下就能改)。这样一来,AI插件读代码时也不容易产生理解偏差,尤其是涉及中文注释的时候。

虽然我刚才讲了很多配置细节和排坑技巧,但说句掏心窝的话:把环境搭好只是长征第一步。VS Code + STM32 这套组合真正的红利,是在后面日复一日的调试、验证、重构中慢慢体现出来的。它不会像某些IDE那样替你隐藏一堆细节,而是把所有配置文件摊在你面前——这种做法一开始可能让你觉得“怎么这么多东西要配”,可一旦你理解了这五层结构(VS Code → C/C++扩展 → 工具链 → 调试链路 → AI插件),你获得的确定性是这位“赛博牛马”永远给不了你的。

在实际开发中,我还建议你从今天开始,把每个工程的.vscode目录随代码一起提交到Git仓库里。这样换电脑、换队友,一条git clone下来就能复现开发环境。我自己带的小团队现在就是这么干的,新成员入职从装环境到跑通点灯,快的半天,慢的一天,几乎没有因为环境问题卡过壳。

后面在这个系列里,我还会接着聊聊怎么用AI插件去啃HAL库源码、怎么写更有效的提示词让AI理解你的硬件状态机、以及怎么把VS Code里的编译错误“喂”给AI让它帮你定位。今天就先到这儿,动手装一个试试吧。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询