Android&Virtualization on Fast Models
A guide for utilizing Android as host and guest
on ARM Fast Models鞋类品牌
This Virtual Open Systems guide explains how to virtualize Android Jelly Bean on an ARM Cortex-A15Fast Models development environment.An Android guest is virtualized by the KVM on ARM hypervisor running on a host Android Jelly Bean operating system.
Introduction to Android KVM virtualization
The advent of tablets and smartphones has revolutionized the mobile market.Currently, many of the ARM-bad tablet and smartphone products are running the Android software.With the newly relead version of Android,the Jelly Bean,Google unifies tablets and mobile devices,by incorporating the Honeycomb features and various enhancements into the new OS.In addition a new generation of tablet and mobile products bad on ARM Cortex-A15MPCore has been introduced to the market.The ARM multicore architecture provides an out-of-order super-scalar pipeline running at up to2.5GHz and supports ARMv7 instruction t.Cortex-A15is the first ARM processor which supports the Hardware-Assisted Virtualization(HAV)and the Large Physical Address Extensions(LPAE).
彩色摄影
With the features,ARM Cortex-A15is suitable for both consumer market and for lightweight rver tasks,like running a web rver and in a micro-rver configuration for cloud computing.Within this context,virtualization is an ubiquitous technology in enterpri data-centers and cloud computing infrastructures.Virtualization introduces one level of indirection between logical and physical context.Such indirection has proven to be remarkably powerful and efficient.In modern platforms,for consumer and rver markets, this indirection is ud in numerous ways.For instance in a hypervisor,a software layer that decouples an operating system and its applications from the real hardware,or in a Virtual Machine(VM)that is a software layer emulating a hardware platform.
In order to start software development for modern platforms bad on Cortex-A15that u virtualization technologies,it is possible to provide a virtual reprentation of the hardware ahead of the real platform.Using technologies such as the ARM Fast Models, software developers can satisfy different application scenarios in advance.Thus Fast Models can help engineers to debug,optimize and analyze software applications and middle-ware environments,such as Android.In this document,we will describe how to boot an Android Jelly Bean host and guest on ARM Fast Models(refer also to the Android on FastModels virtualization video demo).
KVM-on-ARM
KVM(Kernel-bad Virtual Machine)is an open-source hypervisor,ud extensively for achieving full hardware virtualization(and optionally paravirtualization).KVM relies on the
Linux kernel's process and memory management features,to handle Virtual Machines. Instead of performing emulation by itlf,it us a ur space driver QEMU (Quick Emulator),to t up guest VM address space and map peripheral devices.
KVM can take advantage of CPU-specific hardware extensions,such as Intel VT,AMD-V and ARM,to optimize and accelerate the virtualization process.The Cortex-A15is the first ARM processor using the hardware virtualization extensions,for which KVM has been ported.Virtual Open Systems is active in developing the KVM port for the latest ARM multicore processors,such as the Cortex-A15,big.LITTLE,ARMv7and ARMv8 architectures.
Required Components
The following components will either be described or provided,for successfully completing this guide:
Installation and tup of the simulation platform ARM Fast Models simulator is needed to generate a Cortex-A15Versatile Express model.
An Android-ready Linux kernel We provide a pre-compiled kernel which will boot Android on the simulation platform.
The Android Jelly Bean OS urland files Pre-compiled Android Open Source Project (AOSP)binaries(v4.1.1)to boot the host OS.
QEMU and an Android guest Utilize QEMU in conjunction with KVM,to boot Android as a guest under our Android host.
Cortex-A15
The new Cortex-A15MPCore processor,is the first ARM-A ries processor to introduce hardware virtualization extensions,together with incread performance(up to40%faster than A9)and the standard ARM low power features.Key features include: Full Virtualization using Hardware Extensions
Large Physical Address Extensions(LPAE)
VFPv4Floating point
NEON Advanced SIMD extensions
1-4x SMP within a single processor cluster and up to2clusters per chip
五年级上册第一课Cortex-A15block diagram
Versatile Express
The Versatile Express family of development platforms provides the right environment for prototyping the next generation of system-on-chip designs.Thanks to its flexible,modular architecture,and high-speed interfaces,hardware and software applications can be developed and debugged quickly and efficiently.
Versatile Express Fast Models Block Diagram
Platform Overview
凿穿The platform consist of three main blocks:
Motherboard:Consists of veral peripherals and the optional addition of plug-in daughter boards.
CoreTile:CPU block supporting Cortex-A15,Cortex-A9and Cortex-A5processors.
LogicTiles:Optional daughter board blocks for the purpo of enhancing the usability of the platform,providing various customizable features.
贫困补助申请书范文>关一帆
Versatile Express diagram
Peripheral Components
Some of the major peripheral components of the Versatile Express platform are: PL011UART(rial communication)
Telnet Terminal
PL031Real Time Clock
PS2Mou&Keyboard
PL111Color LCD(Software Rendering,no GPU)
中考誓言MultiMedia Card Interface(MMCI)
SP804Timer
SP805Watchdog timer
PL390Generic Interrupt Controller(GIC)
SMSC91C111Ethernet Controller
PL041_AACI audio interface(partially implemented)
Android Jelly Bean&ARM Fast Models
As described in the official documentation,Android4.1(Jelly Bean)is the latest version of the Android
platform for various devices,including but not limited to mobile phones,tablets and net-books.It continues to advance and optimize things people love most about Android —easy multitasking,rich notifications,customizable home screens,sizable widgets,and deep interactivity—and adds powerful new ways of communicating and sharing.卢照邻简介
Android consists of a multi level architecture bad on top of a customized Linux kernel. Middleware and libraries are written in C,while application software is utilizing a Java compatible framework.It also includes the Dalvik virtual machine,which enables further optimizations by just-in-time compilation of Java bytecode.
Main Android features:
Application framework(Java compatible)
Dalvik Virtual Machine(JIT compilation)
Rich development environment(device emulator,debugging,profiling etc.)
Linux kernel(hardware drivers,networking,file system access etc.)
Android system architecture
Fast Models
The model of the hardware platform that we u in the simulator is that of the Versatile Express platform,together with a Cortex-A15core tile.As the name suggests,ARM provides this product family for the development of flexible and modular prototyping systems.
To install and tup Fast Models(version8),it is advid to follow the installation procedure in our previous KVM-on-ARM guide.Additionally,it is recommended to choo a32bit build configuration even if using Fast Models on a64bit system,due to slightly better performance. For example,under Select Active Project Configuration,choo Linux-Relea-GCC-4.1 instead of Linux64-Relea-GCC-4.1.
System canvas
Tip
Build a static version of the model
Optionally,the ur can choo to build a static version of the model by
lecting the Integrated simulator(ISIM system)check-box option in
the"Targets"tab,under Settings.This will create
an isim_system executable that can be ud directly,instead of loading the
cadi_system library under model shell.
Fast Models offers a range of processors and platforms to simulate.On this guide we will mainly focus on the Versatile Express platform,with Cortex-A15.
The following models can be ud for this guide:
RTSM_VE_Cortex-A15x1
RTSM_VE_Cortex-A15x2
RTSM_VE_Cortex-A15x4
Linux kernel&bootwrapper
If you want to skip compiling the kernel and bootwrapper,download pre-compiled binaries from Virtual Open Systems:
$wget
/downloads/guides/kvm_androi d_on_fastmodels/zImage$wget
/downloads/guides/kvm_androi d_on_fastmodels/linux-system-mi.axf