我正在使用基于
STM32L476 的 STLKT01V1 Sensor
tile。
由于 STLKT01V1 无法选择硬件的 DFU 更新,在我的固件中,我实现了一个跳转到嵌入式引导加载程序的功能,如应用笔记中所述,这工作正常。
然而,问题是:
1) 我使用的是 Windows 10 Pro 64 位,DFUse 应用程序找不到设备。
驱动程序似乎已正确安装,但我看到一条消息可能被翻译为“设备需要额外安装”。
相反,如果我使用 Windows 7 32 位启动我的 PC,我没有任何问题:DFUse 实用程序找到设备并正确刷新它。
2)好像是DFU文件管理器生成的DFU文件有问题。
从 Windows 7 开始,我刷新了设备,但在重置后,我发现它不起作用。
使用 Segger JLINK,我读取闪存的内容,发现固件的最后 ~1000 字节没有写入。我尝试多次刷新设备,写入过程总是在同一点阻塞。
然后,我执行了以下步骤:
- 我用 SEGGER JLINK 刷新了设备。
- 我通过使用 DFUse 读取内存内容生成了一个 DFU 文件。
- 然后,我使用该 DFU 文件刷写另一台设备,这次我得到了一台可以工作的设备,固件的所有部分都正确写入了闪存。
您是否了解这些问题的原因和可能的解决方案?