首页 > 解决方案 > StmCubeIDE 调试 STM32F411CEU6 的问题

问题描述

我已经订购了黑色药丸(STM32F411CEU6,真实的)来替换我的蓝色药丸开发套件,这些套件没有足够的 RAM,而且除了运行问题外什么都没有。我已经使用 STM32CubeIDE 生成了项目。

我将 A11、12、13 用于 GPIO 输出,将 PB9、8 用于 I2C 通信,将 A10、11 用于我的 USART 设备。

我可以让 st link 程序员和软件检测我的黑药丸并在短时间内调试,直到我进入MX_GPIO_Init()

在此之后,程序员失去了与设备的通信,并阻止我进行任何真正的编程。我看过的一些地方说尝试将 Sys -> Debug 设置设置为“Serial Wire”,但默认情况下这对我来说是禁用的,我无法切换它。

在调试的上下文中,当我在实时模式下进行调试时,我可以看到启用了调试

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled
        InitWhile                  : Enabled

所以调试看起来设置正确但我只是不明白为什么它不能通过查看调试控制台来调用 GPIO 的 init 我得到了这个

handle_vCont_c, Failed continue thread

进入这个函数后抛出的

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

这对我来说没有多大意义,因为我以前没有见过这个,有人可以帮我正确设置这个项目吗?谢谢。

标签: cembeddedstm32stm32f4

解决方案


串行线调试接口是为 PA13 和 PA14 定义的。在 CubeMx IDE 中,首先设置 SYS->Debug->Serial Wire。为 GPIO 选择另一个引脚而不是 PA13。


推荐阅读