Comprehensive Development and Debug Coverage for and Android on the MIPS Architecture

Presented by MIPS Technologies Powering a Connected World October 2010

© MIPS Technologies 2010 All rights reserved. Today’s presenters: • Rick Leatherman VP Development Tools MIPS Technologies • Hieu Tran President & Founder of Viosoft Corporation • Art Lee VP of Business Development, Viosoft Corp.

MIPS Technologies Powering a Connected World

© MIPS Technologies 2010 All rights reserved. At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Agenda          Q Summary Android Event AnalyzerSystem Brief DebugDemonstrations Viosoft Arriba DebuggerOverview The Limitations of Traditional Debug Tools The Challenges ofDebugging Android Linux Systems Android and How It to ComparesTraditional Applications Android and its Migration to Non & A - mobile mobile 3 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Overview Overview of Android™ Software Android™ Software Platform 4 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Taking Android beyond Mobile Handsets Mobile beyondAndroid Taking 5 At the core of the user experience. ® HANDSET (99% COMPLETE) SW is Assuming HWand Linux Otherwise…only80% or © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Android on Non Androidon EXACTLY less the same - Mobile Platforms Mobile Embedded Device (???) Embedded Device MID (70%) STB STB (50%) 6 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Devices to experienceconnectedcontent NOW Android Enables Embeddedto Devices ConnectedContent Accessthe “Cloud” 7 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Repurposing Android Requires Tools that that Tools Requires Android Repurposing MIPS’ licensees, partners, and the community will will MIPS’communitytheand partners, licensees, can Debug the Full Stack the Debugcan contribute much of the longerthe ofmuch contribute - term effort term 8 At the core of the user experience. ® Android versus Traditional Linux SystemsLinux Traditional Androidversus © MIPS Technologies © MIPS Technologies 2010 rights reserved. All One process per application per process One Space in Applications execute mostly Single/few C) mostly Single ( language Traditional processes Linux Linux Platforms some assembly, some Android is a Juggling is aJuggling Android Act! Development Software Android User User Multiple processes per application per Multiple processes and Space Kernel User betweenApplications partitioned straddling barriersprocess with Multiple processes, Java, JavaScript, ActionScript) Multi ple ple (assembly,languages C/C++, Android program logic logic program 9 At the core of the user experience. ®    © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Why is Android Developmentso Difficult? cross protection barrier protection cross applications Android (3) barrier process cross applications Android (2) barrier language cross applications Android (1) ...... To To and From Kernel User / Space CORBA/IDL JNI Client/Server Javascript Actionscript& C/C++ Java 2 3 1 10 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All     MIPS Strategic Alliance With Viosoft With Viosoft Alliance MIPS Strategic today’sWebinar We will the showcase Arriba debugger during VDC forAndroid Development Tools Recentlyawarded in a “Best Show” Award by powerful debugset of features The Arriba debugger offer averyunique and part of the MIPS tools portfolio Arriba embedded Linux/Android debugger as MIPS has partnered with Viosoft to offerthe Corporation 11 At the core of the user experience. ® Problem Areas © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Space Kernel Space User Traditional Linux Debug Tools Like andKGDB GDBSERVER are Severely Limited GDBSERVERLimited are Severely Module Module 1 T GDBSERVER GDBSERVER PROCESS A TargetPlatform 2 2 T T 1 StaticVersion) Kernel (KGDB 3 T 3 T Module B Shared Shared Libs Libs Module C GDBSERVER GDBSERVER 4 4 T T PROCESS 5 T 5 T 2 Module D 6 T 6 T RS ETH:Port ETH:Port 1 - 232 ETH:Port ETH:Port 2 Host PC Host Host PC GDB GDB GDB GDB 3 3 1 1 GDB GDB 2 12 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All MIDDLEWARE Android Application Development with Development AndroidApplication DRIVERS KERNEL C/C++ (DLL) JAVA JNI the Arriba DebuggerArriba the MIDDLEWARE DRIVERS SOCKET KERNEL C/C++ (DLL) JAVA 13 At the core of the user experience. ® Arriba Enhanced Android Debug Platform Debug AndroidArriba Enhanced © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Target Platform Native Interface Native Code Interface VMON Ethernet Ethernet E)TAG /USB /USB / Eclipse based ArribaSDK Platform Android Host SDK Arriba 14 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All    Dalvik VM Dalvik Application Dalvik Driver and Kernel Debug Examples 15 At the core of the user experience. ® NativeC/C++ Applications © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Android Platform Run AndroidPlatform Libraries Flash Flash Driver Driver WiFi WiFi GlibC

