Global Sources
EE Times-India
Stay in touch with EE Times India
EE Times-India > Embedded

Knowing Android's strengths and weaknesses

Posted: 14 Oct 2011     Print Version  Bookmark and Share

Keywords:Android  OpenMax Inegration Layer  signal processing 

The circumstances surrounding the phenomenal rise of Android in the smartphone market are well-documented. However, another revolution is taking place in other applications where Android provides distinct advantages over a "standard" Linux distribution. Android provides a tightly coupled environment for application development where the frameworks and middleware components are selected by Google. Traditional Linux distributions are typically "mix and match" (for example, some people prefer X11/KDE rather than Qt/embedded for graphics development), which burdens the software designer with the need to invest time in understanding the very complex options and make difficult choices that typically have an impact through the product's life cycle.

For these and other reasons, many refer to Android as "Linux made easy." Today, even Windows Compact Embedded (WinCE) developers who once shied away from Linux due to its complexity are taking a second look at well-integrated Android solutions. Add into the mix a platform licensing approach free from "copy-left" burdens, also known as a method for making a program free, along with a cost you cannot beat (free), and you have Android's recipe for success.

Google's vision of connecting Android devices to a cloud and to share movies, music, books, and more via a single-user account is sure to fuel adoption even further. Android implementations today can be found in a large number of applications from tablets, e-readers, Internet TVs, portable media players, netbooks, GPS devices, digital cameras, personal accessories, exercise equipment. and more. Android is free and anybody can download the sources and use it for whatever purpose they wish. For example, a digital still camera could be shipped with a GPS receiver, WiFi, and Android, along with the apps for Flickr, Picasa, and Shutterfly and other applications that allow photos to be uploaded directly to the cloud from the camera. In the past, this would have taken months of software development and testing for each model of camera and each photo-sharing website. With Android, the camera maker can rely on the cloud vendor, such as Flickr, to maintain and develop the app for Android. All the camera vendor has to do is port Android to the device.

Android is seeing adoption in areas where it's not inherently strong because it adds so much value in other areas as previously discussed. With clever silicon system-on-chips (SoCs) and software architectures, these Android limitations can be mitigated. Here are some tools, tips and architectures that help do that.

OpenMAX Integration Layer
Silicon vendors can use several optimisation techniques with OpenMax Inegration Layer (IL) to add value to their silicon hardware offerings. (OpenMax is a royalty-free application programming interface from Khronos Group, a nonprofit consortium.) Android's multimedia frameworks—including Packet Video OpenCore and Google Stagefright—are built on OpenMAX IL-based codec components. OpenMAX IL defines the integration layer, or provides application developers a consistent abstract interface to codecs whether they are implemented in hardware or software. It also goes one step further with the ability to "tunnel" the communication between two components so the application using the component does not get involved in every data transfer.

Heterogeneous systems, or systems with more than one processing core (such as a digital signal processor [DSP], general purpose processors, hardware accelerators, field-programmable gate array), can be further refined by distributing the OpenMAX IL components on other processing cores, tunnelling data transfers between them, and eliminating the costly involvement of the host processor in moving buffers between components. Of course, this implies that the heterogeneous system needs to support shared memory across the processing elements. The goal in this approach is two-fold:
? Minimise or eliminate memory copies of large video buffers.
? Offload some of this CPU-intensive work to dedicated hardware, while relieving the host CPU from this burden.

Tunnelling has the potential to not just reduce the host CPU utilisation but also the latency, which is of paramount importance in applications such as enterprise video conferencing. Figure 1 shows OpenMax used in tunnel mode.


Figure 1: An illustration of OpenMAX being used in a tunnelled mode.

1 • 2 • 3 Next Page Last Page

Comment on "Knowing Android's strengths and weak..."
*  You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.


Go to top             Connect on Facebook      Follow us on Twitter      Follow us on Orkut

Back to Top