errordeveloper: Problem is, after you have bolted RAM onto the xcore you cannot execute code from it. So it's not just a case of compiling up a uClinux kernel or whatever to run from external RAM.
Nothing is impossible as you say. But it's looking that way just now.
Now if we had a MIPs emulator in the xcore, assuming we can create one small enough, then it can fetch MIPS code from external RAM and execute that under emulation. BINGO we can get a Linux compiled for MIPs up and running. Not so fast of course.
Linux on XMOS!
-
- Respected Member
- Posts: 296
- Joined: Thu Dec 10, 2009 10:33 pm
-
- Respected Member
- Posts: 377
- Joined: Thu Dec 10, 2009 6:07 pm
Personally - not professionally - I think the best way to go about getting an XMOS chip running Linux would be to persuade XMOS that it's an opportunity worth pursuing. The current family of chips makes a port of any conventional distribution not really worthwhile - the work done/effort doesn't stack up, however you implement it.
Therefore I would be interested to see examples of specific, volume-market applications that would benefit from being able to run embedded Linux on an XMOS chip. More specifically, what is it that you could do on a chip that was capable of running a conventional embedded OS that you cannot currently do with XMOS?
Getting Linux running on XMOS is something that gets a lot of people pretty fired up and excited... but there will have to be real market rationale behind it.
I'll be quite happy to contribute a few ideas myself...
Therefore I would be interested to see examples of specific, volume-market applications that would benefit from being able to run embedded Linux on an XMOS chip. More specifically, what is it that you could do on a chip that was capable of running a conventional embedded OS that you cannot currently do with XMOS?
Getting Linux running on XMOS is something that gets a lot of people pretty fired up and excited... but there will have to be real market rationale behind it.
I'll be quite happy to contribute a few ideas myself...
-
- XCore Addict
- Posts: 238
- Joined: Thu Dec 17, 2009 5:15 am
I agree that the Xcore would need extra memory to take as much advantage of Linux. Linux is a FAT client, great for MS and X86 (20 out of order craziness). needs a big memory pager. So if you really need memory why not try channeling something like Everspin's Mram. There NVolitale Lpower easy circuit's. xcore Has lots of channels. How much ram do you need before you can stream? If you want lots of fast ram I would take a g2 or g4 then deadicate control to logic and the channel I/0 calls though it switch.
Shawn
PS. Linux threads talk via shared memory, I see the problem. I am thinking pins???
Could you not trick the channel in addressing a CAM (content address memory) like
scheme.
Shawn
PS. Linux threads talk via shared memory, I see the problem. I am thinking pins???
Could you not trick the channel in addressing a CAM (content address memory) like
scheme.
Last edited by shawn on Sat Feb 06, 2010 2:59 am, edited 2 times in total.
-
- Respected Member
- Posts: 363
- Joined: Thu Dec 10, 2009 10:17 pm
Well i had that idea before to run a virtual machine inside a xmos. You could start with something simple like a gameboy or NES. Then we could move on to try make a simple x86 machine that could run some old DOS. The multithreading capability may come very handy for making a virtual machine since you can spread different components(CPU,memory,graphics adapter,serial port...) of the machine across threads/cores.
-
- Active Member
- Posts: 50
- Joined: Wed Dec 16, 2009 6:04 pm
- Location: London
Ok, i see ..
what about making a board with linux running on an ARM that would employ xcore as a co-processor..?
BTW, i haven't quite figured what did xlinx put ppc rining linux inside their chips for?
does anyone know exactly?
hm ..thinking of co-processor idea, the bus linking the cpu with xcore won't be faster then 100mhz anyway right?
but still ..may be just better to stick to the idea of xcore driving ethernet attached clver appliances.
but hold on ..i think one application could be like this:
have an ARM (or may be ppc) which runs linux and multiple xcores are responsible for AVB streams on multiple ports. what linux-arm does is data access of an NFS server.
something like this would be great in broadcasting (or other busy production) field/environment.
the multiple network ports would stream different things, ..hm may be something bigger then arm would be needed.
well, i do quite agree now why linux would a bit awkward on the xcore. i would be an ugly implementation really if that has to involve a VM or something else ..))
but a board with a cpu running linux (probably just an intel one) would sell great!
in fact a sparc or even a cell would be a top-notch idea, but that won't sell that well, ..however who knows!
surely we need a tight integration ;)~
what about making a board with linux running on an ARM that would employ xcore as a co-processor..?
BTW, i haven't quite figured what did xlinx put ppc rining linux inside their chips for?
does anyone know exactly?
hm ..thinking of co-processor idea, the bus linking the cpu with xcore won't be faster then 100mhz anyway right?
but still ..may be just better to stick to the idea of xcore driving ethernet attached clver appliances.
but hold on ..i think one application could be like this:
have an ARM (or may be ppc) which runs linux and multiple xcores are responsible for AVB streams on multiple ports. what linux-arm does is data access of an NFS server.
something like this would be great in broadcasting (or other busy production) field/environment.
the multiple network ports would stream different things, ..hm may be something bigger then arm would be needed.
well, i do quite agree now why linux would a bit awkward on the xcore. i would be an ugly implementation really if that has to involve a VM or something else ..))
but a board with a cpu running linux (probably just an intel one) would sell great!
in fact a sparc or even a cell would be a top-notch idea, but that won't sell that well, ..however who knows!
surely we need a tight integration ;)~
-
- Respected Member
- Posts: 377
- Joined: Thu Dec 10, 2009 6:07 pm
The "co-processor" route has been explored in a slightly different way...
http://a-eon.com/6.html
I think you're talking about more embedded applications. I agree that there might be some cool opportunities there.
http://a-eon.com/6.html
I think you're talking about more embedded applications. I agree that there might be some cool opportunities there.
-
- XCore Addict
- Posts: 238
- Joined: Thu Dec 17, 2009 5:15 am
mlinux runs on M1 in fpga's or several other embeded prssesors that have a decent amout of memory
tightly couple to the cpu. A mLinux is a good idea if kept to one core w/out the need for a call to external memory. that way Xoss or whatever can poll mlinux from anouther core extracting platform goodies.
Shawn
tightly couple to the cpu. A mLinux is a good idea if kept to one core w/out the need for a call to external memory. that way Xoss or whatever can poll mlinux from anouther core extracting platform goodies.
Shawn