Subscribe to EDN

XMOS Semiconductor XS1-G Development Kit

July 21, 2009

DEV-MONKEY RATING:
Ease of Set-Up
- 5 bananas
Quality and Clarity of Documentation - 2 bananas
Overall Experience - 3 bananas
Meets Expectations - 2 bananas

WHO NEEDS THIS KIT:
Engineers and designers interested in a deterministic architecture that can involve multiple MCUs in a single package. Applications include audio-visual control and switching, appliance control, security systems, automotive control, and similar uses.

WHAT YOU’LL LEARN:
In this kit you could learn about the XCore MCU architecture and how to apply it, but the documentation makes the task difficult.

TIME TO COMPLETE TEST PROGRAM:
About three and a half hours.

PREREQUISITE SKILLS:
Some C-language skills will help, but you may not get a chance to program the kit. See review for details.

OVERALL EVALUATION:
What we liked: Nice set of hardware that opens many possibilities for designers. Easy access to I/O and ready-to-use devices such as color LCD, LEDs and pushbuttons.

What we didn’t like: Documentation left us wondering what to do with the hardware and how to write software.

==========

Quick Facts
Kit Name: XMOS Semiconductor XS1-G Development Kit
Maker: XMOS Semiconductor, www.xmos.com Part Number: XS1-XDK
Components: XS1-G Development Kit hardware module, USB programming cable,8-pin DIN-connector cable, Ethernet cross-over cables (two), Power supply and international plug adapters, Getting-started guide

Price:  < US$1,000

==========

Before I jump into the evaluation of this kit, the XMOS Semiconductor approach needs some explanation. XMOS supplies multi-core microcontrollers with four XCores in a package. These cores look like general-purpose processors as well as programmable state machines tightly coupled with their own registers, memory and I/O ports as well as an XLink "bus" that communicates with other XCores on the same or external ICs. An XCore can simultaneously execute eight threads.

This type of processor IC will appeal to people who develop appliances, games, toys, industrial equipment, security systems, entertainment equipment and similar products. The company provides the XC language that includes the same operators and data types available in ANSI C. In addition, XC-language commands control I/O ports and send messages between XCore via XLink channels. You need not worry about synchronous operations and operating systems. An "operating system" exists in the hardware and an OS call on most other systems becomes an instruction or two for an XCore. Because the kit supplies a display and many I/O lines, you could use it for serious development work.

On to the kit

The packaged XS1-G hardware looks impressive. It includes a small color LCD, five pushbuttons, many LEDs and a variety of I/O connectors. (Each XCore has 64 I/O connections.) Upon connecting power, LEDs flash and the chip boots demo programs from an SD memory card inserted in the side. The demo programs operate the display, play a simple Pong-like game and flash the multicolor LEDs.

Users can register their dev kit on the XMOS Web site to gain access to code and Web-based tools. You can register without a kit XKey Code to obtain documents and some code examples. Before you buy this kit, I recommend you register and peruse the Tutorials and Quick Start Guide. Later I’ll explain why.

My kit–an early-release version–came with a short quick-start guide and a description of the pre-loaded applications. The latter guide includes diagrams that show how the applications use the processors for various tasks that operate on two, three, or four cores.

The instructions I used to set up the hardware include steps to download and install the tools environment. These tools include an Eclipse IDE and a GNU Project Debugger (GDB). The tools installed easily, but sketchy instructions about how to invoke the debugger left me wondering what to expect next. I followed the printed instructions and typed the command, xdkrun –listdevices, to identify attached XMOS hardware, but I saw only an error message. Thinking I had done something wrong, I removed the XMOS tools from my Windows XP lab PC and downloaded and installed them again. I got the same response from the debugger the second time I tried to check for connected XMOS hardware.

A Discovery Solves a Problem

After filing a support ticket with XMOS I discovered new instructions on the XMOS Web site. Somewhere along the line, the XMOS developers had replaced the xdkrun command with xrun. The new command worked properly but I had spent two frustrating hours chasing around in circles with out-of-date documentation. (XMOS has corrected this problem.)

The xrun command reported on connected hardware, so I downloaded a test program from the XMOS site, put the hardware into a JTAG mode, and loaded the program into the hardware. (Pressing buttons in sequence sets up the USB port to serve as a JTAG port.) Users have the option to load the hardware with .XE files that contain debug links or with .XB program files that boot from the SD memory card and run autonomously. That flexibility is a nice feature because it doesn’t lock the hardware to a lab PC for development tests.

XMOS offers an online code-development tool that I used to build a ready-to-go project that would light an LED on the dev kit. The online software has limits–speed being one–but I downloaded the compiled SingleLED.xe file from the XMOS online tools into the debug folder and then loaded it into the hardware with an xrun command. But after this test I had to halt my evaluation of this interesting kit. Although the software tools looked good, the documentation makes using them and writing code painful–if you can do it at all. What a shame that this cool dev kit lacks tutorials that step new users through elementary experiments or exercises. (For information on a different XMOS kit that promises a better user experience, see Update Notes at the end of this review.)

