feature article
Subscribe Now

Robots With a Sweet Tooth

You know a company is making a success of something when their name becomes used as a general term. Google is now a verb, and a synonym for searching the Internet. But the team that has been at the Googleplex in the last few years don’t want to stop there. They seem to have a determination to take over the world, or at least the connected bits of it. Gmail, Google Docs and the Chrome browser are well established. The Chrome OS is a new kind of OS, where a notebook computer uses HTML5 to run all its apps in the cloud – residing on servers somewhere or other – owned, presumably, by Google. Even things like printing will be through the net to internet-attached printers (although thin clients and a central server were being heavily touted some years ago.) Chrome OS is in beta at the moment, and several manufacturers are working on machines that meet the Chrome OS specification.

Google, so far, has only defined a Chrome machine: it has yet to come up with its own brand of hardware. In TV, Google TV is at the moment running mainly on Sony and Logitech hardware and there is no Google labelled box. However, Google is selling an own-brand phone, using the same software platform for smart phones that it has provided, through the Open Handset Alliance, to, amongst others, Samsung, LG, HTC, Dell, Motorola and Sony Ericson. And it seems that the same platform has recently overtaken Symbian as the number one software for mobile phones. Analysts at Canalys have published their view of the Q4 2010 smart phone market, and their figures show Symbian shipping in 31 million phones while Android was in 32.9 million. (And Canalys estimates that there were 300 million smart phones shipped in 2010.)

The Google platform is Android, and details of version 3.0 (code name Honeycomb) have recently been announced. (Someone in Google obviously has a sweet tooth, with previous versions called Gingerbread, Éclair, Donut and Cupcake.) And the announcement and demos of Honeycomb show Google aiming it not just at smart phones, but also at tablets — a head-on challenge to Apple’s iPad.

Now you may have noticed that I have carefully avoided using the term operating system when talking about Android. This is because, when I spoke to Colin Walls at Mentor and asked, “Why do we need a new Operating System?” he pointed out that Android runs on top of Linux, rather like Windows, in its earliest incarnations, ran on top of DOS (for those of you who can remember Windows before Version 3.1). But having made the point, it is fair to say that most of the Mentor literature, and virtually every other writer on the topic, calls it the Android OS.

Mentor is pushing Android as a platform “beyond the mobile phone.” Specifically, the company sees it as useful not just for tablets and TVs, but also for application areas such as medicine. In this and other embedded applications, there are often two sets of processing demands: the need for the detailed real-time control of the hardware, normally linked with the need to process a data stream, and the need for a rich human machine interface to provide unambiguous control. Increasingly, these two tasks are handled by two operating systems, either running on separate processors, on separate cores of a multicore processor, or on virtualized instances of a single processor. In this case, an RTOS is dedicated to managing the system functionality while a different OS handles the user interface and other communication with the rest of the world. This role is, Mentor argues, something for which Android is well suited.

Android is freely available for download as open source software and is distributed under BSD or Apache 2.0 licenses, which have fewer restrictions on revealing code changes than the GPL. It is built in a series of layers.  At the bottom is the Linux kernel. This looks after a load of the grunt work of memory management, power management, and some aspects of interfacing and communication, with drivers for keypad, WiFi, audio etc.

The next layer up is a collection of libraries. The libc C library, written in a Google-specific flavour of C called Bionic, provides functions for other libraries and applications. Alongside are multimedia and graphics libraries, SQLite database, OpenSSL and WebKit, with a Java engine for HTML pages. Also in this level is the core of Android, the Android Runtime, which has core libraries and the Dalvik Virtual Machine. DalvikVM uses a register-based architecture, as opposed to the JVM’s stack-based approach. (While there are theoretical arguments about which is the best architectural approach, a different architecture may also be interpreted as an attempt to avoid possible legal issues with Sun, the company behind Java. However, now that Oracle has acquired Sun, it has been aggressive over “protecting” the IP in Java and has filed suit against Google, alleging multiple patent infringements.)

With a different architecture, Dalvik uses its own byte code, converted from standard JavaVM byte code by a special compiler called DEX. Since Android runs only on Linux, it can couple Dalvik and Linux tightly. Each Android application runs in its own instance of the DalvikVM.

Climbing up, the next layer is the Android Application Framework. This manages both applications in Android and the system functions and resources with a set of Java-based services and systems. It also allows applications to share functionality.

And at the top we have Android Applications (apps), which are loaded into Android as a package (.apk) containing both the DalvikVM byte code and metadata for the services in the Application framework.

Developers creating Apps for Android have the Android Market, a non-exclusive central resource hosted by Google, where they can post free apps or charge for them, subject to a Market Programme Policy that bars, for example, pornography. (As, unlike Apple, anyone can post Android apps wherever they like, if you really want porn on your Android phone, there are 8,450,000 results in a Google search.)

