跳到主要内容

使用 PlatformIO 调试 STM32

让我们使用 PlatformIO 调试 LED 闪烁代码。

调试STM32​

使用 PlatformIO 调试 STM32 非常简单。您可以使用 ST-LINK V2 编程器设置断点、监视变量并单步执行代码。

准备工作​

本教程使用以下硬件:

BlackPill STM32 板​

单片机:STM32F411CEU6 开发板:WeAct Black Pill V2.0 原理图

您可以以低于 4 美元的价格购买廉价的 BlackPill STM32 克隆板。您可以使用其他STM32板,但需要修改platformio.ini文件和LED 引脚编号。

您需要它来将固件上传到开发板并调试代码。 您可以以低于 5 美元的价格购买廉价的 ST-LINK V2 克隆版。

配置开发环境​

VSCode 与 PlatformIO​

您可以从 VSCode 扩展市场安装 PlatformIO。

STM32CubeProgrammer​

您需要它来将固件烧录到开发板。

克隆代码仓库​

git clone --branch blackpill-led-blink-arduino https://github.com/yuichiroaoki/stm32-tutorial.git
cd stm32-tutorial

快速入门​

  1. 将 BlackPill STM32 板连接到 ST-LINK V2 编程器。

    ST-LINK V2 Clone
    按照上图连接 ST-LINK V2 编程器和 BlackPill STM32 开发板。

  2. 将 ST-LINK V2 编程器连接到计算机。

  3. 在 VSCode 中打开项目文件夹。

  4. 打开main.cpp并单击任意行号以设置断点。

    程序运行到断点时会暂停,您可以查看此时的变量值。

    Set a breakpoint

  5. 单击左侧边栏上的Run and Debug,然后单击Start Debugging 按钮开始调试。

    程序在断点处暂停后,即可查看变量值。例如,SystemCoreClock 保存系统时钟频率。下图中,该频率为 96 MHz。

    Debug-stm32

在本教程中,我们使用 Arduino 框架通过 PlatformIO 来调试 STM32 板。不过,您也可以使用 STM32Cube 进行调试。

参考​