问题标签 [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.

0 投票
1 回答
181 浏览

usb - 制造商如何在 USB 闪存设备上禁用 DFU

我正在查看 USB 3.0 闪存设备上的 Phison 2307 控制器,我看到了一些使用已成功更新和修改的 Phison 2303 控制器的示例。我很想知道如何使用更新的控制器删除此功能?

0 投票
1 回答
2292 浏览

embedded - 最常见的固件更新协议

我应该为没有 USB 且程序内存大小有限的嵌入式设备选择(并可能实施)固件更新协议/软件/程序。该设备大部分时间都可以自主工作,但偶尔会有技术人员过来更新固件。

如果我想使用 RS232 或 CAN,最常见的更新协议选择是什么?

更新的要求是:在中断更新后完成(我假设需要引导加载程序),内存占用小,将用户设置与新引入的用户数据字段(在 EEPROM 中)合并,使用可以回滚更新,安全地更新引导加载程序本身。

如果引导加载程序和更新客户端软件的实现也已经存在(至少对于 Windows),那就太好了。

只是出于好奇-对于带有 USB 的设备,是否有任何好的替代 DFU 的方法?

提前致谢

0 投票
2 回答
1345 浏览

stm32 - STM32F446 DFU:free() 函数的硬故障

我目前尝试使用 ST 的 Dfuse 升级我的固件。在 VCP 模式下的应用模式 USB HS 允许计算机和 µC 之间进行通信,我使用此通信和未初始化的变量来重置设备并使用以下代码配置 DFU 接口。

当我通过手动将变量 DFU_OR_CDC 设置为 DFU 仅使用 DFU 时,它工作正常,但是如果我使用 VCP,然后使用我的命令使用 DFU,我会在 DFU_DeInit 上出现 de HardFault(来自 ST 的示例),尤其是在 free() 函数中.

调试器指示一个 UNDEFINSTR (Keil V5) 的地址为 0x080089A8 用于自由功能。UNDEFINSTR 表示我尝试跳转到没有代码所在的地址,但我无法理解为什么。

任何帮助都会很友善。

0 投票
2 回答
458 浏览

objective-c - 将 Objective-C 代码转换为 Swift

我一直在使用 nrf51x。我有一个用 Obj-C 编写的示例代码。我无法将其转换为 Swift。

我试过了

和这个

谁能帮我?非常感谢

0 投票
1 回答
979 浏览

macos - IOUSBDevice 的 DeviceRequest 在 OS X 上返回 0xe000404f

我正在开发 USB 设备的驱动程序和应用程序,以通过 DFU 更新固件。我有正常工作的 USB 设备。之后我尝试更新设备的固件,并在下载固件时拔下 USB 电缆。下载按预期失败。之后,我插入 USB 设备,它处于产品 0xffff 的 DFU 模式,因为固件已损坏。我尝试再次开始更新,每次调用 IOUSBDevice::DeviceRequest 都会返回 0xe000404f 错误(kIOUSBPipeStalled - 管道已停止,需要清除错误)。

我用 USB Prober 进行了检查,处于 DFU 模式的设备没有任何端点。我不确定它是如何工作的,但看起来在调用 DeviceRequest 时使用了管道零。所以也许我应该调用类似于管道零的 ClearPipeStall 的东西来与固件损坏的 DFU 模式下的设备一起工作?我该怎么做?如果我的假设是错误的,我该如何解决这个问题?在 DFU 模式下插入设备后,我不执行任何 I/O 操作,我只是像往常一样获取 pid/vid 并找到 IOUSBDevice 对象和 IOUSBInterface(DFU 接口)对象。

在 El Capitan 上,我使用 IOUSBHostInterface::deviceRequest() 并且它也返回一个错误(但错误代码不同,我丢失了代码并且现在无法获取它,因为我在我的 Mac 上安装了 Mavericks)。

0 投票
1 回答
3448 浏览

embedded - STM32 引导加载程序不起作用

我想在STM32F407板上写代码。所以我写了眨眼示例代码并遵守了它。然后在其中插入二进制程序。完成此操作后,我物理地断开了 USB 连接并再次连接。但是usb没有反应。所以我打开“设备管理器”看看发生了什么。STM32 USB 连接显示“未知设备(设备请求描述符失败)”。我尽我所能来解决这个问题。这个问题有什么解决方案..?

0 投票
1 回答
193 浏览

c++ - LPC 微控制器上的 DFU 问题

我正在为 LPC4330 微控制器编写一个应用程序,它允许用户使用 USB DFU 类更新固件。我编写了所有代码,并想使用 dfu-util 软件对其进行测试。但是当我尝试这样做时,会出现一些错误:

  1. 当我列出 USB 设备时,会出现两个具有相同参数(供应商 ID、设备 ID、配置和接口)的元素。当我在应用程序中创建断点时,情况发生了变化,在中断处理函数被调用的地方。然后只有一台设备出现在列表中。

  2. 我无法分离设备,因为我收到错误“没有 USB 设备支持 DFU”。即使 dfu-util 仅列出了一台设备。

  3. 当仅列出一个设备时,我可以开始执行上传/下载操作,但应用程序向我发送错误,无法声明该接口。

这些问题的原因可能是什么?它可以与 LPC4330 功能连接,允许用户使用 dfu 将程序闪存到内存中吗?

预先感谢您的回答!

0 投票
1 回答
988 浏览

macos - ./bootstrap.sh 期间的 dfu-programmer 0.6.2 错误消息

我正在寻求一点帮助。我正在做一个爱好项目,用一个带有加速度计的 Arduino 创建一个鼠标。

作为其中的一部分,我需要更改 atmega16u2 上的固件。我有一个 mac,所以我正在尝试使用 dfu-programmer。

当我在终端中使用 ./bootstrap.sh 命令行时,会显示以下错误消息。我想知道是否有人可以阐明他们的意思以及这是否会阻止程序运行?

0 投票
1 回答
1960 浏览

arm - 如何为 u-boot 添加 DFU 支持?

我正在尝试将 DFU 支持添加到我在项目中使用的 u-boot,因为我发现其中未启用 DFU 支持。

我正在使用飞思卡尔 u-boot(从gi​​t://git.freescale.com/imx/uboot-imx.git克隆),我检查了标签“ rel_imx_4.1.15_1.1.0_ga ”,这是我的m 需要继续工作。

问题是通过 u-boot 文档我可以看到必须启用 DFU。我将以下内容添加到我的 .h 文件中

但我收到以下错误:

我注意到如果我从 .h 文件中删除#define CONFIG_CMD_DFU它编译得很好但是如果我在 u-boot shell 中输入=> dfu它会说:

所以问题是*你知道我还需要添加什么来在我正在使用的 u-boot 中启用 DFU 吗?

谢谢!!

0 投票
1 回答
367 浏览

embedded - Dfu-util 在一台 PC 上的运行速度比在另一台 PC 上慢 10 倍

我正在使用 Dfu-util 将固件闪存到 NXP 设备上。在我的 Windows 7 64 位台式机上一切正常,但在我的戴尔 Inspiron 6400 笔记本电脑上,运行 W10 32 位(相当不错,碰巧),固件下载大约需要十倍的时间。任何指示或建议将不胜感激。