
USBIO V2.50 with Windows 7 support
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 a 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, Windows Vista and Windows 7). 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 for Windows CE and Windows Mobile
A compatible USB driver is available for Windows CE and Windows Mobile.
USBIO Demo is time-limited but has full functionality. The device driver can be used for 4 hours. Then all function calls will be rejected and the computer must be rebooted in order to use the demo again. The demo package includes the USBIO device driver, the complete documentation and the source code of all programming examples.
USBIO Reference Manual (English) 
USBIO COM Interface Documentation (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.
If you would like to be kept informed of product updates, please subscribe to the Thesycon newsletter.
© 2010 THESYCON


