- 1 Also see
- 2 Derivations
- 3 FreeRTOS port for XMOS xcore-200 multicore microcontrollers
- 4 But what happens to XC and xTIMEcomposer when xcore.ai?
- 5 Silicon to Satisfy the AIoT – xcore.ai
- 6 FreeRTOS in an Erlang context
- 7 XCore Exchange forum
- 8 References
This note is in group Technology and is meant to track what is happening on the XMOS pages about their FreeRTOS port
The source code, of f.ex.
tasks.c (here) tells me that this is an Amazon derivation, even if it says it’s forked from https://github.com/FreeRTOS/FreeRTOS. It’s probably easy to understand once I understand it:
/* * FreeRTOS Kernel V10.2.1 * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * ... * http://www.FreeRTOS.org * http://aws.amazon.com/freertos * * 1 tab == 4 spaces! */
FreeRTOS port for XMOS xcore-200 multicore microcontrollers
What me worrying about the role of XC?
8Apr2020: I see that on lib_rtos_support – which is a software library that provides support for running an RTOS on xCORE. Any RTOS:
lib_soc provides a system on chip like platform in which an RTOS application may run. It allows for separation of an RTOS application from the more hardware-like xCORE libraries that run on their own cores, and a mechanism for communication between them. Common peripheral devices, including i2c and Ethernet, are provided, as well as drivers to use them from an RTOS application. Currently only FreeRTOS is supported by the RTOS drivers.
A library I have used a lot, the lib_i2c is at: lib_i2c.
These libraries are of course written in XC. I should not be worried about XC and xTIMEcomposer with this knowledge in mind. The quote above is also reassuring. Then I am only worried about XC and xcore.ai!
29Apr2020 (1): However, in  XMOS CEO Mark Lippet says (in the context of Neuromorphic Computing) that
Lippett also said any technology that involves a change in the way people think about programming systems will be faced with challenges when it comes to market. Even the
Xcore, though based on a RISC architecture, faced market challenges. Lippett said any technology that involves new programming paradigms will meet resistance.
“The key observation that we’ve made is you really need to be very close to a pre-existing, familiar programming model in order for rapid adoption to take place. So, I think that’s the challenge, to make the benefits of those technologies available from a cost perspective, but also accessible to the skills of the existing community, otherwise adoption will be very slow,” he added. “I’m comfortable that we’re not competing [with neuromorphic computing] in the very near term, but clearly it’s an exciting technology and one to watch.”
XC or not? I feel I get a tiny amount of doubt there again..
29Apr2020 (2): Not a word about XC in XCORE.AI product brief . I feel the ME WORRY figure is out of scope. I should worry.
But now I have finally queried at the XCore Exchange forum (bullet 3).
In 206: the author Linley Gwennap writes (below). Is the blue text about XC?
The Xcore CPU lacks an MMU, but it can run a real-time operating system such as FreeRTOS on a single thread or multiple threads. For the flexible I/O, the company supplies library code for many protocols. It also offers libraries of DSP kernels and neural-network functions. Users can create applications in high-level code and link them to these library routines. XMOS provides an LLVM compiler, Gnu debugger, linker, software-timing-closure tool, and other tools for directly programming its architecture. Note that instead of using interrupts, programmers can allocate threads to time- critical tasks; these threads can restart immediately when an input is received, eliminating interrupt latency.
XMOS also provides a C compiler and other tools for developing application software, including optimized libraries of DSP and voice functions, but these tools are less complete than those for Arm and even RISC-V.
XMOS FreeRTOS port on GitHub
Start here: https://github.com/xmos/FreeRTOS
19Jan2020: “XMOS has released an SMP (Symmetric multiprocessing) FreeRTOS port along with a peripheral support library for xcore-200 silicon devices” at: FreeRTOS port for XMOS xcore-200 multicore microcontrollers. It points to these two GitHub entries: RTOS Support Library and How to use the app_freertos_micarray_board application
But what happens to XC and xTIMEcomposer when xcore.ai?
They haven’t told. I suppose it’s ok to reveal that the whitepapers by XMOS:
- WHY THE AIoT NEEDS A NEW KIND OF PROCESSOR. WHITEPAPER 7 FEBRUARY 2020
- XCORE.AI. TECHNICAL OVERVIEW. WHITEPAPER 7 FEBRUARY 2020
don’t mention XC.
Silicon to Satisfy the AIoT – xcore.ai
20Feb2020. See 
FreeRTOS in an Erlang context
Briefly discussed at My leaf of comfort – SW / HW that cannot turn against us?
XCore Exchange forum
- FreeRTOS questions – 6Feb2020
- XMOS FreeRTOS port documentation? Plus some questions – 8Apr2020
- xC on xcore.ai – 30Apr2020
- English: ..
- Silicon to Satisfy the AIoT: xcore.ai, by Max Maxfield. In EEJ, Electronic Engineering Journal, see https://www.eejournal.com/article/silicon-to-satisfy-the-aiot-xcore-ai/ (20Feb2020)
- Will Neuromorphic Computing Compete with Today’s AI Accelerators? by Sally Ward-Foxton in EETimes, see https://www.eetimes.com/will-neuromorphic-computing-compete-with-todays-ai-accelerators/ (13Apr2020) (Referred 29Apr2020)
- XCORE.AI product brief, marketing material by XMOS, see https://www.xcore.ai/wp-content/uploads/2020/04/xcore.ai-Product-Brief.pdf (2020) (Referred 29Apr2020)