The .XM Files Prove Elusive

I wrestled with the "XDK Tutorial" that mentions two types of files: The .xc files that include function definitions and variable declarations, and the .xm files that declare the processor core you want to use and include the main() program function. I looked in vain for instructions about how or where to set up a .xm file but found nothing but the same incomplete explanation I already had. Searching through example code files produced nothing. Later, instructions in this tutorial list new code statements users must add to the nonexistent .xm file. But I never uncovered information about how to create .xm files or what to include in them.

My adventures included printing the "Desktop Tools Quick Start Guide," but the steps are so quick that users get into debugging on the page three! This document provides no useful information about how to start a project–even a simple one–and follow it through to a successful end. A few hands-on exercises that carefully explain and illustrate how to set up an LED-flasher program, change the flash rate, control the LEDs with a pushbutton, and so on would make the hardware accessible to many people who are not–and don’t want to become–MCU dev-tool and architecture experts.

Before I can recommend this kit for any but the most hardy developers, XMOS needs to revise its documentation to provide cohesive and up-to-date information that helps users. Tutorial information in the form of experiments or lessons is a necessity. So is a list of the basic documentation a new user needs to get started. Earlier I recommended registering on the XMOS Web site so you can download documents. You should review some of the documentation and ensure it makes sense before you spend $1000 for hardware you might never get to use productively. I have talked with XMOS about the gaps in its documentation and tutorials and expect you’ll find more information available soon.

More thoughts

You can pry off the back cover of the hardware module, held in place with small magnets. Information on the visible PCB indicates which version of hardware your module contains. I had the XDK-M1 board. Registered users have access to board schematics–14 pages for the XDK-M1 boards. The thin lines on the printed schematics make them difficult to read. The component legends are almost too small and thin to read. (Yes, I say this about almost all kit schematic diagrams.)

XMOS could provide a block diagram that shows the generalized connections of circuit components, connectors, LEDs, and so on, keyed to specific schematic sheets. The board behind the back cover, for example includes many jumpers, small slide switches, and colored LEDs. But it will take you time to find them on the schematics.

Update Notes

While writing this review a spokesperson for XMOS contacted me about my criticism of documentation. (I had communicated with tech support people about problems and offered suggestions.) It turns out XMOS recently put much effort into its less-expensive (US$ 99) XC-1 Development Card and a related seminar series. This kit comes with tutorial information and exercises. So before you consider using the XS1-G kit, I recommend you buy one of the XC-1 kits and try it with the new documentation. My XMOS contact agreed that the company needs to–and will–work on the tutorials for the XS1-G kit, and I’ll report progress in my dev-monkey.com blog.

I have an XC-1 kit in the lab and will report on experiences with it. If you have used an XC-1 kit, please contact me with your thoughts. –Jon Titus

Kit Contents

The kit include the XS1-G hardware module that houses an LCD, five pushbuttons, USB (JTAG) port, audio- and digital-I/O connectors. A separate package supplies a USB cable, two Ethernet cross-over cables and a PS-2-type mouse/keyboard connector. The documentation I printed does not mention the Ethernet or PS-2 cables. The power cube came with adapters for international power outlets.

To view a short VIDEO review of this kit CLICK HERE

Posted by Dev Monkey on July 21, 2009 | Comments (3)

February 19, 2010
In response to: XMOS Semiconductor XS1-G Development Kit
larry commented:

Same problem with the $99 kit, 'what parses the *.xn files' and where do they go? IDE works under windows and Linux, but still won't compile due to header and 'xn' file locations. Get lots of java null pointer problems when setting project properties with XP. Use of XML for configuration is obtuse. No real help from XMOS, I don't feel like hiring a consultant to figure out their IDE. Neat part, but can't use it if I spend all my dev money debuging the IDE.


February 19, 2010
In response to: XMOS Semiconductor XS1-G Development Kit
larry commented:

Same problem with the $99 kit, 'what parses the *.xn files' and where do they go? IDE works under windows and Linux, but still won't compile due to header and 'xn' file locations. Get lots of java null pointer problems when setting project properties with XP. Use of XML for configuration is obtuse. No real help from XMOS, I don't feel like hiring a consultant to figure out their IDE. Neat part, but can't use it if I spend all my dev money debuging the IDE.


February 19, 2010
In response to: XMOS Semiconductor XS1-G Development Kit
larry commented:

Same problem with the $99 kit, 'what parses the *.xn files' and where do they go? IDE works under windows and Linux, but still won't compile due to header and 'xn' file locations. Get lots of java null pointer problems when setting project properties with XP. Use of XML for configuration is obtuse. No real help from XMOS, I don't feel like hiring a consultant to figure out their IDE. Neat part, but can't use it if I spend all my dev money debuging the IDE.

POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows