使用VSCode开发STM32(EIDE插件)
前言
在使用了几个月的Keil对51和32的学习之后, 实在受不了Keil古老的界面. 在做项目时就开始思考能不能使用VSCode替代Keil对51 32等嵌入式ARM架构的芯片进行编程和调试. 经过一番查找便发现有个插件可以完美符合我的要求
使用该插件前请至少要熟悉Keil的各种操作与配置, 因为开发团队项目时, 不是所有人都使用VSCode进行开发, 大部分人仍然使用的是Keil. 为了避免陷入无法和团队成员共同开发的尴尬场面, 所以请一定要熟悉好Keil再来使用本插件
插件介绍
Embedded IDE
一款适用于 8051/STM8/Cortex-M/MIPS/RISC-V 的单片机开发环境。
在 VSCode 上提供 8051, AVR, STM8, Cortex-M, MIPS MTI, RISC-V … 项目的 开发, 编译, 烧录 等功能。
支持的平台:
- Windows x64 (>= Windows 10)
- Linux x64
- macOS(仅在 ‘macOS 10.15 x64’ 中测试过)
功能特性 🎉
- 支持开发 8051,STM8,AVR,Cortex-M,MIPS MTI, RISC-V, AnyGcc 项目。
- 支持导入 KEIL5/IAR/Eclipse 项目,支持导入
IAR-STM8, IAR-ARM, Segger Embedded Studio
项目源文件资源树。 - 支持安装标准的 KEIL 芯片支持包 (仅用于 Cortex-M 项目)。
- 提供丰富的项目模板方便快速开始项目。
- 一键编译,支持多种主流的编译工具 (armcc, gcc-arm-none-eabi, riscv-gcc, xxx-gcc, keil_c51, sdcc …)。
- 一键烧录到芯片,支持多种主流的烧录器 (jlink, stlink, openocd, pyocd …)。
内置的串口监视器,一键打开串口(建议使用Serial Monitor
插件)。- 支持使用 Cppcheck 对项目进行静态检查。
- 自动生成默认调试配置,为调试器插件 Cortex-debug / STM8-debug 生成默认配置。
- 内置多种实用工具,
CMSIS Config Wizard UI
,反汇编查看
,程序资源视图
… - 内置 C/C++ 插件的
C/C++ IntelliSense Provider
,无需配置c_cpp_properties.json
即可获得源码跳转,补全提示功能。 - 内置 Msys Unix Shell 环境,方便执行 shell 命令或脚本
插件列表
必备插件
- Embedded IDE
- C/C++ Extension Pack
- Cortex Debug (调试工具)
推荐插件
Error Lens
可以讲报错信息嵌入至代码当中, 十分方便
EIDE配置
- 插件配置
- 下载必备工具: 实用工具: CppCheck, OpenOCD Programmer, GNU Arm Emdedded Toolchain(stable)
- 配置EIDE: 搜索栏输入:elf. 打勾下列选项
- Convert
.axf
to.elf
forARMCC Compiler
- 外部编译器支持
由于EIDE是调用Keil的ARMCC编译器进行编译, 所以我们还需要在设置里配置ARMCC路径
默认填写AC5即可, 如有需求可以一并填上AC6路径
- 设置搜索ARMCC: 填入Keil安装目录里的ARMCC
EIDE食用方法
EIDE目前支持两种创建工程方式, 即使使用了原生EIDE项目也支持将项目导出为Keil工程, 所以不必太担心
- 创建原生EIDE工程
- 导入Keil等工程生成EIDE工程
导入Keil工程
选择导入项目, 可以看到EIDE支持导入
MDK
IAR
Eclipse
工程. 导入Keil工程选择第一个MDK即可.导入后右下角会显示是否与Keil项目共存, 这里推荐选择否, 然后在原工程目录下新建EIDE文件夹用于存放EIDE配置文件
转到工作区, 如下图所示
在芯片支持包里添加对应芯片的.pack包
烧录配置里选择一开始下载的OpenOCD, 接着选择对应芯片与烧录器
第三步使用Hel库的可以跳过
如果使用标准库需要在下面的预处理宏定义加入对应芯片的代号
例如STM32F103属于中容量产品, 则填入STM32F10X_MD
用于stm32f10x.h里的条件编译的选择
其中构建配置里的构建器选项便是Keil里魔术棒的设置
按下F7编译, 没有报错便大功告成了