Raspberry Pi will roll with Android 4.0

Aug 02, 2012 by Nancy Owano report

(Phys.org) -- Broadcom developer Naren Sankar is porting Android 4.0 (Ice Cream Sandwich) over to the little $35 computer from the Raspberry Pi Foundation, and so far the two coexist nicely, though with more work ahead. To demonstrate how far along the Android 4.0 Ice Cream Sandwich port has come for the Raspberry Pi platform, Sankar has published a YouTube video that demonstrates all the action. The Foundation credits him with having made “great progress.” (The chip at the heart of the Raspberry Pi is the Broadcom BCM2835.)

Up to now, the device, which functions as a computer with Ethernet, HDMI, and USB ports and SD card slot, has hosted Linux as the choice OS: “We recommend Debian as our default distribution,” according to the FAQ sheet on the Foundation site, along with the recently announced. optimized Debian port called Raspbian. Released in mid-July. Raspbian, specifically optimized for the Pi computer’s hardware specs, was crafted in order to bring faster performance to the device.

While Raspbian is a beef-up, Android 4.0, say Pi fans, could make the device even more of a draw with wider audiences. The original vision of the Raspberry Pi foundation was to see the Pi off as a tool for students to explore the fundamentals of computer science; the Android ICS would appeal to users excited about hooking up their devices to TVs and home networks for Android-run content.

The Android port has support for hardware-accelerated graphics and video playback; work remains, though, to add AudioFlinger. Reports say developers are working on other issues too. The port uses its own customized Linux kernel and not the Linux kernel version maintained by the Pi Foundation. Raspberry Pi ‘s work ahead is to converge the two before publishing the source code.

This video is not supported by your browser at this time.

“This implementation uses a different kernel and VideoCore binary image from the one available on GitHub, which is why we’ve been keeping quiet about it so far,” said a Foundation post. “We’re investigating the feasibility of converging the two code lines to produce a single common platform as soon as we can, at which point we hope to release the sources for you to play with.”

Images and video playback seem adequate, but those watching the demo video of the ICS in action would no doubt agree with a comment on Ars Technica: ’s performance and responsiveness on the are obviously not as good as they would be on a higher-end device, though it appears to work relatively well.

Explore further: Toshiba to launch world's fastest microSD memory cards

More information: www.raspberrypi.org/archives/1700

Related Stories

Raspberry Pi gets customized OS called Raspbian

Jul 18, 2012

(Phys.org) -- The no-nonsense, bareboned, elemental $35 computer called Raspberry Pi is making headlines again with its Wednesday announcement of its new Raspbian operating system, described as an OS specifically ...

Raspberry Pi to add camera later this year

May 22, 2012

(Phys.org) -- The Raspberry Pi, a uniquely priced, no casing computer that plugs into your TV and a keyboard., will be given a camera accessory later this year. That may be “oh-so-what” news if this ...

Distributors reel from Mad Wednesday rush for $35 Pi

Mar 01, 2012

(PhysOrg.com) -- No long lines winding down Madison Avenue; no marching bands in Barcelona; no glossy ads in mainstream magazines. Just news of a product available for pre-order is all it took to trigger a ...

Atomic time for the Raspberry Pi

Jun 26, 2012

A blog post on DesignSpark - an online community for electronic engineers - has described how the Raspberry Pi mini computer can be synchronised with NPL's atomic time scale via the MSF Radio Time Signal.

Foundation readies $25 computer to seed tech talents

Dec 24, 2011

(PhysOrg.com) -- A $25 computer targeted to help young people learn about computers beyond uploading pics and downloading documents is about to start volume-production in January. The Raspberry Pi project, a UK-based foundation, will pla ...

The $25 educational PC

May 05, 2011

(PhysOrg.com) -- Have you ever played Elite? What about games in the Rollercoaster Tycoon series, Thrillville, Lost Winds, or Kinectimals? If so, then you have enjoyed the work of David Braben. Mr. Braben ...

Recommended for you

Health care site flagged in Heartbleed review

6 hours ago

People with accounts on the enrollment website for President Barack Obama's signature health care law are being told to change their passwords following an administration-wide review of the government's vulnerability to the ...

Airbnb rental site raises $450 mn

6 hours ago

Online lodging listings website Airbnb inked a $450 million funding deal with investors led by TPG, a source close to the matter said Friday.

Four questions about missing Malaysian plane answered

6 hours ago

Travelers at Asian airports have asked questions about the March 8 disappearance of Malaysia Airlines Flight 370 while en route from Kuala Lumpur to Beijing. Here are some of them, followed by answers.

Android gains in US, basic phones almost extinct

19 hours ago

The Google Android platform grabbed the majority of mobile phones in the US market in early 2014, as consumers all but abandoned non-smartphone handsets, a survey showed Friday.

User comments : 24

Adjust slider to filter visible comments by rank

Display comments: newest first

Vendicar_Decarian
3 / 5 (5) Aug 02, 2012
Impressive.

