PrUSB/Device is a USB device-side stack that complies with USB 1.1 and 2.0 (Full Speed/High Speed). USB (Universal Serial Bus) is widely used not only in PCs and PC peripherals, but also in digital consumer devices such as digital cameras. Building a system by embedding PrUSB/Device makes it easy to develop devices that have a USB device function.

USB device function

Provides a target function that supports logical devices in the USB device layer of USB systems. The USB driver provided by PrUSB/Device controls the USB controller and receives requests from user applications to establish USB communication.

Transfer types

PrUSB/Device 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

Mass Storage Class driver

The Mass Storage Class driver is provided as standard, which makes it easy to support USB for large-capacity devices such as digital cameras. A sample class driver is also included that can be used as reference when creating a custom class.

Supports T-Engine and T-Kernel

PrUSB/Device supports T-Engine and T-Kernel.

Availability (Source code provided)

PrUSB/Device is available in source code.

Maintenance service and customization service

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

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

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

PrUSB Architecture Diagram


Operating environments

Successful operation of PrUSB/Device has been demonstrated in the following USB device controllers.

  • RZ/A1 built-in controller
  • Zynq-7000 built-in controller
  • CycloneVSoC built-in controller
  • i.MX6 built-in controller

Successful operation has been demonstrated on the following operating systems.