前言

在使用了几个月的Keil对51和32的学习之后, 实在受不了Keil古老的界面. 在做项目时就开始思考能不能使用VSCode替代Keil对51 32等嵌入式ARM架构的芯片进行编程和调试. 经过一番查找便发现有个插件可以完美符合我的要求

使用该插件前请至少要熟悉Keil的各种操作与配置, 因为开发团队项目时, 不是所有人都使用VSCode进行开发, 大部分人仍然使用的是Keil. 为了避免陷入无法和团队成员共同开发的尴尬场面, 所以请一定要熟悉好Keil再来使用本插件

插件介绍

Embedded IDE

image-20241014190911138

一款适用于 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 (调试工具)

image-20241014191713821

推荐插件

  • Error Lens

    可以讲报错信息嵌入至代码当中, 十分方便

    img

image-20241014190537676

EIDE配置

  1. 插件配置
  • 下载必备工具: 实用工具: CppCheck, OpenOCD Programmer, GNU Arm Emdedded Toolchain(stable)
  • 配置EIDE: 搜索栏输入:elf. 打勾下列选项
    • Convert .axfto.elfforARMCC Compiler

image-20241014193112136

image-20241014193327211

  1. 外部编译器支持

由于EIDE是调用Keil的ARMCC编译器进行编译, 所以我们还需要在设置里配置ARMCC路径

默认填写AC5即可, 如有需求可以一并填上AC6路径

  • 设置搜索ARMCC: 填入Keil安装目录里的ARMCC

image-20241014193825159

EIDE食用方法

EIDE目前支持两种创建工程方式, 即使使用了原生EIDE项目也支持将项目导出为Keil工程, 所以不必太担心

  • 创建原生EIDE工程
  • 导入Keil等工程生成EIDE工程

导入Keil工程

  1. 选择导入项目, 可以看到EIDE支持导入MDK IAR Eclipse工程. 导入Keil工程选择第一个MDK即可.

    导入后右下角会显示是否与Keil项目共存, 这里推荐选择否, 然后在原工程目录下新建EIDE文件夹用于存放EIDE配置文件

image-20241014195340397

image-20241014201021812

  1. 转到工作区, 如下图所示

    image-20241014202542243

  1. 在芯片支持包里添加对应芯片的.pack包

  2. 烧录配置里选择一开始下载的OpenOCD, 接着选择对应芯片与烧录器

  3. 第三步使用Hel库的可以跳过

    如果使用标准库需要在下面的预处理宏定义加入对应芯片的代号

    例如STM32F103属于中容量产品, 则填入STM32F10X_MD

    用于stm32f10x.h里的条件编译的选择

image-20241014202722158

其中构建配置里的构建器选项便是Keil里魔术棒的设置

image-20241014203727452

image-20241014203741466

  1. 按下F7编译, 没有报错便大功告成了

    image-20241014203321037