Keyboard

Driver Driver Audio Corba/Binder Interface Corba/Binder JNI Android Libraries LinuxKernel2.6.33 ApplicationFramework Android Applications - mode Coverage Coverage mode Core Libraries DalvikVM Ethernet Driver Driver Serial Binder Binder (IPC) Display Driver Driver 16 At the core of the user experience. ® Native C/C++ Applications © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Libraries Flash Flash Driver Driver WiFi WiFi GlibC

Keyboard

Driver Driver Audio Corba/Binder Interface Corba/Binder Linux Kernel Debug JNI Android Libraries LinuxKernel2.6.33 ApplicationFramework Android Applications Core Libraries DalvikVM Ethernet Driver Driver Serial Binder Binder (IPC) Display Driver Driver 17 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All  Insert Kernel Debug Video Debug Kernel Insert 18

At the core of the user experience. ® NativeC/C++ Applications © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Libraries Flash Flash Driver Driver WiFi WiFi GlibC Android Application Debug

Keyboard

Driver Driver Audio Corba/Binder Interface Corba/Binder JNI Android Libraries LinuxKernel 2.6.33 ApplicationFramework Android Applications Core Libraries DalvikVM Ethernet Driver Driver Serial Binder Binder (IPC) Display Driver Driver 20 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All  Insert Java Debug Video Debug Java Insert 21

At the core of the user experience. ® NativeC/C++ Applications © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Libraries Flash Flash Driver Driver WiFi WiFi GlibC

Keyboard

Driver Driver Audio Corba/Binder Interface Corba/Binder Android VMDebug JNI Android Libraries LinuxKernel 2.6.33 ApplicationFramework Android Applications Core Libraries Dalvik VM Ethernet Driver Driver Serial Binder Binder (IPC) Display Driver Driver 23 At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All  Insert JVM Debug Video Debug JVM Insert 24

Arriba Linux/Android Event Analyzer

Innovative Tools for Analyzing Linux and Android Systems

© MIPS Technologies 2010 All rights reserved. At the core of the user experience. ® © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Arriba Linux/Android Analysis Tool 27 At the core of the user experience. ®  © MIPS Technologies © MIPS Technologies 2010 rights reserved. All Application Application profiling level . . . . away Display events over time with details just a mouse click memory) Record activityfor up to 20+ seconds (or you run out of target Captures all Linux/Android events occurring on the Linux & Android Works with MIPS all Linux/Android Event AnalyzerEvent Linux/Android - Based™ Based™ devices running Linux or 28 At the core of the user experience. ® MIPS is leading the Android Revolution in the digital home © MIPS Technologies © MIPS Technologies 2010 rights reserved. All service & content providers; OEMs Enabling newbusiness models for a live Android debug demonstration Contact customers in established markets Bringing innovative technologies to available: Visit Android on MIPS source code publicly [email protected] www.mips.com/android The Power of Android to to schedule 29 At the core of the user experience. ® other other countries. 24K, 24KE, 34K, 74K, 1004K, Navigator, MIPS and FS2 are trademarks registered or trademarks of MIPSTechnologies, Inc. the in Patent and Office. Trademark MIPS,MIPS64,MIPS32,MIPS MIPS, MIPS32,MIPSMIPS64, © MIPS Technologies © MIPS Technologies 2010 rights reserved. All - Based, MIPSBased, www.mips.com/android - Verified, MIPS Technologies Technologies MIPS Verified, are logo trademarks of MIPSTechnologies, Inc. and registered Thank You! - Based, MIPS Logo, MIPS Technologies Logo, MIPSMIPS Based, Technologies Logo, CorExtend, Pro M4K, Series, 4K Un ited ited States and in the the U.S. in E, 4KEc, 4KEc, E, 30