EIDE 插件是一款适用于 8051/STM8/Cortex-M/RISC-V 的单片机开发环境。在 Vs Code 上提供 8051、STM8、Cortex-M、RISC-V项目的开发、编译、烧录等功能。

1 插件安装

alt text

安装成功之后,可以在左侧看到一个芯片样式的图标,然后可以进行相应的操作,可以进行新建工程,导入工程等操作,具体如下图所示;

alt text

2 MDK-ARM项目导入

2.1 创建MDK-ARM项目

比如:我基于 STM32L431RCT6 芯片在 CubeMX 创建了一个初始串口项目,导出 MDK-ARM 项目。

具体如下:

alt text

2.2 EIDE导入MDK-ARM项目

alt text

2.3 设置EIDE项目

  • 设置相应的 pack 文件;

  • 选择相应的 芯片 型号;

  • 选择对应的工具链(arm-cc 或者 arm-gcc);

  • 选择对应的烧录配置;

alt text

2.3.1 关于编译工具链

工具链一个是ARMCC,编译后给单片机用的;另一个是gdb调试用的arm-none-abi

  • 方法一:点击左下角的 Configure Toolchain,然后点击 ARMCC V5 可以选择工具链。选择安装Keil的时候安装的那个编译工具链。

    alt text

  • 方法二:点击左下角的 Open plug-in Settings,可以设置 Armcc v5 toolchain install directoryGCC for ARM toolchain install directory 目录。

    alt text

3 调试

调试有两种,一种是openocd,另一种是stutil

OpenOCD是开源软件,可以完成程序烧写,调试等任务,使用OpenOCD调试,比stutil稳定

3.1 openocd

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ST-Link Debug",
            "cwd": "${workspaceFolder}",
            "request": "launch",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "openocd",
            "device": "STM32H723ZGTx",
            "configFiles": [
                "${workspaceFolder}/Debug/interface/stlink.cfg",
                "${workspaceFolder}/Debug/target/stm32h7x.cfg"
            ],
            "executable": "${workspaceFolder}/MDK-ARM/build/${workspaceFolderBasename}/${workspaceFolderBasename}.elf",  /* ${workspaceFolderBasename}就是项目名称 */
            "svdFile": "${workspaceFolder}/MDK-ARM/pack/Keil/STM32H7xx_DFP.4.0.0/CMSIS/SVD/STM32H723.svd"
        }
    ]
}
下载v1.7版本,v1.8版本不知道为什么错误
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Cortex Debug",
      "cwd": "${workspaceFolder}",
      "executable": "build/HTXD_XRay_V1.0/HTXD_XRay_V1.0.elf",
      "request": "launch",
      "type": "cortex-debug",
      "runToEntryPoint": "main",
      "gdbPath": "C:/Users/zys13/.eide/tools/gcc_arm/bin/arm-none-eabi-gdb.exe",
      "servertype": "stutil",
      "device": "STM32H743ZI",
      "serverpath": "D:/BaiduSyncdisk/stlink/bin/st-util.exe",
      "svdFile": ".pack/Keil/STM32H7xx_DFP.2.3.1/CMSIS/SVD/STM32H743x.svd",
      "interface": "swd"
    }
  ]
}

变量被编译器优化,可以给变量设定 volatile 关键字

alt text

FreeRTOS查看有哪些任务

alt text

alt text

查看寄存器值和在线变量

alt text

参考

参考1(导入MDK-ARM):一个超级好用的插件—EIDE,在VSCODE下快速创建ARM工程

参考2(导入MakeFile):VS Code搭建STM32环境 (学习笔记)

参考3 VSvode+eide+jlink(stlink)配置keil工程,调试使用cortex-debug+openocd

参考4 vscode+stlink实现在线调试

参考5 Linux下使用vscode在线调试STM32开发板