- Why Register?
- Download development tools
- Create and track support tickets
- Subscribe to resource updates
- Access latest developer news
Development Tools & Software Components
The XMOS development tools support a standard embedded development flow and are built on industry-standard platforms. The tools let designers use C, C++, or XC to program devices, or assembly if absolute control is required. XC is a version of C originated by XMOS that supports concurrency and real-time I/O. Programs can be debugged by using GDB, print statements or toggling I/O pins connected to a scope. A static timing analyzer can be used to validate that all real-time requirements are met for the target device at compile-time, helping the designer close timing without the need for complex test benches.
The tools can be driven from either a graphical user interface (based on Eclipse) or the command-line. The GUI integrates features including project management, cycle-based simuation, interactive debugging, timing analysis, disassembly and signal views. Integrated “hands-in†tutorials help designers quickly learn how to write programs that interface with components on XMOS development boards.
Board utilities are provided for loading programs onto hardware. During development, programs are typically loaded from a host PC over JTAG. In a manufactured design, programs are typically loaded from flash memory. The tools can encrypt programs on flash and can burn a secure bootloader and keys into on-chip OTP memory, ensuring program and device authenticity. The tools also support in-field upgrades, allowing multiple firmware releases to be managed over the product life cycle.
The tools are supported on Linux, Windows and Mac.
Software Components
Hardware interfaces, peripherals, network protocols, control and data processing algorithms can all be programmed using a set of software components that can be rapidly customized and composed. Products can be easily differentiated, and software reused in multiple products, speeding up development time.
XMOS provides source code libraries to implement many standard interfaces and protocols, including:
- Ethernet - MAC, IP, TCP, web server
- USB-HID - Example mouse implementation
- UART, I2C, SPI, I2S - Standard serial interfaces
- S/PDIF - Digital audio interface
Additional peripherals developed collaboratively under a unified open source license are available free-of-charge from the XCore Open Source project.

