问题标签 [dfu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
usb - STM32 bluepill USB 引导加载程序 DFU
我正在尝试为蓝色药丸 STM32F103 制作一个可用于多个项目的基础项目。我希望能够使用 mirco-USB 端口刷新设备并使用串行 COM 端口发送命令
到目前为止,我有:
- 使用 STLINK 工具成功创建了一个基于“hello world”闪烁 LED 生成文件的项目下载到设备
- 创建 UART 命令接口以通过串行 FTDI 设备进行命令
- 将 DFU 引导加载程序刷到芯片上,并成功使用它将我自己的(makefile 编译)bin 刷到设备上
使用 DFU 时,我发现将 .bin 刷入设备后,它不再显示为 USB 设备。按照下面链接的文章,我不需要修改我的项目代码的ROM地址,我在我的makefile项目链接器中将文件大小缩短到55k,但仍然没有成功
https://os.mbed.com/users/devanlai/code/STM32F103C8T6_USBDFU/graph/ https://github.com/devanlai/dapboot/releases/tag/v0.1
我的问题:
- 使用 DFU 引导加载程序时,一旦我的代码运行,如果我的应用程序代码中没有写入 USB 堆栈,它应该如何作为 USB 设备可见?
- 我需要移动 bluepill 上的跳线吗?我已经尝试了各种组合但没有成功
- 在我的项目中通过 USB 获得串行通信和引导加载程序而不编写和调试我自己独特的引导加载程序的最佳方法是什么?
arduino - 重置 Arduino 固件
我使用 Flip 将我的 Arduino 转换为 MIDI 控制器。现在我希望它恢复正常。我从 IDE 文件夹 (Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3) 中获取了固件,但是当我使用 Flip 将旧固件放回原处时,我收到错误"Address is out of range"。我能做些什么来解决这个问题?
ios - UIProgressView 不显示进度(iOS)
我有一个使用iOSDFULibrary更新 BLE 设备的应用程序。
我有这个功能:
当更新正在进行时,我希望我的 UIProgressView 相应地移动progress
并在进度达到 100 时完全填充。
到目前为止,我所拥有的是:
java - javax.usb - syncSubmit 有时会导致延迟
我正在开发一个使用 javax.usb 库的 java 应用程序,它运行良好,但有时当我用力推动它时,它开始从函数syncSubmit延迟返回。大约 2 秒而不是 10 毫秒。
可能是什么原因?我尝试重新初始化 javax usb 库,但它没有改变任何东西。
谢谢..
图书馆版
linker - 编译应用程序以不从闪存 stm32L4R9I 开始运行
我有一个 steval-stwinkt1 板,我正在尝试启用对 DFU 模式的支持。
我将服装引导加载程序固件刷新到闪存的开头(0x8000000),它可以让您加载到由 DFU 模式上传的另一个固件或留在当前程序中以刷新新固件抛出 USB。
我使用了这个 st 教程- https://www.youtube.com/watch?v=n_LDXOQHerU
我尝试了 STM32Cube 附带的 .dfu 包,我看到程序运行成功,所以我假设引导加载程序可以工作。
但是当我尝试从我的软件制作我自己的 DFU 包时,该软件永远不会加载,我遇到了严重的错误。我根据 ST totorial 和我所做的一些研究将软件移动到 0x800C000,方法是更改以下行:
在 FLASH.ld 文件中:
至:
并在 stm32l4r9xx.h 中将 FLASH_BASE 更改为:
在另一次尝试中,我尝试了更改而不是更改FLASH_BASE
,VECT_TAB_OFFSET
但它仍然没有用。
要制作 dfu 包,我使用 dfu-tool(我使用 linux)并使用以下命令:
还尝试使用我使用的教程中使用的官方工具转换十六进制 int dfu 包,但仍然没有工作
当我加载 dfu 包时,我需要进行哪些更改才能使我的软件正常工作?
谢谢
伊泰
bluetooth-lowenergy - Android BLE DFU多台设备陆续更新...但部分设备更新失败
通过使用北欧 Dfu 库(已更新),我必须一次性更新设备的固件,我有需要更新的设备的 mac 地址,假设我有30 个设备的 mac 地址,并且必须一个接一个地更新,通过使用北欧 dfu 库我成功更新了10 到 12 个设备,但其余设备通过 DFU 更新失败.
我尝试了一些解决方法,如下所示:
- 每次失败后,我等待大约 5 秒,然后再次尝试连接,这些尝试我做了 6 次,之后我跳过该设备并尝试使用另一个 mac 地址连接到另一个设备。
- 我做了小扫描只是为了刷新设备状态。
- 在每次断开连接回调时,我都会关闭 gatt。(gatt.close())
现在我缺少或解决更新最大设备的问题,无论是否更新所有 30 个但至少 25 到 27 个设备应该更新。有时我更新了 25 台设备,但大多数时候只有 12 到 15 或 10 到 12 台设备得到更新,其余的都失败了。
请帮助我,感谢任何帮助或解决方法。
react-native - 我可以在使用 react native nordic dfu library 执行设备固件升级时发送额外的参数(唯一字符)吗?
我想知道我们是否可以在 startDFU() 方法期间发送一个唯一字符,以便设备可以先验证此字符,然后启动固件升级。这个库(React native nordic dfu)可以做到这一点吗?
usb - STM32CubeIDE有什么方法可以使用USB DFU上传内存镜像吗?
最近我决定使用 USB DFU 而不是 SWD 将图像上传到 STM32 闪存。尽管那时无法进行调试,但这是一种更方便、更简洁的方法。
但我不需要调试功能。
我知道使用 STM32CubeProgrammer 我可以上传程序。但是在 STM32CubeIDE 中编译和生成图像文件并在 STM32CubeProgrammer 中选择图像文件并单击上传,然后手动断开连接,每次更改代码时都会产生巨大的开销和浪费时间。
那么有没有什么办法可以将STM32CubeProgrammer的功能与STM32CubeIDE集成起来,让这一切过程变得更加高效呢?
我已经在网上搜索了一段时间,但没有任何成功。
任何帮助或评论表示赞赏。谢谢。
macbookpro-touch-bar - 在 DFU 模式下获取 Macbook 的序列号
我通过 usb-c 将两台 Macbook Pro 连接在一起。其中一台笔记本电脑处于 DFU 模式。我需要一个代码才能在 DFU 模式下获取 MacBook Pro 的序列号或其他信息。