四、STM32——VsCode EIDE
EIDE
插件是一款适用于 8051/STM8/Cortex-M/RISC-V 的单片机开发环境。在 Vs Code 上提供 8051、STM8、Cortex-M、RISC-V项目的开发、编译、烧录等功能。
1 插件安装
安装成功之后,可以在左侧看到一个芯片样式的图标,然后可以进行相应的操作,可以进行新建工程,导入工程等操作,具体如下图所示;
2 MDK-ARM项目导入
2.1 创建MDK-ARM项目
比如:我基于 STM32L431RCT6
芯片在 CubeMX
创建了一个初始串口项目,导出 MDK-ARM
项目。
具体如下:
2.2 EIDE导入MDK-ARM项目
2.3 设置EIDE项目
-
设置相应的 pack 文件;
-
选择相应的 芯片 型号;
-
选择对应的工具链(arm-cc 或者 arm-gcc);
-
选择对应的烧录配置;
2.3.1 关于编译工具链
工具链一个是ARMCC,编译后给单片机用的;另一个是gdb调试用的arm-none-abi
-
方法一:点击左下角的
Configure Toolchain
,然后点击ARMCC V5
可以选择工具链。选择安装Keil的时候安装的那个编译工具链。 -
方法二:点击左下角的
Open plug-in Settings
,可以设置Armcc v5 toolchain install directory
和GCC for ARM toolchain install directory
目录。
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"
}
]
}
3.2 st-link
下载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
关键字
FreeRTOS查看有哪些任务
查看寄存器值和在线变量
参考
参考1(导入MDK-ARM):一个超级好用的插件—EIDE,在VSCODE下快速创建ARM工程
参考2(导入MakeFile):VS Code搭建STM32环境 (学习笔记)
参考3 VSvode+eide+jlink(stlink)配置keil工程,调试使用cortex-debug+openocd