Android Texas Instruments

34
TI and android beyond mobile Olivier MELLIN [email protected] Version 3.0 Nov 15, 2011

Transcript of Android Texas Instruments

Page 1: Android Texas Instruments

TI and android beyond mobile

Olivier MELLIN – [email protected]

Version 3.0

Nov 15, 2011

Page 2: Android Texas Instruments

Android Overview

Page 3: Android Texas Instruments

What is Android?

• First open, complete, and free platform created

specifically for mobile devices

• Software stack includes

– operating system

– middleware

– key applications.

• New applications can be built easily and access

device‘s capabilities (contacts, wifi etc)

Page 4: Android Texas Instruments

Benefits of Android• Attractive Licensing

– all core packages are open sourced (Apache 2.0 license)– usage of the source code for commercial

• Open Source Software– leverages existing open-source projects– maintains and manages the sources – Many hardware-component vendors have decided to provide source code for specific drivers

• Large eco-system– one of the largest developer community

• not only application layer content (more than 100,000 applications are available)• but also Android middleware components

• Committed Roadmap– Android has a relatively frequent major releases and a well maintained roadmap.

• Unlimited Documentation– The Android community offers a wide variety of instruction content, helps reducing learning

curve

Page 5: Android Texas Instruments

TI’s Android Positioning

Page 6: Android Texas Instruments

Largest portfolio of Embedded Processors

32-bit real-time

MCUs

32-bit ARMCortex™-M3

MCUs

16-bit ultra-low power

MCUs

High-perffixed/

floating-point DSPs

ARM9/ARM Cortex-A8

MPUs(supports

HLOS)

Low-power fixed-point

DSPs

Multi-coreDSPs

Stellaris® C5000™

C64xx

C66xxMSP430™

C2000™

Delfino™

Piccolo™

Sitara™

Application-specific

processors(supports

HLOS)

OMAP™

mobile applicationprocessors

C6000™

DaVinci™Video

Processors

Digital Signal Processors (DSPs)Microcontrollers (MCUs) ARM®-based Processors

TI Embedded Processors

Android SDK

MPUs – Microprocessors; HLOS - High-Level Operating System

TI MCU

TI DSP

No ARM

ARM

Cortex M3 ARM 9 /

Cortex A8

Accelerator

NO DSP

ARM 9 /

Cortex A8

Accelerator

DSP

Page 7: Android Texas Instruments

ARM device positioning

Stellaris

Davinci

OMAP Smart Phones, MIDs, etc

Video Centric Devices

ARM Only ApplicationsIndustrial, Instrumentation, medical

Low Power MCU Applications

OMAP™

Davinci™ - DM

Sitara™ - AM

Sitara

Page 8: Android Texas Instruments

8

TI Android market view

Very traditional

Semi - traditional

Unconventional

The Android architecture is

flexible enough that it is getting

used in unconventional products

like Rugged PDA, Medical UI,

Industrial devices etc

Android architecture is

intended to solve the

software issues for

mobile devices

Android architecture is readily

applied into Semi-traditional

devices like MID, Video Conf

apps, etc

Davinci™

Sitara ™

Integra™

OMAP™

Page 9: Android Texas Instruments

Introducing TI Android DevKit

Explain Android Stack and TI’s responsibility What TI adds in Android Development and release model

Page 10: Android Texas Instruments

- Android provides Std. phone apps- Android Market provides more apps

Our “TI” main FOCUS- Implement HAL- Port Linux Device Drivers- Integrate SGX drivers, Flash libraries, etc- Provide Boot loader, docs, tests

- TI will enable & support framework’s based on customer needs

System wide tasks for TI include

- Validation / System testing

- Benchmarking

- Get Android CTS

- Design solution to customer problems (NDK, apps, etc)

- Collaterals

- OOB

- Package and release TI DevKit

Where & how TI operate in Android Stack ?

Page 11: Android Texas Instruments

Linux Kernel flow in SDK vs Android Development flow

[email protected]

TI_psp_kernel.git

android.git.kernel.org

rowboat.gitorious.org

2.6.32

PSP 03.00.01.06

Éclair 2.1

Google

Android

changes

TI Android

Gingerbread

2.3 DevKit 1.0

Stable

Snapshot

PSP drivers

Add Android

specific TI changes

not in PSP Release

Merge

PSP drivers

Rowboat changes

will not go to Google / Android

Android Kernel Path

