VSCode搭建STM32单片机开发环境

前言

由于之前的学习过程中使用过了VSCode、Source Insight这类强大的代码编辑器,感觉实在是太好用了。但是最近自己要用到Keil进行STM32单片机的开发,因为使用过了VSCode这类强大的编辑器之后,就再也回不去了。再次面对Keil时,感觉keil的代码编辑或者阅读代码的功能实在是太不友好了,所以已经习惯不了Keil了。于是,想着能不能在VSCode上搭建类似Keil的开发环境,其实主要就是把keil的编译、在线下载程序、调试环境搬到VSCode上。

VSCode上有非常多好用的插件,所以要把VSCode配置成keil的开发环境,同样有一个插件Keil Assistant。有了这个插件,配置过程就相当简单了,当然这个插件也还是要借助Keil这个IDE(就是说要先安装Keil)才能完成配置的,而且我目前发现这个插件还不提供在线调试功能。这两点算是该插件的不足之处吧,但是优点是配置过程非常简单。下面介绍下具体的配置过程。

软件环境

  • windows10
  • VScode 1.54.1
  • MDK V5.32

硬件环境

  • STM32F103VET6板子
  • DAP Link下载器

1. 安装软件

VSCode直接到官方网站https://code.visualstudio.com/Download下载安装即可,该软件是免费的,非常好用。

2. 配置VScode环境

2.1 插件安装

VSCode安装完成之后,我们最好安装下需要使用到的常见插件,安装插件非常简单,如下图所示:

VSCode搭建STM32单片机开发环境_第1张图片

我们需要安装的常见插件有:

  • C/C++,我们写的代码是C代码,那么这个插件肯定是必须的
  • ARM,可提供ARM汇编语言语法的支持
  • Chinese(Simplified),提供简体中文环境的支持,安装完重启即可变成中文环境
  • One Dark Pro,暗黑系主题,对眼睛非常友好,而且看起来很高大上
  • vscode-icons,文件图标插件,对每个文件都会显示非常好看的图标
  • Rainbow Brackets,这个是代码的括号使用不同的颜色展示,非常方便阅读
  • TabNine,AI补全插件,对我们的写的代码会进行学习补全,非常厉害。但是我使用过程中发现,一天的补全次数有限,要想无限次补全,好像要交费的
  • Keil Assistant,该插件就是本文介绍的主角。这个插件就是VScode可以进行STM32单片机开发的关键,安装完这个插件,再配合MDK(只支持5以上版本)就可以进行STM32开发了

安装完Keil Assistant之后,我们可以在VScode的资源管理器中看到KEIL UVISION PROJECT这一栏了,如下图所示:

VSCode搭建STM32单片机开发环境_第2张图片

2.2 配置Keil Assistant插件

安装完这个Keil助手插件之后,我们需要把自己安装MKD软件的绝对路径告诉这个Keil助手(用法可以看一下该插件在VSCode上面的用法介绍,非常的详细)。首先我们按快捷键 ctrl + , 快速打开VSCode的设置界面,然后再扩展里面找到Keil Assistant的设置,如下图所示:

VSCode搭建STM32单片机开发环境_第3张图片

其中我们要填写的就是MDK UV4.exe的路径,这个就是我们安装的MDK的路径了(上面那个是C51的路径,注意不要搞错了)。如果不知道自己安装的MDK软件的路径在哪,可以在MDK的桌面快捷方式右键查看属性,可以看到目标那里会列出MDK软件的路径。

3. 导入MDK工程

我们直接在VSCode的资源管理器,找到KEIL UVISION PROJECT这一栏后面的“+”号,然后点击即可。就可以看到我们的MDK过程被加载进了VSCode里面了(由于我原来已经打开过了额,所以左边就已经显示出MDK工程被加载进去了)。可以看到里面的文件夹排布,是和自己在MDK中的设置是一样的,而且如果自己在MDK加入了新的文件,那么VSCode这边也会自动同步的。

VSCode搭建STM32单片机开发环境_第4张图片

4. 在VSCode中编译、下载程序

首先,这个插件进行编译和下载程序,其实还是要借助MDK软件进行编译和下载程序的。所以,我们的MDK工程要事先设置好一些基本的配置,比如我们使用的芯片类型、下载器的类型及其相关配置,这些内容配置好了才可以进行正常的编译和下载程序。我自己目前有使用的芯片类型是STM32F103VET6,下载器是DAP Link,所以我在MDK软件先配置好这些内容,然后就可以进行代码的编译和下载了。

另外,Keil Assistant插件目前还不支持调试的功能,目前只支持编译、下载程序、重新编译三个选项,如下图所示:

VSCode搭建STM32单片机开发环境_第5张图片

我们只要点击上面三个按钮的某个按钮,就可以实现STM32程序的编译和下载了。到此我们就完成了VSCode搭建STM32单片机的开发环境了,就可以愉快的在VSCode上面开发单片机项目了。

5. 问题解决

一般来说,做好了上面的配置之后,就可以在VSCode进行编译和下载STM32的程序到对应的硬件平台上去了,但是我在编译程序时遇到了一些问题。

  1. 提示我没有安装.NET Framework 3.5版本的框架

VSCode搭建STM32单片机开发环境_第6张图片

​ 实际上我的win10系统是自带了其他版本的.NET Framework的,不知道为什么这个Keil Assistant要使用这么古老的3.5版本。没办法,就根据提示安装一下吧!所以我就点击了下载并安装此功能,但是又遇到了如下错误:

  1. 提示无法安装以下功能

VSCode搭建STM32单片机开发环境_第7张图片

​ 一开始我还奇怪为什么不能安装此功能,后来想到应该是因为我禁止了win10永久更新的原因。于是我把win10的更新功能再次打开,我的电脑 --> 右键 --> 管理 --> 服务和应用程序 --> 服务,然后找到Windows Update这项服务,把启动类型由禁止改为手动,然后启动该服务。如下图所示:

VSCode搭建STM32单片机开发环境_第8张图片

​ 重新开启了win10的更新功能之后,我再次点击下载安装.NET Framework 3.5就可以正常下载和安装了,等待安装完成之后,我再次试了一下编译程序和下载程序,就可以进行正常的编译和下载了,如下图:

VSCode搭建STM32单片机开发环境_第9张图片

​ 可以看到,VSCode终端下面输出的编译信息,是和MDK编译的输出信息是一样的。

你可能感兴趣的:(STM32,vscode,keil,mdk,单片机,stm32)