Android Development: a System Perspective. Javier Orensanz



Similar documents
Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

STLinux Software development environment

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

Introduction to Android

Embedded Development Tools

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe Copyright 2010, 2net Limited.

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

How To Develop Android On Your Computer Or Tablet Or Phone

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Our software strategy

Easing embedded Linux software development for SBCs

Complete Integrated Development Platform Copyright Atmel Corporation

The power of root on Android emulators

Introduction to Android

Android Developer Fundamental 1

Workshop on Android and Applications Development

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Introduction to Android

Fahim Uddin 1. Java SDK

Homework 9 Android App for Weather Forecast

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

Lecture 1 Introduction to Android

Board also Supports MicroBridge

Smartphone market share

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Development Studio 5 (DS-5)

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Basic Android Setup Windows Version

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

An Introduction to Android

Mobile Phones Operating Systems

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Altera SoC Embedded Design Suite User Guide

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ARM R&D December 2012

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Jonathan C. Sevy. Software and Systems Engineering Experience

Android 5.0: Lollipop OS

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Tutorial on Basic Android Setup

imaginea white paper

An Introduction to Android. Huang Xuguang Database Lab. Inha University

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Real-time Debugging using GDB Tracepoints and other Eclipse features

The red hat enterprise linux developer program

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Questions from The New SensorTag - IoT Made Easy Webinar

An Easier Way for Cross-Platform Data Acquisition Application Development

Android on Intel Course Introduction. Paul Guermonprez Intel Software

Android Setup Phase 2

Android Mobile App Building Tutorial

CS378 -Mobile Computing. Android Overview and Android Development Environment

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

Example of Standard API

Getting Started with Android Development

Accelerate your Mobile Apps and Games for Android on ARM. Matthew Du Puy Software Engineer, ARM

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

rich mobile applications made easy

Android Development: Part One

Mobile Development with Qt

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Introduction to ARM. Bobby Clarke, ARM Eclipse Members Meeting Sept 06

1) SETUP ANDROID STUDIO

High Performance or Cycle Accuracy?

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Overview of CS 282 & Android

Java Embedded Applications

Introduction to Android Programming (CS5248 Fall 2015)

Development. SriSeshaa Technologies. Table of Contents

Practical Android Projects Lucas Jordan Pieter Greyling

Basic Trends of Modern Software Development

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Issues in Android on Mobile Platform and Their Resolution

Getting Started with Kinetis SDK (KSDK)

Android Development Tools for Eclipse

Take full advantage of IBM s IDEs for end- to- end mobile development

With a single download, the ADT Bundle includes everything you need to begin developing apps:

Hello World. by Elliot Khazon

Migrating Application Code from ARM Cortex-M4 to Cortex-M7 Processors

Welcome to the Force.com Developer Day

Android v ios Mobile Operating Systems

Attention. restricted to Avnet s X-Fest program and Avnet employees. Any use

ITG Software Engineering

01. Introduction of Android

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Written by the Red Hat Eclipse Engineering Team Revision 3. October 2003

Mobile Operating Systems. Week I

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Cross-Platform Mobile Apps Solution

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy

Transcription:

Android Development: a System Perspective Javier Orensanz 1

ARM - Linux and Communities Linux kernel GNU Tools 2

Linaro Partner Initiative Mission: Make open source development easier by delivering a common software foundation, across multiple distributions and vertical segments, deployed by the industry's leading OEM, MNO and Semiconductor companies Collaborate on common and undifferentiating parts of OSS components Include support for latest ARM CPU and features Validate upstream contributions Improved Tools support Reduced fragmentation 3

ARM Open Source Tools Engagement with the developer community for GNU tools GNU core tools (GCC, GAS, GLD, binutils, eglibc) Thumb -2 support for improved performance and code size Cortex -A8 and Cortex-A9 performance tuning Sponsoring CodeSourcery releases Pre-built, pre-packaged GCC binaries Adding Linux profiling Oprofile LTTng, ftrace, perf-events Promote Linux ABI for the ARM architecture Ensures GCC and RVCT interworking Enable Debuggers and performance analyzers to work with any compilation tools 4

Smartphones Towards a Smarter World Annual sales up 24% in 2009 to 172.4 million units 14% of total sales in 2009, growing to 38% by 2013 Half of all mobile phones in North America by 2012 Sources: Gartner 2009 and 2010 5

Android on Smartphones (and Beyond) 20% of US smartphone subscribers Aug 10 (comscore) 34% of total smartphone sales in the US in Q2 10 (Canalys) Android, Symbian, Maemo and other Linux variants will account for over 62% of mobile devices by 2012 (Gartner 09) TV MID Tablet 6

