0 comments Monday, October 19, 2009

The hardware

I received my XC-1 dev kit recently. It came in a nice plastic box which reminds me most of an old VHS tape box. Anyway, its content is way more exciting. It contains the board with XMOSes XS1 chip (plus a usb cable and a quickstart guide).

On front of the red multilayer PCB shines the XS1 chip surrounded by a "clock" of 12 red/green leds. Next to it there are 4 pushbuttons with accompagning leds and a buzzer. Own periferal hardware can be added using the four expansion ports and a prototype area. The backside is a less exciting: two oscillators, a usb connector and an FTDI chip are found there. The FTDI chip makes the XC1 show up with 2 serial ports on my system. If you want more details about the board, they are all nicely explained in the "XC-1 Hardware Manual"

The board is powered through the USB port only, so no need for an extra power supply. Connect it to your computer and it immediately comes alive with a nice demo on its "led clock". There are four other demos provided: a clock, a simple audio synthesizer a reaction game and an uart demo.

Getting started

After the demos, it's time to set up the development environment. The provided Quick Start Guide contains a nice step-by-step walktrough to get started. It covers Windows, Mac and Linux.
Installing the toolchain on linux isn't hard either. It basically comes down to downloading it from the XMOS website and extracting the tar file to your home directory. You shouldn't worry about the "compatible with Redhat 4.6" on their site.

The IDE is Eclipse based, so chances are that you'll feel at home immediately. Everything is nicely integrated. But if you really want you can also use the seperate tools from within a terminal.

The project

This project is an entry for the XMOS Challenge. The goal of it is to port the in-house developed Scheme interpreter to the XMOS architecture. It will be possible to use it for rapid prototyping or for educational purposes. All XC specific features should be usable directly from Scheme. That way, it can be used to learn and experiment with advanced multicore architectures without having to worry about low level problems. After porting is completed, some programs will be written using the Scheme environment.

As an intermediate step, Pico will be ported first. Pico is a small derivative of the aforementioned Scheme interpreter.