Что такое функциональный дескриптор в стандартах USB? - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в USB и пытаюсь разработать библиотеку, которая может использовать Device Firmware Upgrade в нашем приложении.

Стандарт DFU http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf говорит о Run-Time DFU Functional Descriptor.Я понимаю, что такое дескрипторы Device, configuration, interface и endpoint, но я не знаю, что такое дескрипторы Functional.Поэтому мои вопросы:

1.Что такое функциональный дескриптор?

2.Как получить информацию о функциональном дескрипторе?

Я работаю с libusb, чтобы выполнить свою работу.Так что, если у вас есть примеры, это очень поможет.

1 Ответ

0 голосов
/ 22 мая 2018

1 - Устройство, Конфигурация, Интерфейс, Конечная точка являются стандартными дескрипторами для определения устройства и его интерфейсов.Эти дескрипторы содержат общую информацию и могут быть прочитаны драйвером устройства USB.

Но функциональные дескрипторы зависят от класса устройства и известны только драйверам класса.Таким образом, каждый класс, такой как CDC, DFU, HID и т. Д., Имеет свой собственный функциональный дескриптор, специфичный для функциональных возможностей класса.

Функциональный дескриптор описывает специфическое для класса содержимое в дескрипторе интерфейса.Дескриптор интерфейса конкретного класса может иметь более одного функционального дескриптора.Функциональные дескрипторы имеют общий формат заголовка.

2 - Поскольку функциональные дескрипторы являются частью дескриптора интерфейса класса, прочитайте дескриптор интерфейса, используя libusb API, и вы также получите функциональный дескриптор.

...