:orphan:

###########################################
AN00136: Example USB Vendor Specific Device
###########################################

:vendor: XMOS
:version: 3.0.0
:scope: Example
:description: Example custom USB device demonstrating bulk transfers
:category: General Purpose
:keywords: USB
:hardware: XK-EVK-XU316

Overview
********

This application note describes hows to create a vendor specific USB device demonstrating simple
USB bulk transfers over high speed USB.

The accompanying example code has been written for the `XK-EVK-XU316` board, however, since no
hardware interfaces are used (other than USB) porting to another hardware platform is simple.

Key Features
************

The documented application is designed to run on the `XK-EVK-XU316` board and has the following
key features:

  * USB 2.0 compliance

    * Chapter 9 compliance

    * Full Speed (12Mbit/s), High Speed (480Mbit/s) data rates

  * Control, Bulk, Isochronous and Interrupt transfer types available

  * USB bus or self powered support

  * Example code shows bulk transfers between host and device

  * Two example host applications, both using `libusb <https://libusb.info>`_ for USB device access

    * One using simple (but less efficient) synchronous `libusb` API

    * Another using more advanced (but more efficient) asynchronous `libusb` API

  * Support for building host applications on `Windows`, `macOS` & `Linux`

Known Issues
************

  * None

Required Tools
**************

  * XMOS XTC Tools: 15.3.0

Required Libraries (Dependencies)
*********************************

  * lib_xud (www.github.com/xmos/lib_xud)

Related Notes
*************

  * None

Support
*******

This package is supported by XMOS Ltd. Issues can be raised against the software at: http://www.xmos.com/support

