STM32Cube +VSCode开发环境搭建


0.前言

  工欲善其事,必先利其器。由于受够了eclipse风格的cubeide,直接用vscode打开工程目录又是一大堆波浪线,所以终于下定决心整整我的开发环境。

一、各种方式对比

  stm32开发环境有很多方式,由于一些原因,这里就不使用keil+vscode方式进行介绍了,相关教程各大论坛也有不少,这里就介绍一下我踩坑的几种。环境搭建的宗旨是简单,尽量减少自己修改配置文件等繁琐步骤。

1.STM32CubeMX + CLion

  Clion作为比较现代化风格的IDE工具,并且支持像vscode风格的插件,用起来还是比较舒适的,不过缺点就是调试只能用openocd,这种方式需要加载芯片相关的cfg文件和寄存器映射表,所以搭建环境时还是比较麻烦的。笔者最终没有使用这种方式,因为所使用的STM32F103RCT6找不到对应的cfg文件和寄存器映射表文件,又懒得自己照着手册写。如果有想用这种方式的可以移步B站@Kevin_WWW大佬的相关视频。
注:这种方式最好使用官方能找得到芯片cfg文件的开发板,否则自己手动配置起来比较麻烦。

2.STM32CubeIDE + VSCode + STM32 VSCode Extension

  ST官方出了一个VSCode的相关插件,使用此插件可以直接打开对应的工程,支持编译下载和调试功能,本节内容主要也是以此方式介绍。
注:使用此方式前最好先在CubeIDE中查看自己的ST-Link是否满足要求,有些国产ST-Link过不了IDE检测,就无法正常烧录和调试。

3.VSCode + EIDE插件

由于笔者的两个ST-Link都无法过检测,又不想再花钱买新的,所以最终选择使用EIDE这种方式,使用起来甚至比第二种还要方便一点,相关教程可以移步同站@怠呆 大佬的《Windows VS Code + EIDE arm-none-eabi-gcc 开发STM32》。

二、STM32CubeIDE + VSCode + STM32 VSCode Extension环境搭建

1.需要安装的软件

① STM32CubeIDE
② VSCode
③ cmake
④ STM32 VSCode Extension(vscode插件)
  ①和②的安装就不多介绍了,官网下载后安装就行。STM32CubeIDE建议安装在默认路径下,可以省去后续配置麻烦。更换了目录也行,笔者就是更换了目录后重新配置的,后续会介绍。
  ③ cmake的安装可以从官网下载安装包直接安装(记得勾选添加到环境变量,后续会更方便),也可以下载免安装.zip格式的文件。不想添加环境变量的话后续就要在VSCode中配置,看个人喜好。

2.相关配置

在vscode中安装STM32 VSCode Extension 插件,添加后左侧会出现如下标志,并且此插件会安装cmake、Cotex-Debug等其他需要依赖的插件。
在这里插入图片描述
添加cmake工具路径:
如果安装cmake时没有添加到环境变量,或者只下载了工具压缩包,那么就需要在vscode中指定相关路径。在vscode中使用ctrl + shift + P,搜索cmakepath,将相关路径添加即可:
在这里插入图片描述
配置STM32CubeIDE工具链:
在左侧STM32插件中导入一个CubeIDE生成的工程,然后修改如下文件:
注:如果STM32CubeIDE安装在默认路径下,应该不需要修改此路径,请以实际情况为准
在这里插入图片描述
将launch.json中这四项参数修改到CubeIDE安装目录下的对应路径。
.cmake 文件中一项参数也需要修改:
在这里插入图片描述
此项是用来加载交叉编译工具的,使用CubeIDE包内自带的交叉编译工具链即可。

3.编译测试

修改完这些参数正常情况应该就可以编译了,不过烧录和debug就需要自行解决了,由于ST-Link 的问题,尝试了很多种绕过检测的办法都没有奏效,感兴趣的可以参考此篇文章进行尝试:https://github.com/armink/HackSTLinkUpgrade .经过笔者尝试,应该只有1 和 3有尝试空间了。
在这里插入图片描述
点击左侧cmake工具中的构建按钮就可以编译工程了。左侧的运行按钮中可以对程序进行debug操作,这里就不演示了,有需求的可以自行研究。
在这里插入图片描述

