使用VSCode开发STM32(基于EIDE插件)
VSCode开发stm32
VScode是一个非常好用的集成开发环境,使用VSCode的EIDE等插件进行stm32单片机的开发,可以大大提高开发效率
没有下载VSCode的可以看看我
这篇文章
以下是基于STM32F103C8T6的标准库进行的,HAL库或者其他芯片也是换汤不换药,基本大差不差
下载插件
C/C++ Extension Pack
Embedded IDE
Cortex-Debug
配置EIDE
在左边菜单栏找到 EIDE插件
点击 安装实用工具
依次安装
Cppcheck
GNU Arm Embedded Toolchain
OpenOCD Programmer
安装完后相应后面会变成勾 如下图
安装完成后右下角会提示重启
点击OK
重新进入VSCode后
先点EIDE插件
再在左下角找到设置
在上方搜索栏输入 elf
勾选 编译完成后将.axf转换为.elf
添加编译器
在左边菜单栏点击 扩展
找到 EIDE
右击 设置
在 Keil5的安装目录 找到
ARMCC
ARMCLANG
这两个文件
如果没有安装Keil5的可以看我这篇文章
在VSCode中分别添加这两个编译器的路径
配置环境
点击EIDE插件导入项目
选择 MDK
选择 ARM
然后右下角会提示 是否要将该EIDE项目与原来的Keil项目共存于同一目录
可以选择 Yes
但是为了方便后续对工程进行管理
我们选择 No
即建一个新的文件夹专门用来存放EIDE项目
注意!!
整个项目路径不能有中文
不然后面编译会报错
在原工程文件夹的目录下建一个新的文件夹
点击继续
信任
导入完成后点击EIDE插件
在最上方展开 EIDE PROJECTS
首先添加 芯片支持包
From Repo 是从网上下载
From Disk 是从我们自己的文件中选择
我们选择后者
我这里的工程是基于STM32F103C8T6的
所以我选择STM32F1xx_DFP
添加成功
选择烧录器
找到 烧录配置
点击最右边的双箭头
选择OpenOCD
它支持ST-Link和DAP-Link等
我使用的是DAP-Link
更改接口配置
默认是ST-Link
我选择 cmsis-dap.cfg
根据实际情况选择
编译下载
到这里基本上就配置完成
点击下图按键或按F7进行编译
因为我使用的是标准库,所以会报错
报错的原因是缺少了宏定义
即缺少 STM32F10x_MD
如果使用的是CubeMX生成的项目直接编译就可以通过
关于这个宏定义可以看看这篇文章
找到 项目属性
预处理宏定义
在上方输入 STM32F10x_MD
添加成功
再次进行编译
输入结果显示 build successfully
但是!!!
这个编译输出是错误的
这时如果点击烧录是烧录不了的,会报错
点此按键进行下载
确保已经将电脑用ST-Link或DAP-Link与开发板连接
不出意外的话会报错
以下是错误的下载输出
解决方法如下
找到 构建配置
点击右边的编辑
全局选项
勾选 Use MicroLIB
链接器
取消勾选 不生成 Hex/Bin 文件
再次编译
以下是正确的编译输出结果
再次点击下载
下载成功!
OKay希望这篇文章对你有所帮助
作者:OKay_J