Question

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
User avatar
Vaati
Active Member
Posts: 39
Joined: Sat Dec 25, 2010 7:09 pm

Question

Postby Vaati » Wed Dec 29, 2010 3:54 am

I've been poring over the XC-1A for a while now, and can't make a decision as to whether it is worth forking over $100 for.

What I would really like to do would be to make my own fully functional computer, operating system and all, that can run my myriad compilers, be able to program microcontrollers, etc. I would also want to be able to use it for RS232 and parallel communications. Essentially, I want it to run something along the lines of Windows NT or similar.

Bottom line: is it possible?
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Postby Bianco » Wed Dec 29, 2010 8:48 am

Hello Forest,

When it comes to processing power an XMOS device has much power however the memory constraints are very similar to microcontrollers. Each core has 64KB SRAM which is shared for both code and data. There is no external memory interface. One could implement a memory manager using a hardware thread and swap pages in and out from external memory however this will greatly reduce the performance of the system and increases the complexity massively that it is very likely not worth it. However you can expiriment with making a smaller operating systems that will fit in the 64KB space. For example i have ported FreeRTOS to XMOS and i have created a distributed OS for XMOS as thesis project which i hopefully will release soon (needs some code cleanup). You can read my thesis here.
User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm

Postby Berni » Wed Dec 29, 2010 9:07 am

Yeah the lack of memory is a problem if you want to do this kind of stuff. I think you better have a look at the beagle board as it has a much more capable ARM with lots of external ram and many interfaces like HDMI USB SD cards etc They ported ubuntu and windows CE on to that already.
User avatar
lilltroll
XCore Expert
Posts: 955
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Wed Dec 29, 2010 5:31 pm

:idea:

Libraries with technical books is not much to use any-more.
You get the latest info on the web, when you need it, from everywhere.
Instead of 50 books of micro-controllers and stuff like that, they should have 25 different eval-boards, that you could have for 2-3 weeks if you are a student of the school/university.
If an old type is broken, by e newer one.

Library books are sent away to get a ridged back, instead send the eval-boards away to be boxed.

They have the Monday Parcel. Where may win new stuff.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
jason
XCore Expert
Posts: 577
Joined: Tue Sep 08, 2009 5:15 pm

Postby jason » Mon Jan 03, 2011 8:24 pm

http://www.xcore.com/forum/viewtopic.ph ... 10&start=0

Not quite the same thing but may give you some insight.
User avatar
lilltroll
XCore Expert
Posts: 955
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Mon Jan 03, 2011 10:29 pm

Do you need real-time-stuff - or do you need a OS that puts all request in a cue?

DSP (at least any feedback control loop) is often totally impossible to run in OS like Windows.
XMOS can make such things very easy since you do not typically use interrupts and have deterministic timing
Something that is like a small PC computer? well ARM is used everywhere in cellphones, pads/net-books.

Do you need both - there is TI's OMAP, with an ARM + DSP + 2 help units to control the communication between. There is both floating-point versions like the http://www.hawkboard.org/ and other with a very fast ARM http://www.pandaboard.org/.

You will heavily rely of the status of the last OS release with the open source stuff. Beagle-board has been around for a while, so maybe it is stable and reliable now.

Typically it's only when you pay 10X and get it from TI that you get the compilers to directly program the DSP's. But some OMAPs are com. with a low prices JTAG and a free version of TI code-composer.

If you want to program the DSP part, you will probably need an JTAG.
Myself I have many different boards from Arduino to a floating point OMAP with the TI code-composer.
But I really do not like interrupt-vector programming, so XMOS is the thing I'm always falling back to.

Consider to go for the XC-2 with Ethernet if you go for XMOS. Then you have a fast way of com. to a PC-host independent of the OS or architecture. There is Ethernet sockets in almost all program languages.
With the XC-1 you are stuck with 1Mbit UART to the host, that enumerates as a virtual COM port.
I believe you have the COM port as well via the XTAG1 with the XC-2.

If you want to learn, XMOS is great since you have control down to the instruction level.
You can see each instruction in the disassembler that the compiler made, and XDE also interprets the meaning of it as ASM code.
Creating an OS from scratch to an ARM, ihhhhhh.
Only writing the memory page-swapping is a pain. I once took a University course in OS/distributed OS.

PS. Need a HDMI out? There is IC that has a 24-bit parallel in-> HDMI out for a few $. You can connect the MSB from XMOSport to each colour, and you have a colour HDMI out. (Colour 8-bit VGA can be done with some passive resistors only) DS.
Probably not the most confused programmer anymore on the XCORE forum.
User avatar
Vaati
Active Member
Posts: 39
Joined: Sat Dec 25, 2010 7:09 pm

Postby Vaati » Thu Jan 06, 2011 2:33 pm

To be honest, I know very little of the inner workings of an OS. I usually jump into these sorts of projects head first, and learn as much as I can about the hardware/software on the way to completing the project. Also, I want to spend as little money as possible on my projects, and I will always use the hardware for another project at another time.

I really do like the specs of the XC-(1, 2); mainly because of its speed. And in reference to the lack of memory interfacing to the xmos processors -- has anyone tried writing an SD driver, or even an EEPROM driver?

I know all of you must be much more knowledgeable about all of this, but I see no reason why a simple FAT16 SD driver cannot be made to add a little more functionality to this processor.
ale500
Respected Member
Posts: 259
Joined: Thu Sep 16, 2010 9:15 am

Postby ale500 » Thu Jan 06, 2011 3:27 pm

A FAT16 driver for SD cards already exists for XMOS chips. Look in the projects tab above.
You have to invest some money if you want an XMOS device over your desk. The entry point is not as low as a €1.5 AVR chip but you get much more in terms of MIPS :). I got a XC-1 (not the A version and the first revision) it can only be programmed via USB and has no FLASH. For code testing is OK but I always wondered why they did not do a better platform board with tons of IO (the G4 device has 256 IOS, but only around 80 are rounted ). Soon I'll have my own board :)

The XC-1A has the advantage (or disadvantage) that the headers contain IOs from all cores. So an external parallel RAM is more difficult to connect/drive than in the XC-1. YMMV :)

Who is online

Users browsing this forum: No registered users and 2 guests