Linux SDK Kernel Path

TI Android Dev team

TI PSP Kernel team

FroYo 2.2

Gingerbread

2.3

Page 12: Android Texas Instruments

android.git.kernel.organdroid.git.kernel.org

FroYo 2.2

Gingerbread

2.3

Gingerbread

2.3

android.git.kernel.orggitorious/rowboat

OMAP35x, AM35x, AM37x Driver

SGX driver binaries

Based on TI requirement spec

release tag x.s

Product testingPrepare collateralsLegal analysisAnnouncements

TI Android GB DevKit V1March 2011

Product testingPrepare collateralsLegal analysisAnnouncements

Bug fixes, value adds

NOTE: Android development will be based on public Android releases.

clone

Supported over e2e.ti.comTI takes a

snapshot

release tag x.t

OMAP35x, AM35x, AM37x Driver

Bug fixes, value adds

TI HAL Development TI Android GB DevKit V2June 2011

Community and TI contribute to arowboat

Development and Release Model

Page 13: Android Texas Instruments

What do I find on: www.arowboat.org ?

• Rowboat (www.arowboat.org) – a community portal for Android on TI ARM® Cortex™-A8 platforms

– A completely free, open-source project for all customers, developers, and third parties

• Supported by TI Development team

– Android base port and graphics support available for TI EVMs and Community boards (Beagleboard now) on rowboat.

– Includes: Code (binary and source), WiKi, How-to’s, links, IRC, FAQs, and more

• TI Android Development Kit – Derived from rowboat to aid customers development

and out of the box experience.• Stable periodic snapshots (approx. every 6 months)

available on www.ti.com

• Tested by TI quality assurance team

• Include product specific documentation

• Commercial support for Android developers from partners

Links

• Android SW Roadmap

• Android Tool Chain

•TI Android e2e Forum

• Embedded processor wiki

More…

Page 14: Android Texas Instruments

Sitara™ Android™ Dev Kit RoadmapRelease Version 2011 1Q 2011 2Q 2011 3Q 2011 4Q

Device &Platform

Supported 1

Device Dev Platform Device Dev Platform Device Dev Platform Device Dev Platform

AM37x AM/DM37 EVMBeagle XM

AM37x AM/DM37 EVMBeagle XM

AM37x AM/DM37 EVMBeagle XM

AM37x AM/DM37 EVMBeagle XM

OMAP3 OMAP35xEVMBeagle C4

OMAP3 OMAP35xEVMBeagle C4

OMAP3 OMAP35xEVMBeagle C4

OMAP3 OMAP35xEVMBeagle C4

AM35x AM3517EVM AM35x AM3517EVM AM35x AM3517EVM AM35x AM3517EVM

AM389x AM389x EVM AM389x AM389x EVM AM389x AM389x EVM AM389x AM389x EVM

AM387x AM387x AM387x EVM AM387x AM387x EVM

AM33x AM33x EVM

OS Version

Android Froyo(2.2) Linux Kernel 2.6.32

Android Gingerbread (2.3) Linux Kernel 2.6.37

Android Gingerbread(2.3) Linux Kernel 2.6.37

Android Ice cream (2.4) Linux Kernel 2.6.39

Connectivity: EthernetWLAN, BT (AM37x EVM)

Connectivity: EthernetWLAN, BT (AM37x EVM)

Connectivity: EthernetWLAN, BT (AM37x EVM)

Connectivity: EthernetWLAN, BT (AM37x EVM)

Peripherals: LCD, DVI, S-video, USB, NAND, MMC/SD, UART

Peripherals: LCD, DVI, S-video, USB, NAND, MMC/SD, UART

Peripherals: LCD, DVI, S-video, USB, NAND, MMC/SD, UARTPCIe, SATA (AM389x/387x)

Peripherals: LCD, DVI, S-video, USB, NAND, MMC/SD, UARTSensor control (AM33x)PCIe, SATA (AM389x/387x)

New Features

Framework: OpenGL 3D SGX acceleration, Flash 10, Power Management

Framework: OpenGL 3D SGX acceleration, Flash 10, Power Management

Framework: OpenGL 3D SGX acceleration, Flash 10, Power Management

Framework: OpenGL 3D SGX acceleration, Flash 10, Power Management

Tools: Fast boot, ADB Tools: Fast boot, ADB Tools: Fast boot, ADB Tools: Fast boot, ADB

