ARM-based Android hardware-software design using virtual prototypes - Part 1: Why virtualize?
Achim Nohl, Synopsys
Embbedded.com (October 27, 2012)
The Android Software Development Kit (SDK) [1] enables the software community to develop applications that take advantage of the latest handset features before the handset is even available. SDKs are tailored and extended by handset providers to design devices with their key differentiating product capabilities.
Prominent examples include Kyocera’s SDK support for their dual screen devices, Samsung’s SDK extensions for S-Pen, or LG’s modified SDK for 3D application software development. The core of these SDKs is a simulator based on the QEMU [2] simulation framework. The SDKs guarantee that at the Java level, the programming interface (Android API) is consistent between the real handset and the SDK’s simulator.
However, these SDKs target application developers. The execution and architecture underneath the Java software layer is not guaranteed to match the execution of the real handset. This is due to the fact that the SDKs simulate a generic hardware platform, the so-called “Goldfish” platform. For this reason, SDKs fall short when it comes to full end-to-end hardware/software integration.
E-mail This Article | Printer-Friendly Page |
|
Related Articles
- Android hardware-software design using virtual prototypes - Part 2: Building a sensor subsystem
- Designing An ARM-Based Multithreaded Audio/Visual/Motion Recording System: Part 1
- Dealing with automotive software complexity with virtual prototyping - Part 1: Virtual HIL development basics
- How to make virtual prototyping better than designing with hardware: Part 1
- How to make virtual prototyping better than designing with hardware: Part 1