Jump to content

    
Sign in to follow this  
V_M_Luck

Подскажите по winUSB

Recommended Posts

Что-то я читал, читал по subj и так ничего не прояснил.

Я правильно понимаю, чтобы мой девайс с двумя bulk endpoints успешно заработал под win xp, 7, необходимо просто правильно написать inf?

Где можно внятно почитать, как именно правильно писать inf?

Смущает момент подписывания inf. Это как-то обходится?

 

Заранее благодарен за любую информацию.

Share this post


Link to post
Share on other sites
...Где можно внятно почитать, как именно правильно писать inf?...

Попробуйте почитать главу 13 в книге "Агуров П.В. Практика программирования USB.2006.djvu".

 

...Смущает момент подписывания inf. Это как-то обходится?...

При использовании 32-разрядных версий Windows подписывать драйвер не нужно.

Полезные ссылки на руководства приведены в теме Проблема CyUSB.sys и 64-х битных Windows

 

Возможно, Вам будет проще работать с WinUSB с помощью библиотеки LibUsbDotNet C# USB Library проекта LibUsbDotNet.

Share this post


Link to post
Share on other sites

Пример использования WinUSB для контроллера SiLabs C8051F340. Firmware позволяет использовать WinUSB.sys без написания и подписывания своего INF файла в Windows 7 и Windows 8. Firmware является модификацией примера "\SiLabs\MCU\Examples\C8051F34x\WinUSB_Bulk\Firmware". Software для этого примера не изменялось.

 

Для демонстрации примера:

  1. Загрузите в C8051F340 прошивку "\WinUSB_Bulk_Keil\Firmware\WinUSB_F340.hex" из архива "WinUSB_Bulk_Keil.7z".
  2. Подключите Ваше устройство USB с этим контроллером к компьютеру с Windows 7 (со всеми обновлениями) или Windows 8.1.
  3. Удостоверьтесь, что Windows тихо установила драйвер WinUSB для Вашего устройства USB (проверьте, что в Диспетчере устройств появился новый раздел "Устройства USB" и в этом разделе находится "C8051F3xx Bulk Example").
  4. Проверьте, что работает программа "\WinUSB_Bulk_Keil\Host Application Source\Release\SLAB_USB_Bulk.exe" из архива "WinUSB_Bulk_Keil.7z".

P.S. Архив содержит исходники :)

WinUSB_Bulk_Keil.7z

post-5644-1382788573_thumb.png

Share this post


Link to post
Share on other sites

Пример использования WinUSB для контроллера Cypress Cy7C68013A (FX2LP). Firmware позволяет использовать WinUSB.sys без написания и подписывания своего INF файла в Windows 7 и Windows 8. Firmware является модификацией примера Archive.rar из темы прием данных из АЦП в ПК по USB.

 

Для демонстрации примера:

  • Подключите Ваше устройство USB с контроллером FX2LP к компьютеру с Windows 7 (со всеми обновлениями) или Windows 8.1 в режиме The Default USB Device (см. разделы 3.2 и 3.3 в "EZ-USB® Technical Reference Manual").
  • С помощью утилит "CyConsole" или "Control Center" загрузите в FX2LP файл "\firmware\ADC_to_USB.hex".
  • Удостоверьтесь, что Windows тихо установила драйвер WinUSB для Вашего устройства USB (проверьте, что в Диспетчере устройств появился новый раздел "Устройства USB" и в этом разделе находится "ADC to USB").

Может быть кто-то напишет тестовую программу под Windows для этого firmware :rolleyes:

Firmware_FX2M.7z

post-5644-1390848836_thumb.png

Share this post


Link to post
Share on other sites

Нашёл эту тему в поиске, вопрос есть.

Есть серия устройств на контроллерах MSP430, под которые всегда был собственный универсальный драйвер. Сейчас рассматриваю переход на WinUsb в связи постоянным усложнением подписи/регистрации драйверов. Кто знает, что будет дальше...

Прописал дескрипторы, всё как ни странно заработало за исключением одного НО: к устройству не привязывается DeviceInterfaceGUID, который я честно передаю (в два захода, как и написано в доке) в Extended Properties OS Feature Descriptor.

Я даже дескриптор этот честно из мануала пробовал копировать, но всё равно он не прикручивается. При этом никаких ошибок при установке не возникает, "WinUsb запущен", как сообщается в свойствах устройства.

Кто-нибудь сталкивался с таким безобразием?

Устройство usb 2.0, порты 3.0, windows 8.1, ноут asus n56vb2

Спасибо заранее!

Share this post


Link to post
Share on other sites

В общем, нашёл проблему - всё-таки неверно передавался Extended OS Feature Descriptor.

Сейчас всё работает, данные передаются, команды командуются.

Если у кого проблемы - могу что-нибудь посоветовать.

Ура!

Share this post


Link to post
Share on other sites
[*]Удостоверьтесь, что Windows тихо установила драйвер WinUSB для Вашего устройства USB (проверьте, что в Диспетчере устройств появился новый раздел "Устройства USB" и в этом разделе находится "ADC to USB").

А Guid в регистри прописывается?

У меня - нет (W10, W7).

 

В общем, нашёл проблему - всё-таки неверно передавался Extended OS Feature Descriptor.

Сейчас всё работает, данные передаются, команды командуются.

Если у кого проблемы - могу что-нибудь посоветовать.

Ура!

А проблему и решение можете описать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this