DFU
+ -

DFU 运行时功能描述符

2022-02-17 893 0

运行时DFU功能描述符全称Run-Time DFU Functional Descriptor。
描述符对于运行时和 DFU 模式描述符集是相同的

运行时DFU 功能描述符格式

偏移 字段 长度 描述
0 bLength 1 09h 描述符的长度,以单字为单位
1 bDescriptorType 1 21h DFU FUNCTIONAL描述符类型
2 bmAttributes 1 位图 见下
3 wDetachTimeOut 2 数字 设备在收到请求DFU_DETACH后等待的时间(以毫秒为单位),如果这段时间没有USB重置,那么设备将终止重新配置阶段并恢复恢复正常运行。这表示所需的最长时间设备可以等待(取决于计时器等)。主机可以指定DFU_DETACH请求中的超时更短。
5 wTransferSize 2 数字 设备可以接受的每次控制写入事务的最大字节数。
7 bcdDFUVersion 2 BCD DFU 规范BCD版本

bmAttributes

  • BIT7…4:保留
  • Bit3(bitWillDetach):设备在收到 DFU_DETACH 请求时将执行总线detach-attach序列。主机不得发出 USB 复位。0=no,1=yes
  • Bit 2(bitManifestationTolerant): 设备在 Manifestation 阶段后能够通过 USB 进行通信。0=no,必须总线复位 1=yes
  • Bit 1(bitCanUpload): upload capable 0=no,1=yes
  • Bit 0(bitCanDnload): download capable 0=no,1=yes

运行时DFU 功能描述符示例

        ----- Device Firmware Update Functional Descriptor ----
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x21 (DFU Functional Descriptor)
bmAttributes             : 0x0D
 Bit 7..4: reserved      : 0x00
 Bit 3: WillDetach       : 0x01
 Bit 2: ManifestTolerant : 0x01
 Bit 1: CanUpload        : 0x00
 Bit 0: CanDownload      : 0x01
wDetachTimeOut           : 0x00FF (255 ms)
wTransferSize            : 0x1000 (max 4096 bytes)
bcdDFUVersion            : 0x0110 (Version 1.10)
Data (HexDump)           : 09 21 0D FF 00 00 10 10 01
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB-C/TYPE-C的角色分类及定义
USB总线是一个主从总线,在一条USB总线中,只能有一个USB主机,其余设备都是从机。USB总线中两个设备通过USB总线连接之前,其主从关系是一般是确定的(OGT除外)。如USB的下行端口(DownStreaming Face Port,DFP)一般为主机,而而USB的上行端口(UpStreami......
DFU 术语
缩写英文中文DFUDevice Firmware Upgrade设备固件更新FirmwareExecutable software stored in a write-able, nonvolatile memory on a USB device存储在USB设备上......
DFU 介绍
购买了 USB 设备的用户需要能够在制造商提供的改进版本中升级这些设备的固件。DFU就是完成该任务的机制。任何类型的 USB 设备都可以通过支持本文档中指定的要求来利用此功能。本文档重点介绍为已在现场部署的设备安装产品增强功能和补丁。固件升级功能的其他潜在用途超出了本文档的范围。由于设备同时......
DFU 固件更新过程
完成实现固件升级可以分为4个不同阶段。1.枚举:设备把自身的一些特性告知主机,嵌入在设备正常运行描述符中的一个DFU类接口描述符和相关的函数符能够完成这个目的,并且能够为通过控制管道的类专用的请求提供目标。2.DFU枚举:主机和设备同意开始固件升级,主机向设备发出USB复位,设备发出第二个描述符......
DFU 类特定请求
DFU类特定请求用于完成升级操作。 下表总结了 DFU 类特定的请求。RequestRequest codeRequest descriptionDFU_DETACH0X00请求设备离开DFU模式,进入应用程序DFU_DNLOAD0x01请求Host主机端数据发送......
DFU 运行时接口描述符
因为DFU仅使用控制端点故不存在端点描述符。 这样主机提供了足够的信息来识别设备能够执行固件升级操作。 它还提供了通过默认控制管道启动此类操作的方法。DFU 类接口通常是为每个运行时配置枚举的最后一个接口。但是,并不要求此接口占据任何特定位置。DFU 接口描述符格式偏移字段长度值描......
DFU 运行时功能描述符
运行时DFU功能描述符全称Run-Time DFU Functional Descriptor。描述符对于运行时和 DFU 模式描述符集是相同的运行时DFU 功能描述符格式偏移字段长度值描述0bLength109h描述符的长度,以单字为单位1bDescrip......
DFU 模式配置描述符
DFU模式配置描述符与USB规范描述的标准配置描述符相同,但bNumInterfaces字段必须包值01h。偏移量名称大小说明0bLength1描述符长度(9字节)1bDescriptorType1描述符类型(配置描述符为0x02)2wTotalLe......
DFU 运行时
在正常运行时操作期间,设备会公开其正常的描述符集。但是,在每个支持DFU的运行时配置中插入了以下附加描述符:运行时DFU特定类接口描述符运行时功能描述符运行时描述符集公开设备的正常运行时设备描述符和配置描述符。支持DFU的每个配置的配置描述符的bNumInterfaces字段增加1,以适应运行......
USB 设备功能描述符(Device Capability Descriptor)
设备功能描述符(Device Capability Descriptor)是用于存储特定某项技术或设备功能信息的描述符,和BOS描述符(BOS Descriptor)一起由Wireless Universal Serial Bus Specification Revision 1.0规范引入,之后在......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!