Android port to XMOS ... any interest?

XCore Project reviews, ideas, videos and proposals.
Post Reply
androider
Member++
Posts: 24
Joined: Sat Sep 18, 2010 4:05 am
Contact:

Android port to XMOS ... any interest?

Post by androider »

I've been working as an Android engineer for several years now, and I'm pretty familiar with the Android internals - especially Dalvik, the virtual machine that runs your applications.

I'm interested in taking a crack at porting the Dalvik virtual machine to run on XCORE architecture, and I would like to get a pulse for how much interest there might be for such an effort.

Would it be useful for you to run Android applications on an XCORE processor?

One of the uses would be this: it would open up the Android platform for applications to be written for strictly embedded/headless (no UI) applications. It would also pave the way for writing parallelized Android applications.

Thoughts/questions please ....


Cheers,

RIchard


User avatar
pstnotpd
XCore Addict
Posts: 161
Joined: Sun Jun 12, 2011 11:47 am

Post by pstnotpd »

I'm curious. What hardware configuration do you have in mind to run something as big as dalvik?
User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm
Contact:

Post by Berni »

Well it is sort of like java so there is not going to be incredible speed from it and you will most likely have to run it on a single thread.

But i think what would mostly be a problem is memory. 64K is not a lot when you have to keep your program in ram as well. So in the end you are left with not a whole lot RAM as actual RAM for stack and variables and virtual machines tend to use quite a bit of it.

In theory you can run anything on a computer if only you have enough memory. Like someone booted linux on a 8bit AVR chip by using external SRAM bitbanged by GPIO and emulating a CPU inside the AVR(might have even been a x86). It did boot linux but it needed many many hours to finish booting that minimalistic version of linux and executing a console command takes a few minutes. Obviously not useful but a nice proof of concept.
androider
Member++
Posts: 24
Joined: Sat Sep 18, 2010 4:05 am
Contact:

Post by androider »

The Dalvik virtual machine itself is a fairly small C/C++ program. In its current form it takes up about 12kb of space - but that's on a Linux kernel.

One part of the project would be to verify whether or not a dalvik VM on an XMOS device would take up more (or less) memory.

Also, one part of the project would be to figure out how much of Android's API would be available for applications.

The largest portion of memory will be taken up by the API that dalvik runs (e.g. how much of the Android API is available). So, the Java API would most likely need to be pared down to a minimal set, but I'm confident enough of it would be left over to be useful.

Most programs that the virtual machine would run would be expected to be fairly small (e.g. < 32k) in size.

Having said that, the availability of the SDRAM slice will help things considerably.
User avatar
TonyD
XCore Addict
Posts: 234
Joined: Thu Dec 10, 2009 11:11 pm
Location: Newcastle, UK
Contact:

Post by TonyD »

Running a byte-code VM sounds feasibly.

You could look at using SPI based RAM or E2/Flash to give more program space. The 23xx1024 from Microchip has SQI (4-bit SPI) and will give you 128KB
Post Reply