Android Texas Instruments
Transcript of Android Texas Instruments
Android Overview
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)
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
TI’s Android Positioning
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
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
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™
Introducing TI Android DevKit
Explain Android Stack and TI’s responsibility What TI adds in Android Development and release model
- 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 ?
Linux Kernel flow in SDK vs Android Development flow
TI_psp_kernel.git
android.git.kernel.org
rowboat.gitorious.org
2.6.32
PSP 03.00.01.06
Éclair 2.1
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
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
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…
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
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
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
Out of the Box and Evaluating TI Android Gingerbread 2.3 DevKit V1.0
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)
Quick Tour … Browser, Apps, Performance
Quick Tour … Gallery / Media Playback
BeagleXM scans Barcode & QR code
Enjoy MPEG4/H.264 720P VideoHardware (DSP) Accelerated decoding on DM3730
Support MPEG4 ASP and H.264 MP/HP 720P decoding on DM3730
Go Wireless….
WL1271 on AM37x
Obtain IP address
Get connected
Browse
COMING UP – WIFI direct !
Bluetooth™
Pairing
Connected
COMING UP – BLE !
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
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
Thanks to arowboat.org …!
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
Booting MethodsRunning Configuring Applications
Refer to UserGuide at http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3-DevKit-1.0_UserGuide
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.
Linux SDK 4.0 StackThe block below diagram explains TI’s Linux offering on Sitara™ family of Processors
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
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
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