VSCode搭建STM32开发调试环境

闲言碎语:

好久没更,在忙着科研→校招→写毕业论文。

临近毕业,总结自己的大学生活:C\C++、Java、Python、深度学习,学的乱七八糟

秋招找了个嵌入式工作(涉及AI应用),大致确定了以后的技术方向了,应该不会继续乱学了。

先搭个环境学起来。

目录

VSCode 配置

安装Embedded IDE插件

新建项目

中途vscode提示安装的东西(gcc等)都装上。

添加芯片支持包

芯片支持包 | Embedded IDE For VSCode

可以进行在线下载,也可以本地导入。实际根据具体芯片选择。

检查库函数头文件是否被引入

stm32f10x_conf.h用于统一管理外设库函数头文件的引入。通过注释或取消注释宏定义,控制项目中需要使用的硬件外设模块(如 ADC、SPI、USART 等)。

stm32f10x.h中规定只有编译器添加了USE_STDPERIPH_DRIVER预处理宏定义,才能启动该头文件

因此需要在项目配置中添加预处理宏定义(EIDE默认配好了)

烧录器配置(以STLink为例)

安装STLink驱动

懒人方法:

  1. 安装Keil MDP
  2. 电脑插入STLink
  3. 运行安装程序:{Keil MDP目录}\ARM\STLink\USBDriver\dpinst_amd64.exe
  4. 项目中配置

在项目中添加自定义文件夹

  1. 在工程目录中新建文件夹(略)
  2. 项目资源C/C++属性→包含目录中添加新建的文件夹

调试设置(以STLink为例)

参考:https://www.jianshu.com/p/83f1f3a5e876

安装cortex-debug插件

安装MingW64(可选?)

如果安装ST-LINK GDB server时是直接使用编译好的压缩包,那么MingW64可能不是必要的。

{MingW64根目录}\bin加入到环境变量。

安装arm-none-eabi-gcc

Downloads | GNU Arm Embedded Toolchain Downloads -- Arm Developer

添加环境变量

plain 复制代码
D:\GNU Arm Embedded Toolchain\10 2021.10\bin

这里直接下载编译好的压缩包

https://github.com/stlink-org/stlink/releases

解压到任意位置(以D盘为例)

检查bin文件夹有没有libusb-1.0.dll文件,如果没有,从https://www.dllme.com/dll/files/libusb-1_0下载

配置项目中的launch.json

json 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "cwd": "${workspaceRoot}",
      "type": "cortex-debug",
      "request": "launch",
      "name": "stlink",
      "servertype": "stutil",
      "serverpath": "D:\\stlink-1.8.0-win32\\bin\\st-util.exe",
      "executable": ".\\build\\Debug\\4-1-monitor.elf",
      "v1": false,
      "runToEntryPoint": "main",
      "svdFile": ".\\.pack\\Keil\\STM32F1xx_DFP.2.2.0\\SVD\\STM32F103xx.svd",
      "configFiles": [
        "interface/<debugger-type>.cfg",
        "target/<mcu-series>.cfg"
      ]
    }
  ]
}

其中executablesvdFile的值需要根据实际项目名称和芯片名称修改。

调试效果

先进行构建,然后打个断点调试,效果如下

相关推荐
十月的皮皮1 小时前
STM32从零到量产开发:四路继电器工业控制模块开发原理小灶 · 合集
stm32·单片机·嵌入式硬件·stm32cubemx·hal库
小羊先生car2 小时前
F429-SysTick(2026/7/22)
stm32·单片机·嵌入式硬件
游戏开发爱好者83 小时前
iOS开发IDE有哪些 Xcode 和 快蝎 轻量替代方案
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
张太行_3 小时前
vscode在open folder如何设置默认路径
ide·vscode·编辑器
华清远见IT开放实验室17 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
AI的探索之旅19 小时前
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
人工智能·vscode·嵌入式硬件
GeekArch19 小时前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
Freedom_my20 小时前
STM32项目3
stm32·单片机·嵌入式硬件
qq_4523962321 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
可视化运维管理爱好者1 天前
nVisual Studio:数据中心网络智能规划设计工具
网络·ide·visual studio