Android is Made for ARM Android was developed and shipped on ARM Android is optimized for ARM 1,200 files of assembler code. 20,000 or 28% of Bionic libraries are ARM assembler 6,300 C & 4,900 C++ files many with ARM optimizations Google, ARM and other OHA Partners deliver more ARM optimizations with each Android release 7

ARM Growing the Android Ecosystem Technology Investment Processor Architecture for 21 st Century Web-centric computing Tools to get the best from processor architecture Optimization of open technologies and software Readily available tools and hardware reference designs ARM Solution Center for Android An Ecosystem nucleus that partners can orbit around Access the latest technology Collaborate Compete on a level playing field Deliver solutions Attain success! 8

ARM Solution Center for Android 70+ 9

Android Platform Android is a complex layered system Different programming languages and tools for different layers Java Native Managed code Rich UI Framework API Tight integration: System events UI Lower performance Native code Improved performance Code re-use Unsupported libraries (Very) Limited access to APIs 10

Android Development Eclipse provides a complete framework for Android software Android SDK plug-ins for Java applications DS-5 for C/C++ performance-critical native applications and libraries Java Native SDK+ADT DS-5 Nat Apps Debug JTAG Debug 11

Eclipse Framework Most Android development is done in Eclipse Code editing, debug, performance analysis with Android SDK/NDK Eclipse Integrated Development Environment (IDE) Eclipse is an open source environment for software development Works across host and target platforms and programming languages Widely used across 160+ companies, with 1100+ plug-ins on offer Eclipse increases the efficiency of development teams by integrating a diversity of tools into a single framework RTOS debuggers and profilers Software tools for ARM, DSPs and other processor architectures 12

Speeding Up on the Native Side Dalvik interpreter Native code 10-20x faster Dalvik JIT Compiler Native code ~2x faster Performance-critical code is written as C/C++ Investing resources in this area delivers highest benefit ARM DS-5 focuses on Linux and Android native development Keep an eye on performance! Native FIR in C: 884.18 ms Native FIR in C with NEON intrinsics: 310.31 ms (almost 3x faster) DS-5 Eclipse Compiler IDE Debugger Perf. Analyzer Device Configuration Database Simulation Hardware Debug 13

Efficient C/C++ Software Compilation The ARM Compiler is the reference compiler for the ARM architecture Earliest support for new processors and instruction sets Professionally supported and maintained Highly compatible with GNU Compiler Builds the ARM Debian distribution and most open source Linux packages Compiler Improvement over 5 yrs Higher performance NEON vectorization, Thumb -2 Smaller code size Better use of L1 and L2 caches 130% 120% 110% RVDS 100% 2.2 90% 80% Performance Codesize RVDS 3.1 RVDS 4.0 RVDS 4.1 14

Bring-up and Kernel Development Stop-mode debug is critical for board/platform bring-up Stop the processor after reset Configure the target with a debugger script Use debugger views to verify the system Single-step through the code ETM/PTM trace is available! Non-intrusive debug and profiling 15

Android Library Development Run-mode debug is best System and other applications always running Low cost Ethernet connection for debug DS-5 offers all the advantages of a professional debugger Automatically download and debug software Multi-thread application debug on Windows and Linux hosts Powerful debug views 16

Android Application Development Normally done with Android SDK (also run-mode debug) Android SDK is also integrated in Eclipse Same look and feel as DS-5 Simultaneous debug of applications and libraries using SDK + DS-5 Just click on a button to switch between SDK and DS-5 When a breakpoint is hit the switch is automatic Android SDK works! Very widely used (most Android developers write in Java) robust and powerful There is no benefit in using JTAG for Java development 17

Android Library Performance Analysis ARM Streamline covers performance analysis of the middleware layer Timeline analysis with annotation Profiling and call path reports Stack analysis Requires only a network (Eth, USB) connection to the target Streamline enables Analyse how your software runs on ARM targets Spot bottlenecks and code inefficiencies 18

Application Performance Analysis TraceView supports performance analysis at Java level Requires the code to be instrumented to signal start/stop Relies on instrumentation slows down application Can be used simultaneously with Streamline 19

Summary Android is very important to ARM success Accordingly, ARM is investing a lot in Android Android SDK is a widely used environment for Android Java application development ARM DS-5 provides a professional development environment for critical native code High-performance compiler Stop-mode and run-mode debugger Streamline performance analyzer See a DS-5 demo on session 42, track 3 at 3:20pm Also, on www.arm.com/ds5 20

Thank You Please visit www.arm.com for ARM related technical details For any queries contact < Salesinfo-IN@arm.com > 21