XMOS XTC Tools User Guide

Version: 15.2

Publication date: 2022/11/21


Introduction#

Welcome to the XMOS XTC Tools User Guide. 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

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.

Document structure#

The Tools Guide provides instructions on installing and using the XTC Tools 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#