ST意法半导体
直播中

张玉珍

7年用户 1005经验值
私信 关注
[问答]

USB上的DFU不工作,未检测到HSE怎么解决?

大家好,我目前无法解决这个问题:
我使用具有 USB 功能(COM 端口)的 STM32F401RET6。USB 在正常运行时工作正常,但我无法访问 DFU。
我认为由于某种原因未检测到 HSE 或引导加载程序中发生其他故障。启动时把BOOT0拉到3V3,正常程序不启动,这还好。但是当我插入 USB 数据线时,设备会重置并以正常模式启动,而不是 DFU。
我尝试使用 USART1 访问 DFU,它似乎连接正常。根据 AN2606,似乎未检测到 HSE:

然而,HSE 在正常模式下运行时可能工作得很好,因为 USB CDC 可以工作,我可以使用带有 USB COM 端口的终端进行通信
我使用 8 MHz HSE:

该设备可以通过 USB 或外部电源插孔供电。
有没有人知道如何推进、测试什么或如何解决这个问题?谢谢你。








回帖(1)

洪欣意

2022-12-30 11:07:18
谢谢大家的许多提示和帮助。我现在将分享我是如何解决这个问题的。
tl;dr我从 STM32F401 更改为 STM32F446,它可以工作。
没有执行任何布局或设计更改,我实际上只是互换了这两个 MCU,现在,它就像奇迹一样工作。当在外部晶体的某种频率值(非常奇怪的 5 MHz iirc)下连接时,STM32F401RE 有时至少会尝试枚举为 STM32 引导加载程序。这可能指向一个与 HSE 相关的问题,但这就是我所知道的(可能与 PCB 布局、启动时间、稳定性有关——只是我的猜测)。
当 STM32F446 DFU 设备保持连接和断开连接时,我遇到了一些问题,但经过一些分析,这只是由于焊接不良导致的接触不良造成的
正如 Jan 正确建议的那样,一定要确保有坚固的电缆、坚固的连接器(PC 和 PCB)和良好的焊点!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分