首页 > 解决方案 > 尝试在 STM32F4Discovery 上实现 MicroPython 时未检测到 DFU 设备

问题描述

我正在尝试在 STM32 微控制器系列上使用 Python,并且正在使用 STM32F4 Discovery 板和 STM32F429 MCU 进行实验。

MicroPython Github 自述文件对 STM 进行了演练,但我在部署步骤中一直失败,它不断提高值 error '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 设备”。我尝试寻找一个名为“DFU 模式下的 STM 设备”的驱动程序,但没有找到任何官方或鼓舞人心的驱动程序。

我的设置:

到目前为止我已经尝试过:

到目前为止,我唯一的成功是让 STLink Utility 识别电路板并能够用它上传 .hex 文件。遗憾的是,就 MicroPython 而言,这并没有真正帮助我。

所以我真正的问题是如何将 MicroPython 安装到 STM32F4 上,重要的问题可能是如何让开发板被识别为 DFU 设备。

标签: pythondriverstm32f4discoverymicropythondfu

解决方案


假设您已经为 STM32F4DISCOVERY 构建了 micropython 固件,您可以使用 st-util 和 gdb 来加载固件。

terminal 1:
st-util

terminal2:
$gdb firmware.elf
(gdb) target extended localhost:4242
(gdb) load

推荐阅读