Applications:Camera (Beagle XM), RowboPERF, Browser, Media player, Audio out/in

Applications:Camera (Beagle XM), RowboPERF, Browser, Media player, Audio out/in

Applications:Camera (Beagle XM), RowboPERF, Browser, Media player, Audio out/in

Applications:Camera (Beagle XM), RowboPERF, Browser, Media player, Audio out/in

DevKitSchedule

Froyo Jan 31(available) AM35/37x: March 30 AM33x : Oct 30

AM387x and AM389x: April 30 AM37x/AM35x/AM38xx: Sept 30 AM37x/AM35x/AM38xx: Dec 30

Page 15: Android Texas Instruments

DaVinci™ Android™ Dev Kit Roadmap

1 Android Dev Kit is developed and supported on the specified EVM platform

Release Version 2011 1Q 2011 2Q 2011 3Q

Device & Platform

Supported

Device Dev Platform Device Dev Platform Device Dev PlatformDM37x DM3730 EVM DM37x DM3730 EVM DM37x DM3730 EVM

OMAP35x OMAP35xEVM DM816x TMDXEVM8168DDR3

OS Version Android Froyo (2.2) Linux Kernel 2.6.32

Android Gingerbread (2.3) Linux Kernel 2.6.32

Android Gingerbread (2.3) Linux Kernel 2.6.37

New Features WLAN/BT support, USB MSDDM37x – Froyo/OpenCore 2.02 multimedia

accelerated on DSP (decode only). Accelerated MM codebase integrated into DevKit

2.2 on TI.com

Stagefright Multimedia Support DVSDK 4.01

Stagefright Multimedia Support Video accelerated on HDVICP-2 (DM81xx-

decode only)

Audio Codec’s on the ARM®Media thumbnail generation enabled

Verified with CTS test suiteAndroid MM acceleration built from DVSDK 4.01

Audio Codec’s on ARM® Audio Codec’s on ARM®

Flash 10 multimedia support Flash 10 multimedia support

DM37x accelerated multimedia verified for:H.264MP @ D1 resolution

H.264HP @ 720p resolutionMPEG4ASP @ 720p resolution

H.263 – not supported

Accelerated multimedia at 720P resolution on DM3730 for:

H.264 - decodeMPEG4 - decode

Accelerated multimedia at 1080P resolution on DM816x for:

H.264 - decodeMPEG4 - decode

Accelerated multimedia at 720P resolution on DM3730 for: H.264 - decode

MPEG4 - decode

Schedule Available Now e/o May 2011 3Q 2011

Page 16: Android Texas Instruments

Debugging Android with CCSv5• CCSv5:

– Eclipse-based (supports all eclipse plugin)

– advanced embedded debug (Linux Aware Debug, Hardware Debugging, Simulation, Profiling, etc from TI)

• Eclipse ADT (Android Development Tools) plugin is supplied by Google

• CCSv5 + ADT - debug Java (Android SDK), C/C++ (Android NDK), Linux Kernel, DSP, etc

More info here

Page 17: Android Texas Instruments

Out of the Box and Evaluating TI Android Gingerbread 2.3 DevKit V1.0

Page 18: Android Texas Instruments

Hardware Requirements

• This release of TI Android GingerBread 2.3 DevKit 1.0 is evaluated on the below given list of platforms. – OMAP35x EVM Rev G

– Beagleboard Rev Cx

– AM3517 Evaluation Module Rev C

– AM37x Evaluation Module Rev C

– BeagleBoard XM

• Other Accessories Required

– DVI Monitor, USB HUB, USB Keyboard, USB Mouse, Ethernet, UART Cable, Audio Speakers, MMC/SD Card (2GB min)

Page 19: Android Texas Instruments

Quick Tour … Browser, Apps, Performance

Page 20: Android Texas Instruments

Quick Tour … Gallery / Media Playback

Page 21: Android Texas Instruments

BeagleXM scans Barcode & QR code

Page 22: Android Texas Instruments

Enjoy MPEG4/H.264 720P VideoHardware (DSP) Accelerated decoding on DM3730

Support MPEG4 ASP and H.264 MP/HP 720P decoding on DM3730

Page 23: Android Texas Instruments

Go Wireless….

WL1271 on AM37x

Obtain IP address

Get connected

Browse

COMING UP – WIFI direct !

Page 24: Android Texas Instruments

Bluetooth™

Pairing

Connected

COMING UP – BLE !

Page 25: Android Texas Instruments

