Skip to content
mcuee edited this page Sep 5, 2021 · 14 revisions

Welcome to the libusbk wiki!

libusbk document: http://libusbk.sourceforge.net/UsbK3/index.html

Table of Contents

What is it?

libusbK is a complete driver/library solution for vendor class usb device interfaces. If you are a usb developers or usb device manufacturer seeking a driver solution for a new USB widget then libusbK could be for you.

libusbK encompasses a 100% WinUSB compatible api/funtion set. All WinUSB power/pipe polices are fully supported by the libusbK driver. In Addition, libusbK has full support for isochronous endpoints and an extensive set of additional modules to simplify development.

Attention

libusbK is not an end-user component, i.e., If your googling for a usb driver because windows can't seem to find one, this is not the solution.

Licensing

LibusbK is dual license under GPL and modified BSD. For redistribution purposes, libusbK can be licensed under either agreement. See the license folder which accompanies each libusbK package for license details.

Bindings for other languages

The main libusbK library is written in standard C, but official bindings for the libusbK standard C library are provided for the folllowing languages:

How to build libusbk

Recommended tools: VS2019 or later

WDK 7.1 (7600.16385.1), https://www.microsoft.com/en-us/download/details.aspx?id=11800

Where is DOSCMD? https://github.com/mcuee/libusbk/issues/23

How to using libusbk library with MinGW GCC

You can link to libusbk.dll with MinGW GCC. Recommended toolchain to build the examples is tdm64-gcc.

Examples running log

kBench can reach very fast speed with Cypress USB 3 devices. https://github.com/mcuee/libusbk/tree/master/BmFW/CYPRESS_FX3