> 技术文档 > 教你如何使用VSCode的EIDE插件开发STM32(包括任何ARM内核芯片)最详细教程

教你如何使用VSCode的EIDE插件开发STM32(包括任何ARM内核芯片)最详细教程

STM32的开发分为标准库开发和HAL库开发,一般大家都喜欢使用Keil开发标准库和HAL库,但是Keil的界面就像上个世纪的产物一样,远远没有现在的VSCode和Clion这些现代化编写C/C++来得舒服

Keil
VSCode
​​​​​​

所以这篇文件会教你如何使用VSCodeEIDE插件开发STM32,当然这个插件不仅能帮你开发任何ARM内核的芯片包括STC8、STM8、STM32、CH32、GD32等等。一个软件解决不同芯片的开发,还能够通过Cortex-debug插件调试STM32还可以调试寄存器。

接下来我们正式进入教程

0.安装VScode

        这个直接进入vscode官网下载即可简单的不用我教了吧

        需要安装的插件有点多我在这里把全部需要安装的插件列出来让大家可以一次性全部安装,要是发现你安装了一个插件缺多出来了其他许多插件也不用慌,这是你安装插件的依赖插件而已它自动帮你安装的。

必装:

1.EIDE —— STM32开发插件

2.Cortex-Debug —— 用来调试STM32的开发插件

3.C/C++ Extension Pack —— 能够帮你安装C/C++开发所需的所有插件

4.Serial Monitor —— 一个串口调试插件

选装:

5.Lingma - Alibaba Cloud AI Coding Assistant —— 通义灵码能够辅助编程生成提示代码

6.background —— 能够装背景图标,让你的VScode更优雅。

1.安装EIDE

        要是你第一次安装VSCode不是中文的你需要在左边那一栏的找到扩展搜索Chinese安装中文插件

       EIDE的使用要是有什么不懂可以看看EIDE官网​它是如何使用的

下完这个插件他会在右下角自动安装一些附属文件等他下完会叫你安装这个东西

2.创建STM32项目

我这个是创建的STM32CubeMX生成的HAL项目,要是你有标准库的项目也可以在这一步我们需要有一个STM32的项目文件

注意:使用STM32CubeMx生成项目的时候要选择生成Cmake工程,要是你想直接生成Keil项目也可以直接导入,但是我用起感觉有点bug(要是可以的话不妨评论一下)。

3.创建EIDE项目。

你是CubemX项目创建的Cmake文件就需要在左边竖向那一栏选到EIDE创建一个EIDE项目

我们是开发STM32F103C8T6的项目他说Cortex-m内核的芯片我们选择第二个就行了,根据自己对应的芯片内核选

注意:你这个EIDE项目名称要和你生成的名称是一样的,还有保存的路径也要和你在STM32CubeMX保存的路径相同,不要选到Demo文件夹里面去了,要选到D:\\Project\\STM32\\(根据自己的路径改这只是一个示例)

然后右下角会提示这两个全选是就好了

额外:要是你是KEIL的项目你可以直接导入就好了

4.导入STM32CubeMx生成项目

添加项目资源文件,要在右下角选择任意文件才能找到这个.s启动文件,这个文件是STM32的启动文件,这个文件他会在执行main函数前完成复位初始化东西的包括初始化时钟等等。

然后在导入生成的代码文件

把这两个文件加进去

如果你是导入的Keil项目这些都不用手动他自己都有,如果你是使用STM32Cubemx生成代码也不用慌,不用每次都这么复杂后面可以生成模板,下次直接在EIDE新建模板项目就好了

5.添加C/C++属性

在资源管理器中找到CmakeLists.txt这个文件打开

要是你打开是灰色的没有提示不舒服,你可以去安装cmake tools插件

        

在EIDE项目的C/C++属性中添加宏定义和包含路径

Keil项目的玩家打开的项目自带这个也不用自己添加它自己就有

6.编译代码

好了现在你创建好项目了可以试着编译项目了

哦豁~好像编译不起缺少编译器

EIDE对于编译可以选择ARM GCC编译器和KEIL的ARMCC5编译器我们分别介绍这两种这么配置使用。

对于我们STM32CubeMX生成Cmake项目的我们需要去下载Arm GNU Toolchain这个工具链,向下翻可以找到,可能会下载有点慢,毕竟是国外网站嘛。