The Linux underpinning makes it easier to port Android to a range of platforms. Widely available for ARM, as we saw last week it is now available for Power Architecture with a port that involved Mentor. So back to the initial question – why is Mentor interested in Android?

Mainly because it is going to be very widely used in embedded applications. It is relatively small, relatively fast software that provides a straightforward way of adding interfacing and communications to products or, when real time and extensive data stream processing are not issues, to support the entire application. It also has the advantage of implementing the “Write once, run many” paradigm, making apps easily portable across implementations. An example might be an in-car infotainment system. Android already has touch-screen control and all the communication interfacing that you need for talking to the car communications bus. Mobile phones already support satellite positioning, maps and radio reception. Adding automotive-specific applications would allow a manufacturer to create a family of Android-based devices with different levels of sophistication.

Mentor already offers Android consulting and implementation services, making it easier for companies to gain the advantage of Android without a massive investment in learning. A typical change might be to add the ability to drive larger screens than the standard sizes already supported. And the company has also created Inflexion UI for Android, a toolkit that allows developers to very rapidly create sophisticated user interfaces, including complex 3D images and animations and families of variants on a basic theme.

Mentor is not the only company that sees Android as a future revenue stream. In just the last week, Enea, the Sweden-based service company, launched an Android Competence Centre. This will work with companies who want to extend Android, either through support and consulting or through full-scale project development. Empress, a US based developer of embedded databases, announced a software development kit for implementing its database on Android. And analyst company VDC reported strong evidence of Android spreading through the embedded application space.

In a slightly different area, NXP and Giesecke & Devrient announced Near Field Communication (NFC) for mobile handsets running Android, with a handset using NFC due in Q2 2011. This will bring to fruition the use of NFC and cell phones for mobile payments, access control, and data sharing.

And these are in addition to existing resources, from Google, from a dedicated Android web site, and from the Open Handset Alliance. ARM has a valuable Android portal/resource centre on the company’s web site.

The momentum is building behind Android.  It is not a holy grail (although doubtless we will see religious wars between Androids and Microsofties and others). It is an interesting and powerful alternative to consider when thinking about the software for your next embedded product.

Leave a Reply

featured blogs
Nov 25, 2020
It constantly amazes me how there are always multiple ways of doing things. The problem is that sometimes it'€™s hard to decide which option is best....
Nov 25, 2020
[From the last episode: We looked at what it takes to generate data that can be used to train machine-learning .] We take a break from learning how IoT technology works for one of our occasional posts on how IoT technology is used. In this case, we look at trucking fleet mana...
Nov 25, 2020
It might seem simple, but database units and accuracy directly relate to the artwork generated, and it is possible to misunderstand the artwork format as it relates to the board setup. Thirty years... [[ Click on the title to access the full blog on the Cadence Community sit...
Nov 23, 2020
Readers of the Samtec blog know we are always talking about next-gen speed. Current channels rates are running at 56 Gbps PAM4. However, system designers are starting to look at 112 Gbps PAM4 data rates. Intuition would say that bleeding edge data rates like 112 Gbps PAM4 onl...

Featured video

Synopsys and Intel Full System PCIe 5.0 Interoperability Success

Sponsored by Synopsys

This video demonstrates industry's first successful system-level PCI Express (PCIe) 5.0 interoperability between the Synopsys DesignWare Controller and PHY IP for PCIe 5.0 and Intel Xeon Scalable processor (codename Sapphire Rapids). The ecosystem can use the companies' proven solutions to accelerate development of their PCIe 5.0-based products in high-performance computing and AI applications.

More information about DesignWare IP Solutions for PCI Express

Featured paper

Top 9 design questions about digital isolators

Sponsored by Texas Instruments

Looking for more information about digital isolators? We’re here to help. Based on TI E2E™ support forum feedback, we compiled a list of the most frequently asked questions about digital isolator design challenges. This article covers questions such as, “What is the logic state of a digital isolator with no input signal?”, and “Can you leave unused channel pins on a digital isolator floating?”

Click here to download the whitepaper

Featured Chalk Talk

Amplifiers & Comparators Designed for Low Power, Precision

Sponsored by Mouser Electronics and ON Semiconductor

When choosing amplifiers and comparators for low-power, high-precision applications, it pays to have a broad understanding of the latest technology in op amps. There are new types of devices with significant advantages over the traditional go-to parts. In this episode of Chalk Talk, Amelia Dalton chats with Namrata Pandya of ON Semiconductor about choosing the best op amp for your application.

Click here for more information about ON Semiconductor High Performance CMOS Operational Amplifiers