Nucleo 板上的 STM-Link 未枚举

STM-Link on Nucleo Board Not Enumerating

我有两个 nucleo 板(F4339ZI 和 F303K8),当我通过 USB 端口(CN1 - ST-[=31= 上的 USB 微型端口)将它们插入计算机时,它们都没有显示为 USB 设备],而不是开发板本身的 USB 端口)。

我在两台不同的计算机上尝试了多个主机 USB 端口,带和不带 USB 集线器,一台 运行ning OS X 和一台 运行ning Linux.我尝试了至少 6 种不同的电缆。 OSX 机器使用 USB-C 到 USB-A 转换器(如果这是正确的术语)。 Linux 机器有 USB-A 端口。

在任何情况下,设备都不会使用 Linux 下的 lsusb 或 OSX 下的 system_profiler SPUSBDataType 显示。不用说STM32CubeIDE和st-info看不到板子了。其他 USB 设备正常工作。

COM LED 呈红色缓慢闪烁,手册 (https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-stmicroelectronics.pdf) 表示 USB 枚举尚未完成(与从 OS 级别看到的相匹配)。

电路板在通电时成功运行 其工厂提供的闪烁程序。 我已经尝试(使用 F4395I)将 JP3 移动到 VIN,这样电路板就不会启动,应该只留下 ST-Link 运行ning - 虽然仍然没有枚举。

我尝试在 JP1 关闭(JP3 在 U5V 上)的情况下连接到 USB 充电器,电路板通电并闪烁 运行s。上面引用的手册说:

In case the board is powered by a USB charger, there is no USB enumeration, so the green LED LD6 stays in OFF state permanently and the target STM32 is not powered.

但一切都对我有用 - LD6 会变成稳定的绿色,就像连接到计算机时一样。

鉴于它发生在多台计算机、OSs、电缆和 Nucleo 板上,我认为错误出在我身上,这是所有测试中的共同因素。这是我第一次使用 Nucleo 板,所以我可能有一个错误的假设。

出于沮丧和缺乏其他尝试,我挖出了我能找到的所有微型 USB 数据线。每一端都有扼流圈,神奇地是,使用那根电缆,一切都按预期工作。

难道我至少有10根USB线坏了?我没有简单的方法来测试它们,但我想如果制造商假设人们只会用它们为手机充电,它们可能没有连接数据线以节省成本。我不记得它们都是从哪里来的……它们只是在一盒 USB 数据线中积累起来的。

也许 Nucleo 板对我房间周围漂浮的一些可怕干扰很敏感?

抱歉打扰了!断线确实是我怀疑的事情之一 - 但不是其中 6 个...