USBIO
with Windows Vista support
Release 2.41 of the USBIO Development Kit includes support for Windows
Vista and Windows Vista x64 Edition.
The Universal Serial Bus (USB) is supported in all current Windows operating systems. Drivers for USB host controllers and USB hubs are provided as part of the operating system, as are drivers for various standard USB devices.
Standard USB devices are those which belong to one of the device classes specified by the USB Implementers Forum, e.g. HID, CDC. Such devices are normally supported by class drivers already included in the operating system, and Windows applications communicate with standard devices using the appropriate software interfaces.
In many cases, a particular USB1.1 or USB2.0 device cannot be assigned to a device class because it has to fulfill different requirements, or because to implement the class specification in the device firmware is too time-consuming. This makes a custom USB device driver necessary, a kernel-mode driver which conforms to the Windows Driver Model (WDM). The WDM was introduced with Windows 98 and defines an uniform device driver architecture across all current Windows operating systems.
Developing a kernel-mode WDM driver is considerably different to developing Windows applications. It requires specialist knowledge in kernel-mode programming and a deep understanding of operating system internals. The development and debugging process can be very time-consuming, especially if the driver has to support different Windows versions (e.g. Windows 98, Windows 2000, Windows XP, and Windows Vista). These device driver development efforts can be avoided using the USBIO Software Development Kit for Windows.
Thesycon also offers the Embedded USB Device Stack and the embedded USB Host Stack for implementing the firmware of a USB device. With these development kits Thesycon provides the support for implementing the firmware and device driver for USB devices quickly and cost-effective.
The development kit includes the generic device driver
USBIO, which provides Win32 applications with direct access to USB 1.1
and USB 2.0 devices which are otherwise only accessible from kernel mode.
It can be used with any kind of USB device, enabling application developers
to control devices without having to develop a kernel-mode WDM driver.
The USBIO driver provides an extensive programming interface based on
standard Windows API functions such as ReadFile, WriteFile,
and DeviceIoControl. It supports the complete USB functionality
and is optimized for maximum efficiency. Data transfer to or from USB
devices is very similar to standard Win32 file I/O operations.
The Win32 native USBIO programming interface is ideal for use in programming
languages such as C and C++. The USBIO package includes a C++ class library,
providing an easy-to-use interface. To support Java application development,
a Java class library that is based on a JNI DLL is provided.
A high-level programming interface, the USBIO COM interface, is also
available. This is based on Microsoft's Component Object Model
(COM) technology and provides an extension to the native USBIO programming
interface. The COM interface allows the easy integration of USB functionality
into Visual Basic, Delphi and C# applications.
Several source code examples demonstrate usage of the programming interfaces
and show how an application controls a USB device.
The USBIO software components can be integrated into a final product, with product-specific adaptations if necessary (e.g. file names, installation paths, copyright messages). The result is a customized version that can be shipped as part of an end user product.
Furthermore, the USBIO driver is very useful for developing, debugging, and testing USB devices and firmware. It enables rapid development of debug and test applications. The driver package includes the source code of an extensive test application.
USBIO Demo is time-limited but has full functionality.
The demo package includes the USBIO device driver, the complete documentation and the source code of all programming examples.
USBIO Reference Manual (English)
(1.4 MB)
USBIO COM Interface Documentation (English)
(606 KB)
USBIO Revision History (English) 
USBIO Lizenzbedingungen (Deutsch) 
USBIO Bestellformular (Deutsch) 
USBIO Update Bestellformular (Deutsch) 
USBIO Software License Agreement (English) 
USBIO Update Order Form (English) 
When designing a USB device you need an official USB vendor ID (VID) which is unique world-wide. Vendor ID's will be assigned by the USB Implementers Forum (www.usb.org). There is a fee of $1500 US.
Thesycon owns a USB vendor ID and provides a subset of product ID's (PID) to customers who licensed our USB software. This service is free of charge. You will receive a set of product ID's that is, if used in combination with Thesycon's vendor ID, unambiguous world-wide. You can use these ID's for your products.
If you would like to be kept informed of product updates, please subscribe to the Thesycon newsletter.
© 2008 THESYCON