It is a pity that all of the software is written in C, which optimizes so poorly.

Writing the code in portable assembler has the potential to speed the code up by a factor of 4 to 10.

jackofshadows
5 / 5 (1) Aug 02, 2012
Vendicar, I've been doing asm for an awfully long time (~40 yrs) and if you are even mildly competent in C you aren't going to see that kind of acceleration. It even allows you to inline assembly if you need it. Now if you are talking about C , heck yes, you can get that kind of return due to drop-kicking the abstraction crap it brings in even when unnecessary. I'm of the philosophy that operating systems should never be written in object-oriented code. Everything you need can be found in Knuth's works and Tannenbaum's works, with a bit of algorithmic goodness from a few other sources.

Reinventing the wheel so you can 'look good' to the universe just ain't my kind of thang. I don't need validation that I'm a genius ;-). Do what works, reliably, even when Murphy shows up.
Vendicar_Decarian
not rated yet Aug 02, 2012
Odd. I've been programming in assembler for 30 years and see that kind of speed increase all the time.

"Vendicar, I've been doing asm for an awfully long time (~40 yrs) and if you are even mildly competent in C you aren't going to see that kind of acceleration." - Jack

Perhaps you aren't doing it right.

I once reverse engineered a SCSI driver for some SCSI card. Not only did I increase it's code speed by some integer multiple, but I also reduced it's size by a factor of 10.

Game coders report speed increases over C and C by factors of 10 to 200 or more by reverting to assembler.

Now speed increases of 200 or more are not the fault of C, as much as it is due to the difficulty of programming for the horrible x86 instruction set who's asymmetric nature makes optimization a process in creative esoteric programming rather than procedural design.

tuomejoo
not rated yet Aug 02, 2012
Wow. I know one man, who has done assembler programming for living. This is one task for man, that has to be computerized. Like slavery. Just make a computer program to do it.
sennekuyl
not rated yet Aug 02, 2012
Potentially, he is doing it mostly right the first time round.
Vendicar_Decarian
5 / 5 (1) Aug 02, 2012
Ya, well the problem is, compilers produce crap code, and you will take a massive performance hit by programming in a HLL.

If you are doing something in an interpreted language like Python for example, your performance hit will be on the order of 1000 times to 10,000 times slower than with assembler.

"Like slavery. Just make a computer program to do it." - tuomeioo

The cost of Assembler has traditionally been due to translational incompatibilities between CPU's. Particularly poor CPU designs like x96 and earlier.

Modern CPU's are designed far better, and can be made much better yet to facilitate the translation of machine code from CPU to CPU.
Vendicar_Decarian
not rated yet Aug 02, 2012
I have programmed a total of 2 or 3 pieces of code susceptible to buffer overflows in my life.

95 percent of the exploits in the wild are due to buffer overflows generated by people programming in C.

"Potentially, he is doing it mostly right the first time round." - sennekuvl

Did you know that it isn't possible to use even half of the functions in the STDIO library that is part of C, without exposing your application to buffer overflow issues?

And yet the Library is still shipped as the standard IO library for the language.
Vendicar_Decarian
not rated yet Aug 02, 2012
This is potentially assembler

W15 = (W15 W14 W13) * 2 W12
if W15 >= W14 then
W15 = 0
endif

And it can be made even more abstract with a few defines.

There need be no real added programming complexity compared to a HLL.

sennekuyl
not rated yet Aug 03, 2012
It wasn't serious, bloke.

I'm no programmer but I could be a groupie for one and even I know that assembler is realms faster than C which is mostly much faster than interpreted languages --- assuming equal programming skills in all abstractions & no 'shortcuts'. TMK, the main appeal of higher level languages is convenience and comprehension by plebs like me.

What was the point of showing that 'potentially assembler' code? Is there any code that simply *cannot* be done in assembler?
Vendicar_Decarian
not rated yet Aug 03, 2012
There is no code that can not be done in assembler, since ultimately assembler specifies individual machine instructions and High Level Languages ultimately translate into those same opcodes.

The power of HLL's is abstraction. The failure of HLL's is abstraction. CPU's are simply not designed to run HLL's well. Neither do Opcodes provide a means of efficient translation between "high level" concepts and "low level" implementation.

C comes close, but misses the mark because it is still too far removed from the CPU.

This could almost be excuse in the era of poor CPU's in which the x86 belongs. But given the vast size of CPU registers available in modern CPU's this is no longer true.

Vendicar_Decarian
not rated yet Aug 03, 2012
The reason for providing the pseudo assembler code was to provide an example of how assembler need not look obscure. It is only through convention that it is so.

In modern CPU's register sets and instruction sets are continuing to trend toward complete orthogonality, so which register is available for which instruction will be irrelevant. Further register lists are now large enough - if you include register pages and hidden registers such as those found in the x86, that virtually any method can be coded to run with all temporary variables that are not part of a working data set, completely within the CPU.

