python - 尝试在 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 设备”的驱动程序,但没有找到任何官方或鼓舞人心的驱动程序。
我的设置:
- boot0 引脚通过与 VDD 桥接来上拉
- 通过 mini-USB-to-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 Utility 识别电路板并能够用它上传 .hex 文件。遗憾的是,就 MicroPython 而言,这并没有真正帮助我。
所以我真正的问题是如何将 MicroPython 安装到 STM32F4 上,重要的问题可能是如何让开发板被识别为 DFU 设备。
解决方案
假设您已经为 STM32F4DISCOVERY 构建了 micropython 固件,您可以使用 st-util 和 gdb 来加载固件。
terminal 1:
st-util
terminal2:
$gdb firmware.elf
(gdb) target extended localhost:4242
(gdb) load
推荐阅读
- tensorflow - 多层 LSTM 网络的 Tensorflow 复用
- linux - Bash 脚本:max,min,sum - 许多来源作为参数
- docker - 使用 docker 安装 TaskCat,并运行 taskCat 错误 bash: taskcat: command not found
- ionic-framework - 我的滑块覆盖流效果在 Ionic 4 中不起作用
- javascript - React 正在映射重复的帖子
- r - R中的不可变对象-引擎盖下发生了什么?
- c# - 在 C# 中关联不同类型的数组
- c++ - 未选择复制作业
- java - Java 8 - 使用 Stax 拆分巨大的 XML 文件会产生意想不到的结果
- amazon-web-services - 弹性 beanstalk 实例的自定义 IAM 实例配置文件在 S3_MALFORMED_POLICY 上失败