DFU 类特定请求
2022-02-17
1072
0
DFU类特定请求用于完成升级操作。 下表总结了 DFU 类特定的请求。
Request | Request code | Request description |
---|---|---|
DFU_DETACH | 0X00 | 请求设备离开DFU模式,进入应用程序 |
DFU_DNLOAD | 0x01 | 请求Host主机端数据发送到设备端,将数据加载到设备内部Flash.这个过程包含擦除Flash命令的过程 |
DFU_UPLOAD | 0x02 | 请求设备端的数据传输到主机端,将设备内部Flash相应的数据加载到Host主机端的文件中 |
DFU_GETSTATUS | 0x03 | 请求设备发送状态报告到主机端(包括上一个请求执行的状态和这个状态之后设备即将进入的状态) |
DFU_CLRSTATUS | 0x04 | 请求设备清除错误状态并移动到下一步 |
DFU_GETSTATE | 0x05 | 在这个请求之后,请求设备仅仅发送当前即将进入的状态 |
DFU_ABORT | 0x06 | 请求设备离开当前状态/操作,并立即进入空闲状态 |
DFU类特定请求格式
bmRequestType | bRequest | wValue | wIndex | wLength | Data |
---|---|---|---|---|---|
00100001b | DFU_DETACH | wTimeout | Interface | Zero | None |
00100001b | DFU_DNLOAD | wBlockNum | Interface | Length | “Firmware” |
10100001b | DFU_UPLOAD | 0 | Interface | Length | “Firmware” |
10100001b | DFU_GETSTATUS | 0 | Interface | 6 | Status |
00100001b | DFU_CLRSTATUS | 0 | Interface | 0 | None |
10100001b | DFU_GETSTATE | 0 | Interface | 1 | State |
00100001b | DFU_ABORT | 0 | Interface | 0 | None |
bRequest | Value | Protocol |
---|---|---|
DFU_DETACH | 0 | 1 |
DFU_DNLOAD | 1 | 2 |
DFU_UPLOAD | 2 | 2 |
DFU_GETSTATUS | 3 | 1(可选), 2 |
DFU_CLRSTATUS | 4 | 2 |
DFU_GETSTATE | 5 | 1(可选), 2 |
DFU_ABORT | 6 | 2 |
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936