The TI Android GingerBread 2.3 DevKit 1.0 Sources and Tools Android Debugging and Developing Android Building and Flashing

Refer to Developer Guide at http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3-DevKit-1.0_DeveloperGuide Android Porting

Refer to Porting Guides at http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3-DevKit-1.0_Porting_Guides

Page 26: Android Texas Instruments

Quick Links

http://e2e.ti.com/android

• For updates, roadmap and FAQ

http://processors.wiki.ti.com/index.php/Android

http://groups.google.com/group/rowboat

• For Support, post your questions to :

or

• Android Community for TI devices

http://arowboat.org

Visit http://e2e.ti.com/android

Page 27: Android Texas Instruments

Thanks to arowboat.org …!

Page 28: Android Texas Instruments

Evaluating DevKitRowboPerf

• RowboPerf is a collection of Demo and Benchmark applications

• It contains the following Benchmark applications– 0xbench

– Arm Benchmarks

– rowboatBench

– 3D Demos

– Storage IO

• For detailed information please refer to rowboperf user guide at http://processors.wiki.ti.com/index.php/RowboPERF_User_Guide

• The performance numbers for this release is documented at http://processors.wiki.ti.com/index.php/Android_Benchmarks_DevKit2.3

Page 30: Android Texas Instruments

How Android is being Developed?

• At any given moment, there is a current latest release of the Android platform. This typically takes the form of a branch in the android trees at Android Open Source Project AOSP.

• Device builders and Contributors work with the current latest release, fixing bugs, launching new devices, experimenting with new features, and so on.

• In parallel, Along with many partners (Open Handset Alliance) Google works internally on the next version of the Android platform and framework, working according to the product's needs and goals.

• When the "n+1"th version is internally ready, it will be published to the AOSP, and become the new latest release.

Page 31: Android Texas Instruments

Linux SDK 4.0 StackThe block below diagram explains TI’s Linux offering on Sitara™ family of Processors

Page 32: Android Texas Instruments

Difference between Android DevKit & Linux SDK

Android Kernel Changes+

Android Driver Patches

SOC

Target Board

Android Framework

BIONIC LIBRARY

Dalvik (Java) based applicationsand UI Layer

Page 33: Android Texas Instruments

Android Dev Kit Release plan – Sitara™ AM3x

11/15/201133

TI Android FroYo DevKit v2.2 GAJan 30 2011

TI Android GingerBread2.3 DevKit 2.1 GAJune 30 2011

OMAP35x, AM35x, AM37x

Kernel version 2.6.32• SGX integration for

Gingerbread• Power Management

additional Features DVFS, CPU Idle

• Video Capture on Beagle Platform

• Bluetooth Additional Features: AVRCP, Hands Free Profiles

• Mouse Cursor Implementation

OMAP35x, AM35x, AM37x• Kernel version 2.6.37• SGX Drivers• Video Capture• Boot Time Optimization• Hardware Overlay Support• WLAN• Bluetooth• NAND UBIFS• Fastboot• Power Management• Flash 10.2• Mouse cursor

TI Android GingerBread 2.3 DevKit 1.0 EAMarch 30 2011

OMAP35x, AM35x, AM37x• Kernel version 2.6.32• Flash 10 support• WLAN, Bluetooth• Power Management• Boot time optimization• Fast boot• Camera• Validation• OOB demos• Documentation• Stagefright based Multimedia• OOB Demos• Documentation

Page 34: Android Texas Instruments

Android Dev Kit Release plan for AM389x

11/15/201134

Android Dev Kit (on rowboat)FroYo (2.2)

Nov 30 2010

AM389x, AM387x

TI Android DevKit

Kernel version 2.6.37• Android 2.3 Gingerbread• SGX ddk 1.7 integration• Adobe Flash 10.2 support • HDMI (1080p UI)• Gigabit Ethernet• PCIe• SATA• USB• Composite Out• MMC/SD card• OOB Demos• Mouse Cursor Integration• Documentation

TI Android GingerBread 2.3 Dev Kit 2.0

April 30 2011

ON ROWBOAT GIT TREE

AM389x

Kernel version 2.6.32

Key drivers: Ethernet, USB Host, HDMI, HDCOMP, SD/MMC etc

SGX OpenGL ES Integration to Android

ADB Application downloader and debugger

Benchmarking suite

Out of the Box (OOB) demos

Documentation: Guidelines, User guide etc