USB 标准中的功能描述符是什么?

What is a Functional Descriptor in USB standards?

我是 USB 的新手,我正在尝试开发一个可以在我们的应用程序中执行 Device Firmware Upgrade 的库。

DFU 标准 http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf 谈到 Run-Time DFU Functional Descriptor。 我知道 Deviceconfigurationinterfaceendpoint 描述符是什么,但我不知道 Functional 描述符是什么。因此我的问题是:

1。什么是函数描述符?

2。如何检索有关功能描述符的信息?

我正在与 libusb 一起工作。所以如果你有任何例子,那将是很大的帮助。

1 - 设备、配置、接口、端点是用于定义设备及其接口的标准描述符。这些描述符包含通用信息,可以被 USB 设备读取 driver.

But Functional descriptors are device class specific and its known to only the class drivers. So every class such as CDC, DFU, HID, etc. has their own functional descriptor specific to the class functionalities.

功能描述符描述了class接口描述符中的具体内容。一个 class 特定的接口描述符可以有多个功能描述符。功能描述符具有通用的 header 格式。

2 - 由于功能描述符是 class 接口描述符的一部分,请使用 libusb API 读取接口描述符,您将获得功能描述符也是。