What limits code from exploiting these features is the glacially slow progress in CPU design resulting from the dominance of the x86 instruction set specifically, and by the corporate ownership of other instructions sets that require licensing for use.
infinite_energy
2 / 5 (1) Aug 03, 2012
It is a pity that all of the software is written in C, which optimizes so poorly. Writing the code in portable assembler has the potential to speed the code up by a factor of 4 to 10.

Hardware advancements optimizes even the worst code in any language.
Just run your current code in tomorrows processors and it will run faster.
Assembler language is not portable but C language is ( through a recompile ); the same app in C code can be compiled and run on many processors and this is why Linux is so popular.
alfie_null
not rated yet Aug 03, 2012
The point of this exercise is to see how much operating system can be squeezed into the device? And don't forget the JVM. Sounds like serious overhead. Is there any room left for applications? I'd be more interested in seeing something Minix-like ported.
alfie_null
not rated yet Aug 03, 2012
Regarding optimization: I'd guess that among the people and groups involved in Linux kernel development, there are a bunch that profile the code. Critical bits and bottlenecks are identified and optimized, perhaps some in assembly.

Honestly, though, in my experience it's hard to identify big-O dependent algorithms that can't be efficiently expressed in C. The only ones to mind are multi-precision and encryption related.

Gcc (for instance) is skilled at optimizing. Sometimes I'll compile a suspect bit of code to assembly output. What comes out looks very nice.

It's possible to write sufficiently bad C code that it optimizes poorly. But in the same vein, it's possible to write bad assembly.
gmurphy
not rated yet Aug 03, 2012
Much of software engineering is trading off between efficiency and convenience, certainly raw assembly in the hands of a skilled engineer is going to be more efficient than C from a relative novice but the C code will be easier to understand and debug.
ab3a
5 / 5 (2) Aug 03, 2012
@VD: I have programmed real time embedded systems in assembly and C as well. Once upon a time I used to count microcycles on PDP-11 hardware.

Yes, there is a speed increase, but to see factors 4 to 10 times better, you must be working with some really brain dead C programs and awful C compilers.

That is not to say that assembly routines for certain heavily used functions aren't warranted. But writing an entire app that way is lunacy.

And then when you're done, what do you have? Oh yes, you have a piece of code tied to a hardware platform. Now someone else has to rewrite it for another platform, or throw your code in the trash and start over. The latter is usually what happens.
TehDog
5 / 5 (1) Aug 03, 2012
As an occasional coder who's looked at many languages I tend to regard them in the same way I would my tool chest. Use the right tool for the job. Sometimes you need a precision screwdriver to tweak something, sometimes you just want to hammer a piece of metal into roughly the right shape. My take on the diff between (say) asm and VB :)
Vendicar_Decarian
not rated yet Aug 04, 2012
Quite impossible. But among the ignorant and foolish, magical thinking is all the rage these days.

"Hardware advancements optimizes even the worst code in any language." - InfiniteTard
Vendicar_Decarian
1 / 5 (1) Aug 04, 2012
It will always be easier to write slop than write efficient code.

C allows people to write slop.

"but the C code will be easier to understand and debug." - GMurphy

Assembler can be redefined so that there is very little difference between it and most other MLL and HLL's.

It is only out of ignorance that people are content to throw away 90 percent of their compute cycles.
Vendicar_Decarian
not rated yet Aug 04, 2012
Standard C compilers GNU, Microsoft, Intel. They all produce the same 4 times or more slower crap.

"Yes, there is a speed increase, but to see factors 4 to 10 times better, you must be working with some really brain dead C programs and awful C compilers." - aba3

You obviously haven't looked at the run times or code size.

"But writing an entire app that way is lunacy." - aba3

It should be written in a portable assembler and then translated to the target CPU.

There are multiple existing standards for doing this.
Vendicar_Decarian
not rated yet Aug 04, 2012
You aren't paying attention.

"Now someone else has to rewrite it for another platform, or throw your code in the trash and start over." - aba3

infinite_energy
3 / 5 (2) Aug 04, 2012
Quite impossible. But among the ignorant and foolish, magical thinking is all the rage these days.


You are an imbecile.
Vendicar_Decarian
1 / 5 (1) Aug 04, 2012
I would have more respect for your assertion if your chosen name wasn't so childish.

"You are an imbecile." - infiniteTardness
cmn
not rated yet Aug 05, 2012
My penis is smaller and faster than yours! Oh, wait...

More news stories

Airbnb rental site raises $450 mn

Online lodging listings website Airbnb inked a $450 million funding deal with investors led by TPG, a source close to the matter said Friday.

Health care site flagged in Heartbleed review

People with accounts on the enrollment website for President Barack Obama's signature health care law are being told to change their passwords following an administration-wide review of the government's vulnerability to the ...

Impact glass stores biodata for millions of years

(Phys.org) —Bits of plant life encapsulated in molten glass by asteroid and comet impacts millions of years ago give geologists information about climate and life forms on the ancient Earth. Scientists ...