We want to port android on FPGA as part of master thesis. Please help

875 views
Skip to first unread message

tapas kundu

unread,
Jun 25, 2009, 12:49:08 PM6/25/09
to android-porting
Hi all,

We are doing our masters project at IITD, our supervisor has asked us
to consider getting the Andoid OS working on FPGA.

This project is very important for us as it has 18 credits out of
total 61. So we want to be very sure that we would get this done.

These are the questions we'll like to ask.

Has someone already ported Android on FPGA? Is there a project people
are working on with this as their aim?

Android works on Linux with Java running on top of it. To get this to
work we would first need Linux to work on FPGA with Graphics and also
have Java running on top of it. How is this supposed to be done? Has
it been done?

If I download the Android OS and build on linux 32 bit. Will it work
on x86 architecture (for testing purposes)?

On the webpage http://source.android.com/download this line is written
To build the Android files in a Mac OS environment, you need an Intel/
x86 machine. The Android build system and tools do not support the
obsolete PowerPC architecture.
Is the same statement valid even if build in ubuntu linux environment?

How much time/effort you people think would be required? There are 2
people (Tapas and Ashish) doing the same project which will go on for
about an year?

Can we get some papers published for our work?

Thanks and Regards,
Tapas Kundu
Ashish Srivastava

Eric Wong (hdmp4.com)

unread,
Jun 26, 2009, 9:09:43 PM6/26/09
to android-porting
On Jun 26, 2:49 am, tapas kundu <tapaskun...@gmail.com> wrote:
> Hi all,
>
> We are doing our masters project at IITD, our supervisor has asked us
> to consider getting the Andoid OS working on FPGA.

What exactly is that?
>
> This project is very important for us as it has 18 credits out of
> total 61. So we want to be very sure that we would get this done.
>
> These are the questions we'll like to ask.
>
> Has someone already ported Android on FPGA? Is there a project people
> are working on with this as their aim?

Sorry, don't know anything about that.
>
> Android works on Linux with Java running on top of it. To get this to
> work we would first need Linux to work on FPGA with Graphics and also
> have Java running on top of it. How is this supposed to be done? Has
> it been done?

Does your board runs linux? if yes, it is possible to port Android
over. If not, don't think about it.
Keep in mind Android's minimal requirement of ARM9 200Mhz or better.

I would say about 90% of the work is to upgrade your board's linux
kernel to the latest one that Android uses, which is 2.6.25 for
Android 1.5. Supposedly 2.6.29 for Android 2.0 and then apply the
Android patches. Putting on the Android file system itself should not
be too difficult....
>
> If I download the Android OS and build on linux 32 bit. Will it work
> on x86 architecture (for testing purposes)?

Technically, no. If it was that easy, everyone will be selling Android
laptops or netbooks more than a year ago.
Realistically, yes after putting xx man hours on it. You basically
need to do a complete port for it to work, except the emulator.
Find the Eeepc Android port.
>
> On the webpagehttp://source.android.com/downloadthis line is written
> To build the Android files in a Mac OS environment, you need an Intel/
> x86 machine. The Android build system and tools do not support the
> obsolete PowerPC architecture.
> Is the same statement valid even if build in ubuntu linux environment?
>
> How much time/effort you people think would be required? There are 2
> people (Tapas and Ashish) doing the same project which will go on for
> about an year?

Depends on your experience.....I think it will probably take both of
your entire master degree to complete the work.
>
> Can we get some papers published for our work?

Why don't you try to find if someone had published any work on it?
>
> Thanks and Regards,
> Tapas Kundu
> Ashish Srivastava

Lastly, I am not a developer but I am co-coordinating an Android
project for my company, building Android hardware, currently
completing our Android port.
If you think there is any possibilities that you can have your master
project relating to whatever we are doing, feel free to contact me to
discuss.

Cheers
Eric

Sean McNeil

