【发布时间】:2018-05-21 20:12:27
【问题描述】:
我正在尝试在 STM32 微控制器系列上使用 Python,并且正在使用 STM32F4 Discovery 板和 STM32F429 MCU 进行实验。
MicroPython Github 自述文件对 STM 进行了演练,但我在部署步骤中一直失败,它不断提高值错误 'No DFU device found'。 (这发生在 Windows 主机上 Virtualbox 内的 Manjaro 上)
现在我尝试在 Linux 和 Windows 主机上将该板识别为 DFU 设备,但无济于事。 Windows 确实在硬件管理器中显示了该板,但它始终显示为“STM32 STLink”。它也不被文件系统识别为大容量存储,与我也尝试过的 STM32F103 Nucleo-64 板相反,它是(在 Windows 和 Linux 上)。再说一次,F103 Nucleo 也没有被识别为 DFU 设备(尽管我可能没有正确的引导引脚向上/向下拉那个)。
我在这里尝试了使用 DfuSe 的官方教程:https://www.youtube.com/watch?v=Kx7yWVi8kbU 然而,在 3:45 左右,当设备被识别为“DFU 模式下的 STM 设备”时,它不适合我。并且它在 DfuSe 的相应下拉列表中没有显示任何“可用的 DFU 设备”。我试图寻找一个名为“STM Device in DFU mode”的驱动程序,但没有找到任何官方或鼓舞人心的驱动程序。
我的设置:
- boot0 引脚通过与 VDD 桥接来上拉
- 通过 mini-USB 转 USB 电缆将板 (CN1) 的 STLink 部分连接到 PC
- CN4 的跳线都已连接
- Idd (JP3) 的跳线已连接
- Windows 10 Pro(以及 Virtualbox VM 上的 Manjaro)
到目前为止我尝试过的:
- 安装 DfuSe
- 手动安装随附的 DfuSe 驱动程序
- 从 STMicroelectronics 官方网页下载和安装 USB 驱动程序
- 在 linux 上使用 dfu-util
- 从 ST 网页安装虚拟 COM 端口驱动程序
- 安装 ST-Link 实用程序
到目前为止,我唯一的成功是让 STLink 实用程序识别电路板并能够用它上传 .hex 文件。遗憾的是,这对于 MicroPython 并没有真正帮助我。
所以我真正的问题是如何将 MicroPython 安装到 STM32F4 上,重要的问题可能是如何让开发板识别为 DFU 设备。
【问题讨论】:
-
您不能通过 st-link 使用内置的引导加载程序 :)。您需要将 USB 连接到目标 uC,因此将 ST-Link 连接到 PC 是没有意义的。使用(如果填充在板的另一侧)。如果它是内部引导加载程序使用的,那么它将起作用。
-
@PeterJ_01 你的意思是我应该通过“USB USER”端口 (CN6) 将开发板连接到我的计算机?我仍然可以通过另一个 USB 端口为其供电,还是需要获得 5V 电源并将其连接到相应的引脚?
-
当然你需要在那里连接。是什么让你得出另一个结论。您可以通过 St-Link 为其供电 - 但只有连接的计算机由同一电源供电时才安全。
-
好吧,考虑到我对嵌入式编程完全陌生(之前只使用过 RPi),而且我没有找到适合傻瓜的分步教程,我基本上是在猜测......如果你有更多资源给我,我会很感激。一直在努力学习!感谢您迄今为止的帮助
-
我也用 USER USB 试过了,遗憾的是我的电脑无法识别该板。还有其他想法吗?跳线就是他们在 ST youtube vid 中的样子。但是它有一个不同的板,所以也许这就是问题所在?
标签: python driver stm32f4discovery micropython dfu