Introduction#

Welcome to the XMOS XTC Tools. The XTC Tools provide:

  • standards compliant C and C++ compilers and language libraries

  • the xC language compiler

  • an assembler

  • a linker

  • board support for building and running programs

  • a simulator

  • a symbolic debugger and program loader (which use the XTAG host-to-target adapters)

  • runtime instrumentation and trace libraries

  • flash firmware upgrade libraries

  • flash device and security deployment tools

  • a build system and dependency management tool

  • the documentation suite

Multi-tile and multi-core support offers features for task based parallelism and communication, accurate timing and I/O, and safe memory management. All tools components are fully integrated to support the multicore functionality.

Supported devices#

This release supports the following processor generations:

  • xcore.ai

  • XCORE-200

The xcore.ai processor can be evaluated using the XMOS XK-EVK-XU316 evaluation board. The XCORE-200 processor can be evaluated using the XMOS XCORE-200-EXPLORER evaluation board.

Upgrading from earlier xTIMEComposer releases#

Applications built with earlier releases of xTIMEComposer may be built and deployed using this release of the XTC Tools. Modifications to the source or board definitions may be required, particularly when migrating to the xcore.ai generation of processors from an earlier generation. The XC, C and C++ language compilers, the linker, the target definition language, and the xmake & xcommon build tools are unchanged compared with earlier releases.

This release provides a new library lib-xcore which gives applications written in the C language a mechanism to use the XCORE resources (such as ports, timers and channel ends).

Existing applications which are based on the XC language and its constructs to use XCORE resources must NOT use the lib-xcore library, because the lib-xcore library functions do not co-operate.

See Transitioning for further details.

Document structure#

The Installation Guide provides instructions on installing the XTC Tools.

The Tools Guide provides instructions using the XTC Tools from the command line and with VS Code along with reference material on each of the individual tools, the libraries, board support, flash support and deploying secure systems.

The Programming Guide illustrates how to write multi-tasking programs for the XCORE-200 and xcore.ai processors, along with reference material related to assembly and high-level languages.

References#

Terminology#

The following terms are defined:

Host system (or host)

A desktop or laptop on which the XTC Tools are installed

Host tool (or tool)

A program supplied with the XTC Tools which may be launched from a shell or console

Target system (or target)

One or more printed circuit boards populated with XMOS devices

Target program

A program built with the XTC Tools which runs on a target system

Support#

For all support relating to the XTC Tools, raise a ticket. Be sure to supply the XTC Tools version within your ticket.