unread,
Jun 26, 2009, 10:50:29 PM6/26/09
to android...@googlegroups.com
FPGA stands for Field Programmable Gate Array. It is essentially
programmable hardware. The answer to such a query is no, Android cannot
be ported to an FPGA. You would basically need a 32-bit cpu core placed
on the FPGA along with supporting hardware. Then port Linux onto it,
then Android. Android works pretty well on ARM v5 or newer architectures
as well as x86. So your best bet is to use an FPGA-cpu like the Altera
ARM chip.

Elvis Dowson

unread,
Jun 27, 2009, 1:05:01 AM6/27/09
to android-porting
Hi guys,
The effort required to port android to an FPGA is huge!! My
honest opinion is to try to scale your thesis into something more
realistic and achievable in a 1 year time frame, such as hooking up an
existing general purpose CPU to an FPGA and accelerating a specific
computational algorithm on the FPGA, and bringing the results back to
the CPU. This way, you use these devices for what it does best, the
CPU to run the linux kernel and the FPGA to hardware accelerate an
algorithm.

I have seen in some of the presentation slides that Android uses the
OpenMax interface developed by the Khronos Group, so that you can
provide for hardware accelerated codecs. So modifying your thesis
along those lines would be the best approach.

I think porting of linux to the FPGA has been done before. Some of the
FPGAs such as the Xilinx Virtex-5 already has a PowerPC 4 series core,
and if you search for a git repository that contains the required
support for the ML507 board, you should be able to get linux up and
running on the board. One thing to keep in mind is that all the
peripheral devices on the ML507 that uses the Virtex-5 (VGA, Ethernet,
USB, etc) are all soft IP cores, so imagine the sheer effort that you
will have to put in, to get this ported to work with android.

I think you need to carefully balance the objectives of this type of
work, i.e is there a benefit to porting android OS onto an FPGA
(factor also time and effort required to do the port, plus end
result). In my opinion, the real benefit of an FPGA is the blazing
speed that it offers in terms of h/w acceleration, so accelerating
specific algorithms or codecs, or even porting an existing software
codec in android and getting it to run on the FPGA and send the
results back to the CPU is a better thing, and it probably something
that you should be able to achieve with 2 people working full time for
about 4 to 7 months in an academic environment.

Best regards,

Elvis

Jeremy Ralph

unread,
Jul 21, 2009, 12:02:06 AM7/21/09
to android-porting
Some FPGAs development kits that will will run Linux are mentioned in
the following blog posting (ARM, MicroBlaze, NIOS II, & PPC
processors):

http://www.registerbits.com/to-fpga-or-virtual-prototype

Not sure if you'd be able to get the required performance out of a
soft-core...


On Jun 26, 7:50 pm, Sean McNeil <seanmcne...@gmail.com> wrote:
> FPGA stands for Field Programmable Gate Array. It is essentially
> programmable hardware. The answer to such a query is no, Android cannot
> be ported to an FPGA. You would basically need a 32-bit cpu core placed
> on the FPGA along with supporting hardware. Then port Linux onto it,
> then Android. Android works pretty well on ARM v5 or newer architectures
> as well as x86. So your best bet is to use an FPGA-cpu like the Altera
> >> On the webpagehttp://source.android.com/downloadthisline is written

Vince

unread,
Aug 3, 2009, 3:04:00 PM8/3/09
to android-porting
Linux is ported to the microblaze (softcore) processor that runs on
Spartan3E, Spartan3A, Virtex 5,... fpga's from Xilinx. You can find
information on the xilinx website or on the petalogix website:
http://developer.petalogix.com/ see also this :
http://www.petalogix.com/news_events/Linux2.6.20


Please keep me informed on porting Android to Xilinx FPGA platforms.,
maybe we can do some work together?


Kind regards,
Vince



