我是 STM32 编程领域的新手,并且已经尝试寻找合适的 IDE 有一段时间了。我知道所有其他 IDE,例如 Keil 和 IAR,但目前购买它们只是为了学习的成本对我来说太高了。
我已经开始使用 Visual Studio Code 来完成越来越多的开发工作,我认为这将是一个很好的用于 STM32 开发的 IDE。过去几天我在网上找到了很多关于如何配置 IDE 来构建 STM32 项目的示例,但它们似乎都缺少我正确编译项目所需的重要信息。真是令人沮丧
是否有关于如何设置 Visual Studio Code 以与 STM32CubeMX 和 ARM 工具链配合使用的完整设置指南?或者有一个示例项目可以作为我学习的基础吗?
只是一些背景信息,我知道如何使用STM32CubeMX生成基础项目以及相关的makefile,我还安装了最新的GNU-Tools-Arm-Embedded。
make
来执行 makefile,因此请下载 Make for Windows。最简单的方法是下载二进制文件并将其提取到系统上的某个位置。将其 (C:\make-3.81-bin\bin
) 添加到您的 PATH 中。Makefile
作为工具链/IDE。
make
即可构建生成的项目。make
命令。您也可以将您的任务绑定到热键以节省一些时间。不久前我也有同样的问题,但没有找到我真正喜欢的东西。因此,我为 VSCode 创建了STM32,它是 VSCode 的扩展,可与 STM32CubeMX 生成的文件配合使用,并为您设置构建和调试。
make
命令在 VS Code 终端中对我不起作用。为了解决这个问题,我安装了 Microsoft 的“Makefile Tools”扩展。
Segger 下载并安装 J-Link 软件。 -> 如果您想查看外围寄存器,请获取SVD 文件。 -> 编辑 launch.json 文件(参见下面的代码)。 -> 设置您的可执行文件、路径和设备。
{
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "./build/STM32F103RBT6_Test1.elf",
"name": "Debug Microcontroller",
"request": "launch",
"type": "cortex-debug",
"servertype": "jlink",
"serverpath": "C:/Program Files/SEGGER/JLink/JLinkGDBServerCL.exe",
"armToolchainPath": "C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2021.10/bin",
"device": "STM32F103RB",
"interface": "swd",
//"serialNumber": "", // if Multiple Debuggers attached
"runToMain": true,
"svdFile": "${workspaceRoot}/device/STM32F103xx.svd",
}
]
}