The perils and joys of Android developmentDespite the excitement and enthusiasm for Android, questions remain about its suitability for certain systems.
Embedded systems developers have responded with enthusiasm to the many classes on Android, open source, and Linux software development at the Embedded Systems Conferences this year, so I know the two featured design articles in this issue of ESD will be popular.
In "Validating your GNU platform toolchain: tips and techniques" the authors provide useful instruction on how to validate a GNU tool chain. This is an important first step, because, along with Linux, GNU is at the heart of development on Android. In "Understanding Android's strengths and weaknesses," the writers dive into the many strengths—and weaknesses—of the platform. They provide guidelines on how its limitations can be mitigated and its strengths enhanced through the use of appropriate software tools.
But many questions remain. Given that malicious hackers have targeted the platform, security remains a major challenge for Android developers. While the Java-based application programming interface that Google has wrapped around Android's Linux core has a number of built-in mechanisms to protect applications from such eventualities, Linux security is still a troubling problem in the minds of many embedded systems developers.
Another question is how well Android will scale as the number of processor cores in many advanced consumer mobile phones increase. Some developers have told me that as many as 10 will be the norm in a few years.
Then there's Android's viability outside of the mobile market for which it was developed. Most mobile hardware platforms have more than enough processor and memory to handle the load. But in more traditional embedded applications, the name of the game is limited memory and just how much processor horsepower the application will need. Something will have to change. The constraints of most embedded design will not, so it will have to be Android.
Finally, there is the question of real-time and deterministic operation. Unlike many traditional embedded applications where hard–real-time operation requires tight and precise millisecond and microsecond responses, most mobile Android applications are written for use in much looser and nondeterministic, soft real-time environments. While many Linux distributions offer credible real-time performance, it's not clear yet whether Android requires a specific Linux profile or whether it's amenable to being used with any number of distributions.
While the articles in this issue do not address all of these questions, they're at least a start. And I expect you, the readers, and potential authors, to help answer them.
Embedded.com Site Editor Bernard Cole is a partner in the TechRite Associates editorial services consultancy. He is sitting in for Chris Ciufo this month. Bernard welcomes your feedback. Send an email to firstname.lastname@example.org.
This article provided courtesy of Embedded.com and Embedded Systems Design magazine.
See more articles like this one on Embedded.com.
This material was first printed in Embedded Systems Design magazine.
Sign up for subscriptions and newsletters.
Copyright © 2011
UBM--All rights reserved.