
This means that you don’t need to run (say) uC/OS or other lightweight real-time OS’s, and you can still achieve multi-tasking. traditionally software-based) and have implemented them in hardware. XMOS have taken many of the essential bits of operating systems (i.e. One tile is available for user programs (tile #1), the other one (tile #0) is dedicated as a debugger on the startKIT. The device on the startKIT also happens to contain two tiles, each with 8 XMOS cores.
Xmos xscope pdf#
Totally unique non-shared instances of groups of XMOS cores can be placed on the same silicon these unique instances are called ‘tiles’ in XMOS terminology.Ī diagram can say a thousand words the diagram below (taken from the xCORE architecture PDF document) shows in red the XMOS cores (8) per tile (two tiles in this diagram). (I’ll call these cores ‘XMOS cores’ from now on, to make it clear). In fact the implementation is a good thing for certain tasks the kind of tasks that embedded systems often require. This may sound like a bad thing, but read on and you'll find it isn't. In XMOS terminology, the term ‘core’ means multiple instances of some parts of a complete processor and the sharing of some things not present on non-XMOS processors. We are used to hearing about multi-cored chips which have multiple processors per chip, or at least multiple instances of most parts of a complete processor. You probably do want to read it at a later stage though. It can be skipped if you want to just get on with setting up the XMOS programming environment and running some demo code. So, the terminology and architecture is discussed below briefly. It can be confusing, because the terminology used to describe XMOS technology has changed over time. Information on all that is further below.įirst, some terminology needs to be addressed. A great debugging tool called XScope was also tried out briefly. (Note - to use with a Raspberry Pi, a DIL pin header strip is required and a ribbon cable assembly the board is not intended to be plugged on top).įor some initial experiments the XMOS board was used to connect to a hobby servo, and the on-board LEDs were used to test multitasking capabilities. The startKIT has a connector placeholder which is ideal for communicating to the Raspberry Pi, however for these first steps the board was used standalone. Today, if you want to handle input/output at a relatively high speed with very high accuracy and ease-of-use, XMOS devices are very high up on the list of suitable devices. The development environment is fairly straightforward to use (it is based on Eclipse), and the programming language is C with a few extensions to handle multitasking requirements. It was found that the XMOS startKIT is fantastic at handling timed events and multitasking. It costs under £12 including VAT (also available from Newark). The board is only slightly larger than a credit card (less than a centimetre longer) and packs an XMOS chip with multiple processors (more on that later), built-in 4-channnel ADC, touch sensors, integrated programmer/debugger, LEDs, switch and places for connectors.
Xmos xscope how to#
This post documents how to get started with XMOS’ startKIT which is an interesting board recently released (well, 5 months ago).
Xmos xscope serial#
Serial Peripheral Interface (SPI) introduction.
Xmos xscope software#
Hardware and Software overview and Circuit/Wiring diagram Part 2 is called XMOS startKIT: Building an XMOS and Raspberry Pi Robot XMP-1 and it covers these topics: Building and running an Example Program.Installing the development environment xTIMEcomposer.This is part 1 in a series of XMOS startKIT posts.
