Skip to main content
dkattan
Associate
July 2, 2012
Question

STM32 WinUSB driver Autobinding. Get it here.

  • July 2, 2012
  • 3 replies
  • 2597 views
Posted on July 02, 2012 at 05:36

Hey guys, I just wanted to share something cool I did recently.

For people that are making custom peripherals (that don't abide by a particular class like HID, MSD, etc) it is very advantageous to have a generic USB driver binded to your device. Windows Vista, 7, and 8 make use of WinUSB.sys as a generic driver and if you perform a special ''handshake'' of sorts, you can actually convince Windows to bind this driver to your hardware automagically (literally zero user interaction). Your user level application can then either directly talk to WinUSB, or can use a library like libusb-1.0 (not libusb-win32) to talk to your hardware.

Attached are both of the USB Libraries ST makes available, with the changes made to make them autobind.

The example that I made work is the HID Device example for the STM32F107 (using the Full Speed OTG USB peripheral)

Please note that I am developing this on custom hardware that uses a 16MHz external oscillator so be sure to configure your PLLs accordingly such that your USB peripheral gets its appropriate 48Mhz clock.

Also, I do not have VUSB pinned out, so that functionality is disabled.

I would LOVE to see ST add this functionality to the existing library, as it would make the lives of custom hardware designers MUCH easier.

#wcid #libusb #winusb #stm32
This topic has been closed for replies.

3 replies

Tesla DeLorean
Guru
August 10, 2018

Thanks for sharing, bumping old zombie thread to get off my feed

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
StefanoP
Visitor II
January 9, 2019

Hi,

I can't find the attachement, could you re-upload it?

Thanks

BLu
Visitor II
October 3, 2019

Thanks for sharing!