On Jul 21, 6:02 am, Jeremy Ralph <jeremy.ra...@gmail.com> wrote:
> Some FPGAs development kits that will will run Linux are mentioned in
> the following blog posting (ARM, MicroBlaze, NIOS II, & PPC
> processors):
>
> http://www.registerbits.com/to-fpga-or-virtual-prototype
>
> Not sure if you'd be able to get the required performance out of a
> soft-core...
>
> On Jun 26, 7:50 pm, Sean McNeil <seanmcne...@gmail.com> wrote:
>
> >FPGAstands for Field Programmable Gate Array. It is essentially
> > programmable hardware. The answer to such a query is no, Android cannot
> > be ported to anFPGA. You would basically need a 32-bit cpu core placed
> > on theFPGAalong with supporting hardware. Then port Linux onto it,
> > then Android. Android works pretty well on ARM v5 or newer architectures
> > as well as x86. So your best bet is to use anFPGA-cpu like the Altera
> > ARM chip.Eric Wong (hdmp4.com) wrote:
> > > On Jun 26, 2:49 am, tapas kundu <tapaskun...@gmail.com> wrote:
>
> > >> Hi all,
>
> > >> We are doing our masters project at IITD, our supervisor has asked us
> > >> to consider getting the Andoid OS working onFPGA.
>
> > > What exactly is that?
>
> > >> This project is very important for us as it has 18 credits out of
> > >> total 61. So we want to be very sure that we would get this done.
>
> > >> These are the questions we'll like to ask.
>
> > >> Has someone already ported Android onFPGA? Is there a project people
> > >> are working on with this as their aim?
>
> > > Sorry, don't know anything about that.
>
> > >> Android works on Linux with Java running on top of it. To get this to
> > >> work we would first need Linux to work onFPGAwith Graphics and also
> > >> have Java running on top of it. How is this supposed to be done? Has
> > >> it been done?
>
> > > Does your board runs linux? if yes, it is possible to port Android
> > > over. If not, don't think about it.
> > > Keep in mind Android's minimal requirement of ARM9 200Mhz or better.
>
> > > I would say about 90% of the work is to upgrade your board's linux
> > > kernel to the latest one that Android uses, which is 2.6.25 for
> > > Android 1.5. Supposedly 2.6.29 for Android 2.0 and then apply the
> > > Android patches. Putting on the Android file system itself should not
> > > be too difficult....
>
> > >> If I download the Android OS and build on linux 32 bit. Will it work
> > >> on x86 architecture (for testing purposes)?
>
> > > Technically, no. If it was that easy, everyone will be selling Android
> > > laptops or netbooks more than a year ago.
> > > Realistically, yes after putting xx man hours on it. You basically
> > > need to do a complete port for it to work, except the emulator.
> > > Find the Eeepc Android port.
>
> > >> On the webpagehttp://source.android.com/downloadthislineis written

Elvis Dowson

unread,
Aug 4, 2009, 4:42:40 PM8/4/09
to android...@googlegroups.com
Hi Vince,

On Mon, Aug 3, 2009 at 11:04 PM, Vince <claesv...@gmail.com> wrote:

Please keep me informed on porting Android to Xilinx FPGA platforms.,
maybe we can do some work together?

I've got a Virtex-5 FXT variant with a hard processor (PPC440), I've also done a recent port of android to TI OMAP. I just don't see a benefit porting the entire android stack to an FPGA. What purpose will it serve? 

The only use case I can think of is to use an FPGA as a hardware accelerator for specific algorithms and codecs, using say the OpenMAX interface, which is supposed to allow swapping of codecs between s/w and h/w implementations. 

If you were for example developing a software defined radio, and using android as the UI interface, now that would make some sense, but still you're better off running android on a standard processor and off-loading the SDR part to the FPGA.  

BTW, I'm working on integrating the Virtex-5 and the TI OMAP, so that I can off-load computations to the FPGA and pass the results back to the OMAP processor.

Best regards,

Elvis

Sean McNeil

unread,
Aug 4, 2009, 10:48:10 PM8/4/09
to android...@googlegroups.com
Which OMAP are you using? Are you aware of TIs omapzoom.org? The
OpenCore codecs are already ported to the OMAP3 3430 DSP.
Reply all
Reply to author
Forward
0 new messages