XMOS Programming Guide

Click the version drop-down list below to show all available versions

Version: F       Date: September 21, 2015
FSeptember 21, 2015 download view
EOctober 09, 2014 download view
BApril 30, 2014 download view

This document provides a consolidated guide on how to program XMOS devices.

The xCORE architecture delivers, in hardware, many of the elements that you would normally see in a real-time operating system (RTOS). This includes the task scheduler, timers, and channel communication as well as providing separate logical processor cores for the real-time tasks. The benefit of this is that real-time systems become much more predictable, much more scalable and respond much faster than conventional RTOS based sequential processor systems.

The software environment complements these hardware features by providing tools that makes it easy to define real-time tasks as a parallel system. The xTIMEcomposer tools come with fully standards compliant C and C++ compilers plus the standard language libraries, an IDE, simulator, symbolic debugger, runtime instrumentation and trace libraries and a static code timing analyzer (XTA). All of the components are aware of the real-time multicore nature of the programs, giving a fully integrated approach.

To help programmers access the real-time hardware features some easy to use, yet powerful, multicore language extensions for C have been added. These extensions form a programming language called xC which contains features for task based parallelism and communication, accurate timing and I/O, and safe memory management.