PrUSB Host


PrUSB Host is a host-side protocol stack that complies with USB 1.1/2.0/3.0 (Full Speed/High Speed/Super Speed) for implementing a USB host function on an embedded system. Building a system by embedding PrUSB Host enables communication with USB devices without using a PC.

USB host functions

The following USB host functions that are defined by the USB specification are provided:

  • Detection of USB device insertion/removal
  • Management of USB standard requests via control transfers
  • Management of data flow between host and devices
  • Support for hubs to enable management of multiple USB devices

Transfer types

PrUSB Host supports the following transfer types.

  • Control transfer: Control data transfer between host and target 
  • Bulk transfer: Transfer of relatively large amounts of data or non-periodic data transfer
  • Interrupt transfer: Periodic transfer of relatively small amounts of data
  • Isochronous transfer: Method used for transfer when real-time transfer is required

Includes sample class drivers

Includes sample classes that can be used as reference when creating a custom class driver.

Optional Class drivers available

The following class drivers are provided as an option.

  • Mass Storage Class diver
  • ACM (Abstract Control Model) supported Communication Device Class driver
  • Audio Class driver
  • HID Class driver

The Mass Storage Class driver provides a storage function when the connected device, such as a large-capacity device or digital camera, supports the Mass Storage Class. The features of the Mass Storage Class driver are as follows:

  • Supports the Bulk-Only and CBI transfer protocols
  • Supports the following subclasses:
     o SCSI transparent command set
     o SFF-8020i
     o SFF-8070i
     o MMC-2(ATAPI) 
  • Supports multiple LUNs
  • A file system is required to operate Mass Storage Class (PrFILE2, PrFILE2 exFAT is recommended). 
  • Other class drivers will be supported in the near future. 

High Portability

PrUSB Host itself is written in the C language and is not dependent on any CPU. Host controller drivers and code dependent on the operating system are separated to ensure easy porting to a different environment.

Supports T-Engine and T-Kernel

PrUSB Host supports T-Engine and T-Kernel.

Availability (Source code provided)

PrUSB Host is available in source code.

Maintenance service and customization service

The following maintenance service is provided. The maintenance service enables developers to use PrUSB Host with peace of mind. 

  • Response to email inquiries regarding the product
  • Minor version upgrades

In addition, a customization service is available for supporting PrUSB Host in different environments, such as a custom real-time operating system (RTOS) or hardware.

PrUSB Architecture Diagram

Operating environments

Successful operation of PrUSB Host has been demonstrated in the following environments :

* Host controller: UHCI/OHCI/EHCI/xHCI 
* Several built-in controllers: please contact us for details

An RTOS is required for operating PrUSB Host. Please contact us for details about the compatible RTOS and development environments. 

Options and related products

Optional products: Class drivers

Mass Storage Class
Communication Device Class
Audio Class
HID Class

  • Other class drivers will be supported in the near future.

User Case

Related materials

Catalog: Embedded Software Platform Products and Services Leaflet: Embedded Platform Solutions with RTOS

Materials available for Download!