三、总结

  官方的工具和插件虽然用起来方便快捷,但是捆绑st-link的情况比较严重,使用Jlink或者DAPLink的只能用openocd这种方式,加载芯片cfg文件和寄存器映射表也比较麻烦,不能做到每次都方便快捷的开始。Keil和IAR工具的界面一言难尽,所以只能寄希望于一些第三方平台的优化了,在此期间笔者还接触到PlatformIO的开发方式,可以直接兼容C++的类库及面向对象的编程模式,感兴趣的可以继续了解,笔者就先停在EIDE的开发方式了。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 为了搭建VSCode STM32开发环境,你需要安装一些必要的扩展和工具,如: 1.C/C++扩展:支持C/C++语言的开发和语法高亮。 2.STM32插件:提供STM32特定的功能,如STM32CubeMX生成代码和STM32项目模板。 3.编译器:如GNU Arm Embedded Toolchain,用于编译和链接代码。 4.串口调试工具:如ST-Link,用于与开发板进行串口通信。 搭建好环境后,你可以创建一个STM32项目并通过VSCode编写代码,然后编译和下载到开发板进行调试。 ### 回答2: VS Code是一款轻量级且功能强大的开发环境,适用于各种编程语言和平台,包括嵌入式开发。在使用VS Code进行STM32开发时,我们需要以下几个步骤来进行环境搭建。 第一步:安装Visual Studio Code 在官网上下载对应操作系统的安装包,安装完成后打开VS Code。 第二步:安装PlatformIO插件 在VS Code的扩展商店中搜索platformio,选择PlatformIO IDE插件进行安装。安装完成后重启VS Code。 第三步:安装STM32CubeMX 在ST公司官网上下载最新版本的STM32CubeMX。安装完成后打开STM32CubeMX,点击Project->Settings,选择Toolchain/IDE设置,选择使用MakeFile,选择自己的编译器路径,然后保存设置。 第四步:创建项目 在VS Code中,点击PlatformIO图标,选择New Project,选择STM32开发板型号和开发环境。填写项目名称、路径等信息,然后点击Finish。这样就可以在VS Code中看到一个项目文件夹。 第五步:生成代码 在STM32CubeMX中配置我们需要的外设,然后点击Save生成代码。将生成的代码复制到项目文件夹中,覆盖原有的main.c文件。 第六步:编译和下载 在VS Code中点击PlatformIO图标,选择Build进行编译。编译完成后,插入开发板,点击Upload下载代码到开发板中。 以上就是VS Code STM32开发环境搭建的基本步骤。通过这种方式,我们可以使用VS Code进行STM32开发,具有便捷、高效、易用等优点,是一种常用的STM32开发环境。 ### 回答3: VS Code是一个开源的轻量级代码编辑器,它具有开放的生态系统和丰富的插件库。将VS Code与stm32开发环境结合,可以提高开发效率和代码质量。下面是VS Code stm32开发环境的搭建过程。 1.安装STM32CubeMX STM32CubeMX是一个免费的工具,用于配置和生成STM32微控制器的启动代码。它提供了与MCU相关的具体信息,例如I/O映射、时钟树以及外设初始化,可简化STM32开发过程。此外,它还支持直接生成与STMCubeIDE集成的工程文件。 2.安装“Cortex-Debug”插件 “Cortex-Debug”是一个开源的VS Code插件,用于调试ARM Cortex-M微控制器。它基于OpenOCD和GDB,并支持多种调试器,包括ST-Link、J-Link、CMSIS-DAP。通过使用“Cortex-Debug”插件,可以在VS Code中轻松调试和监视STM32代码。 3.安装“C/C++”插件 “C/C++”是一个用于VS Code的常用插件,用于提供代码补全、语法高亮、格式化等功能。对于STM32开发者而言,它可以帮助识别STM32 CubeMX生成的启动代码中的各种MCU寄存器和相关宏定义,方便代码编写和阅读。 4.安装“Firmware File Explorer”插件 “Firmware File Explorer”是一个专门针对STM32开发板的VS Code插件,它可以在计算机上别名一个仿真文件系统,并通过该文件系统轻松访问和读取开发板的各种功能、外设和数据。与“Cortex-Debug”插件结合使用,可以实现在线监视和调试STM32的情况。 总之,通过上述4步操作,就可以在VS Code中成功搭建一个完善的STM32开发环境,可以大大提升STM32开发效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值