Skip to content

STM32CubeMX+官方VS code插件开发

代码: https://github.com/DuRuofu/STM32G070_VScode_Demo

一、准备工作

安装VS Code ,简单,略

安装STM32CubeMX,简单,略

安装STM32CubeIDE for Visual Studio Code插件:

插件安装误完成后右下角会弹出提示让安装插件的其他依赖,要点击确定,进行安装。

安装完成后如下:

二、使用STM32CubeMX新建工程

这里以STM32G070RBT6为例:

配置时钟源:

配置下载口:

配置LED引脚:

配置时钟树:

工程配置(生成Cmake工程):

点击生成代码,生成工程如下:

三、使用VS Code编译并烧录

准备

使用VS Code 打开工程文件夹:

选择Debug预设

按照插件提示,确认配置工程即可

然后写个点灯代码(有很好的代码提示):

编译

点击生成即可:

在CMake里还能看到程序占用:

调试与烧录

在调试与运行栏目里可以找到下载器,点击调试与运行即可进行下载

选择STlink:

下载好后就进入调试模式了:

点击运行就可以看到程序已经开始运行了,也可以添加断点,单步调试,查看寄存器和变量值

四、工程管理,添加新文件

这里我还是以点灯为例(下面信息含量较高,请仔细阅读和看图):

这里我模拟工程里常见的情况,自己有一个Users文件夹,里面有app.c 和app.h 和Components文件夹 ,Components文件夹里有我们写的通用组件

LED模块,led模块提供点灯函数,然后我们在app模块调用,最后再在main.c里初始化APP模块和调用APP任务,这是我们实际工程常见的结构:

可以看到到处都是红色报错,因为编译系统找不到我们的文件,需要在顶层的CMakeLists.txt文件里添加文件路径:

# 添加源文件到可执行文件
target_sources(${CMAKE_PROJECT_NAME} PRIVATE
    Users/app.c
    Users/Components/LED/led.c
    # Add user sources here
)

# 添加包含路径
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
    Users
    Users/Components/LED
    # Add user defined include paths
)

添加后就可以正常编译了:

五、其他

1.使用DAP下载器

参考: https://blog.csdn.net/v_for_van/article/details/150466953

参考

  1. https://www.bilibili.com/video/BV1QfbpzGENy
  2. https://zhuanlan.zhihu.com/p/1960719684203676625
  3. https://blog.csdn.net/weixin_62701327/article/details/131744874