Software libraries


  • flexible I/O
  • free verified software interfaces and peripherals
  • bridge legacy interfaces with latest standards

With xCORE you program in the exact interfaces you need to meet your application requirements. If you need USB, you can program your xCORE to support USB 1.0 or 2.0; for USB Audio Class 2 you can program in either synchronous or asynchronous modes; if you want multichannel audio, you can program as many channels as you need. If you have a legacy interface, you can port your code to xCORE and provide a bridge to the latest standards like USB and Ethernet.

Browse our wide range of software libraries and reference software, including USB Audio Class 2, Ethernet AVB and CAN.



  • write interfaces once, reuse many times
  • guaranteed, repeatable behavior
  • build networks of xCORE devices

With xCORE the performance of an interface or block of code is guaranteed once it has been verified. The minimum performance is unaffected by tasks running on other cores.

  • Write interfaces once and reuse many times
  • Applications can be scaled across different xCORE devices and multiple devices with guaranteed behavior
  • The minimum performance of code running on a logical core is not affected by code running on other cores

Use the Libraries Browser in xTIMEcomposer Studio Edit Perspective to view the software libraries and add them to your project.



  • early adoption of new standards
  • quick integration into new products
  • in-field software updates

As new emerging standards appear, xCORE provides the ideal platform for the development of next generation embedded designs. New software libraries can be tested early in the development process without compromising known behavior of key parts of the application. As standards evolve, changes can be quickly integrated into product updates or new products.

  • Early adoption of new standards
  • In-field software upgrades

Information about each library, including resource use and API, is displayed in xTIMEcomposer Studio as you edit your code.



  • extensive DSP libraries
  • 32bit x 32bit MACC with 64bit precision
  • 32bit CRC

XMOS provides a range of DSP libraries that you can use to integrate high speed DSP operations for audio signal processing, industrial control signal transformation and control plus for video processing.

All DSP operations, except for the divide instruction, run in a single cycle on the logical cores. These include a complex 32bit x 32bit multiply accumulate into 64bit precision, a long add, and 32bit CRC.

A single core running at 62.5 MIPS can be used to implement:

  • 20 million MACs / second
  • 25 biquad EQ filters, 48kHz
  • 100 tap FIR filter, 187kHz
  • 256 point fast FFT, at over 48kHz (8 bits)
  • JPEG encoder 2.1 million samples / second (using 3 cores)

Many libraries have supporting app notes with executable examples. For example, Application note AN01008 shows how to add DSP to our USB Audio 2.0 software.



We provide a large and growing selection of software libraries that you can use to configure xCORE devices that are freely available to integrate into your applications. The libraries include interfaces such as USB, Ethernet and serial ports as well as signal processing and protocol functions.

  • Each library includes an API, documentation and examples
  • Libraries include standard interfaces and protocol functions
  • Additional supporting application notes

The Edit Perspective in xTIMEcomposer Studio includes a Library Browser, which you can use to import code into your project.