USB дескриптор инструмент?

9

Кто-нибудь может порекомендовать какой-нибудь Wizard-подобный инструмент для создания дескрипторов USB-устройств?

Большинство (все?) Примеров прошивок USB, которые я до сих пор рассматривал, определяют дескрипторы как простой байтовый массив в файле .c, заполненный вручную (с небольшой помощью макросов).

Это не чёрная магия, очевидно, но я верю, что простой специализированный инструмент может быть полезен. Погуглил он не дал никаких полезных результатов, однако ...

Художники кода
источник

Ответы:

1

Подобный волшебнику инструмент может быть милым в первый раз, когда вы его используете, но потом он мешает. Лучшим методом является приличная структура дескрипторов в памяти и несколько полезных макросов и другой логики предварительной обработки, так что вы можете предоставлять информацию на более высоком уровне, и правильные байты и биты автоматически заполняются.

Мой USB-стек для PIC 18 работает так. Вы можете установить это и кучу других вещей на моей странице загрузки программного обеспечения . Статическая настройка USB определяется в двух файлах. Их шаблоны называются QQQ_USB.INS.ASPIC и QQQ_USB0.INS.ASPIC в каталоге SOURCE> PIC. Сначала вы определяете VID / PID, какие конечные точки вы используете и какие типы передачи для каждой конечной точки в файле usb.ins.aspic. Затем вы изменяете дескрипторы в usb0.ins.aspic с небольшим количеством, которое вам нужно настроить. Поскольку он уже знает такие вещи, как типы передачи и размеры буфера, вы оставляете эти символы в покое и просто изменяете то, что уникально для вашей реализации. В большинстве случаев это только корректировка названия производителя и названия продукта. Это вы пишете как обычные строки, а макрос заботится о правильном форматировании.

Олин Латроп
источник
хорошо, у обоих способов есть плюсы и минусы. Я предполагаю, что правильно написанный инструмент может хранить настройки в каком-то текстовом файле (таким образом, можно хранить его в репозитории кода), и позволяет повторно редактировать настройки и заново создавать файл дескриптора, когда вам нужно. Я считаю, что это может быть полезно по крайней мере по двум причинам: а) убедиться, что дескриптор верен, б) предоставить некоторую полезную контекстную помощь для каждого поля. Еще один полезный вариант использования - импорт дескриптора с фактического USB-устройства, подключенного к ПК.
Исполнители кода
@ Czajnik: Вы смотрели на код, который я упоминал вообще? Это действительно не так сложно, чтобы заполнить то, что вы хотите.
Олин Латроп
1
Да, я сделал (кстати, exe-файл немного недружелюбен для пользователей Linux). И я уже делал свои дескрипторы, как я уже сказал, для меня это не черная магия. Я думаю, это вопрос личных предпочтений, на самом деле :)
Code Painters