安装的时候记住这个配置路径,最好把它复制下来后面EIDE配置工具链需要这个路径。

第一个选项不选择❌

第三个选项选择    ✔        (翻译:添加到环境变量中去)

他会自己弹出命令行窗口输入:

arm-none-eabi-gcc -v

检测是否安装都环境变量中去,查看编译器安装版本。

在VSCode的扩展中右键EIDE找到设置

把刚刚安装的工具链路径配置进去

补充Keil:要是你是Keil项目你可以找到Keil的安装路径找到一个ARMCC5什么的文件夹把路径放到这里去,你也配置好了编译器这个

然后选择构建配置为GCC编译(Keil的就选择第一个AC5就好了)

在这个构建配置下的

CPU类型根据自己的芯片内核来设置哇,我的是STM32F103C8T6就选择Cortex-M3

这个链接脚本路径就设置为.ld文件的名称就好了,直接右键复制相对路径就可以复制它的名称了

再来重新编译就可以编译起了,(好像配置到了环境变量EIDE就能找到这个路径不用配它就可以编译了,没试过可以试哈直接编译可以嘛狗头保命不行别怪我求求)

Keil工程配置:要是你是Keil工程你需要配置芯片支持包选择第一个网络下载,第二个是本地包(其实你们的Keil包管理已经下载好了你需要的包打开包管理器上面有保存路径找到自己对应的包名就好,偷个懒

找到对应系列的包,我是STM32F103C8T  --- F1系列的就选择的这个

7.下载代码

现在来配置下载代码因为我要使用DAP接口下载代码所以我需要Openocd,当然Openocd也可以下载stlink接口的代码,这个Openocd是一个开源的烧录工具。

去Openocd官网下载它

这个是免安装的直接下载好解压就可以了

来到EIDE的设置里大概中段的位置可以找到一个Openocd路径的配置,把openocd.exe路径配置进去就好了

程序文件不用修改

芯片接口根据自己的芯片来选择就好了

接口配置我是dap接口所以选择的dap配置文件,要是你是stlink的在这里选择stlink的接口就好了

在右上角点击这个就可以下载了

下载
烧录成功

8.调试代码

你需要下载这个插件来调试代码,现在EIDE没有自带调试

然而我们STM32CubeMX生成Cmake项目的朋友也需要配置芯片支持包才能看到自己芯片的寄存器调试,要是你不想调试寄存器也可以不做这一步。

设置好芯片支持包后右键项目,选择openocd再新建调试模板

1:找到debug,

2:开始debug

3:右键要监视的变量添加监视

4:这是添加监视的变量

5:通过断点查看监视变量

6:用于调试的最后一个是停止调试

7:这里就是我们配置好芯片支持包就能调试的寄存器

9:创建模板

现在这么多步骤终于配置完了,好求麻烦哦,有没有一个简单点的方法?

有的有的铁子,不慌下面我们来创建模板减少这些重复配置。

把我们刚刚创建好的下面到处为EIDE模板

他会在这个项目下面生成一个ept文件这个文件就是模板文件(我后面把他放到Demo文件同级的文件夹下去了方便复用)

下次只需要新建下面的时候选择本地模板文件就可以免去这么多配置了。

这个.ioc文件是cubemx的项目文件打开它就打开了STM32CubeMx配置界面,它的名字还是原来模板文件的名称,我们改为这个项目的名称就好了

10:VSCode插件推荐

1:C/C++ Extension Pack

他会帮你安装开发C/C++的所有包包括了前面安装的Cmake Tools

2.Serial Monitor

EIDE推荐的串口调试工具

你要是遇到sprintf打印浮点数没效果可以在构建器选项中添加这个

-u_printf_float

3.Lingma - Alibaba Cloud AI Coding Assistant

通义灵码他是阿里云的一个ai辅助工具,能够给你提示代码还是挺方便的

首次需要登陆淘宝或者支付宝账户。

这些虚影就是它的代码提示,按住ctrl+p可以主动开启提示

4.background

这是一个背景插件,让你能够选择图片当背景,像我这种不贴点啥背景总觉得不得劲的人就喜欢贴点好看的背景。

你需要在设置里进入全屏区域配置

在images中填入图片路径

注意:必须要加file:///这个而且路径分隔符要是//不然可能会不成功。