android ti omap35x transcript
DESCRIPTION
omapTRANSCRIPT
• Katie Roberts-Hoffman, TI▪ Software Engineer for ARM
Microprocessors Business Unit
• Brad Dixon, Mentor Graphics▪ Sr. Marketing Manager for Android,
Nucleus, and Linux
Introductions
• Introduction to TI and Mentor’s Android efforts
• Android application framework and architecture
• Overview of TI OMAP3 and Rowboat project• Android beyond mobile• Demo of Rowboat and Mentor tools for
Android
Agenda
Android• Base
Technology
Rowboat• Android to
OMAP 3• Joint TI and
Mentor project
Mentor• Support• Tools• Unique IP• Services
Three Efforts – How Do They Relate?
Linux• Recent Linux kernel
▪ 115 patches required
• Provides…▪ process management▪ memory management▪ security▪ networking▪ drivers:
• display, keypad, camera, WiFi, flash, audio, IPC, power
Android Architecture
4
Linux is at the bottom of the Android stack, providing basic
system functionality like process and
memory management and
security.
Linux handles the networking and a
vast array of device drivers to interface
with peripheral hardware.
5
Android Architecture
Libraries• Some examples…
▪ libc (Bionic is Google’s libc rather than glibc or uClibc)
▪ Media libraries for audio and video
▪ Graphics▪ SQLite (embedded
database engine for application data and sharing)
6
Android Architecture
Android runtime• Dalvik VM
▪ Not a Java VM, but uses the Java language
▪ One instance per application
▪ Uses its own byte code optimization
▪ Memory optimized▪ Uses Linux to manage
memory and threading
7
Android Architecture
Application framework• Higher-level services
and systems:▪ Views▪ Content providers▪ Resource manager▪ Notification manager▪ Activity manager
• All implemented as Java classes
• Any application can publish its capabilities
A key Android capability is sharing
of functionality
Every application can export
functionality for use by other
applications in the system
This promotes straightforward
software re-use and a consistent user
experience
8
Android Architecture
Applications• Provided by Google:
• Email• SMS• Calendar• Web browser• Contacts
• All applications have the same status
• Java programs▪ Use standard Java tools ▪ Converted to Dalvik byte
code
• An open source, integrated software platform • An application framework on top of Linux• Not licensed through GPL
▪ Developers can extend Android freely with minimal IP concerns in the application layer
• Uses Java tools• Every application can export functionality for use
by other applications in the system• Designed for straightforward software re-use• Enables a consistent user experience
Android Summary
9
• Introduction to TI and Mentor’s Android efforts
• Android application framework and architecture
• Overview of TI OMAP3 and Rowboat project• Android beyond mobile• Demo of Rowboat and Mentor tools for
Android
Agenda
• OMAP35x inspires new applications with unprecedented performance at handheld power levels
OMAP35x Overview
11
ARM®
Cortex™-A8
CPU
L3/L4 Interconnect
C64x+™ DSP and video
accelerators (3525/3530 only)
Peripherals
Program/Data Storage
System
I2Cx3
Serial Interfaces
Display Subsystem
Connectivity
MMC/SD/
SDIOx3
USBHost
Controller x3
USB 2.0 HSOTG
Controller
GPMC
SDRCUARTx2
UARTw/IRDA
McBSPx5
McSPIx4
TimersGP x12WDT x2
Image Pipe
Parallel I/F
Camera I/FPOWERVR SGX™ Graphics(3515/3530 only)
HDQ /1-wire
OMAP35x Processor
10 bit DACVideoEnc 10 bit DAC
LCDCont-roller▪ Performance
▪ High-performance superscalar ARM Cortex-A8 featuring NEON co-processor
▪ SGX vector graphics accelerator
▪ Multimedia acceleration via TMS320C64x+ DSP and video hardware accelerators
Scalable platform of devicesApplications
Software Compatibility
2D/3D Graphics
Compatibility
DSP Processing
& Multimedia Software
Compatibility
SharedPeripheral
Set
OMAP3503OMAP™ ARM
Cortex™-A8600 MHz
Peripherals
OMAP3503OMAP™ ARM
Cortex™-A8600 MHz
Peripherals
OMAP3515OMAP™ Graphics
Open GL ES 2.0
POWERVR SGX™
ARMCortex™-A8
600 MHzPeripherals
OMAP3503OMAP™ ARM
Cortex™-A8600 MHz
Peripherals
OMAP3515OMAP™ Graphics
Open GL ES 2.0
POWERVR SGX™
ARMCortex™-A8
600 MHzPeripherals
OMAP3525OMAP™ C64x+ DSP
& video accelerator
ARMCortex™-A8
600 MHzPeripherals
OMAP3515OMAP™ Graphics
Open GL ES 2.0
POWERVR SGX™
ARMCortex™-A8
600 MHzPeripherals
OMAP3525OMAP™ C64x+ DSP
& video accelerator
ARMCortex™-A8
600 MHzPeripherals
OMAP3530OMAP™ ARM
Cortex™-A8720 MHz
C64x+ DSP & video
accelerator
GraphicsOpen GL ES
2.0POWERVR SGX™
Peripherals
OMAP3503OMAP™ ARM
Cortex™-A8600 MHz
Peripherals
Production Now
• Development boards▪ OMAP35x EVM – www.ti.com/omap3530▪ Beagle Board – www.beagleboard.org
• Linux and WinCE SDKs available today with DSP and SGX enablement
• DSP codecs: JPEG (e/d), MPEG4 (e/d), H.264 (e/d), MPEG2 (d), G.711 (e/d), AAC (e/d), MP3 (d)
Begin development today
• Complete Android solution designed to take full advantage of OMAP35x processors▪ Open Source – no royalties, complete source available▪ Includes DSP/IVA Multimedia Acceleration▪ 3D graphics acceleration in Éclair ▪ Connectivity and Imaging options
• Great for applications requiring:▪ Rich GUIs▪ Touch screens▪ Web browsers▪ App stores▪ Multimedia and graphics▪ Power management
Android for OMAP35x
• Rowboat – a codename for Android on OMAP35x
• A completely free, open-source project for all customers, developers, and other parties
• Website provides everything needed to start Android evaluation on TI OMAP35x
• Includes: Code (binary and source), WiKi, How-to’s, links, IRC, FAQs, and more
Rowboat Android – arowboat.org
*
Rowboat Experience
▪ Download pre-built kernel and file system for OMAP3EVM or Beagle
▪ Follow simple instructions to rebuild from complete source – either for ARM-only or ARM+DSP
▪ Read wiki articles to learn how to install Android apps, run Android functional tests, and more
▪ Download Rowboat’s benchmarking application▪ Ask questions on #rowboat IRC on freenode.net or
[email protected] mailing list
Rowboat Advantages
Frequently synced with Google’s latest official releases Full source code
and documentation
OMAP3 EVM I & II Beagle Board
Supported on Popular Boards
Open and Current
Uses TI’s non-handset DVSDK software stack
Stability and performance optimizations Fully utilizes
OMAP35xx hardware features Includes
benchmarking test suite
Focus on Quality and
Performance
Designed specifically
for non-handsets
Rowboat Roadmap
In Development
Future
Time
DonutOMAP3503
Available Today!
DonutOMAP3525
Android 1.6-rc1 base Validated on OMAP3EVM
and Beagle Board Access the DSP codecs via gstreamer
ÉclairOMAP3530
Add SGX accelerated 3D graphics Improved 2D graphics using NEON Continue DSP multimedia support
OpenMax/DMAI wrappers integrate DMAI with Android’s OpenCore Multimedia Framework
Today 1Q10 2Q10
Rowboat Block Diagram
Linux Kernel (Linux OMAP)
OM
AP35
30
Cortex A8 Integrated Peripherals
LPDDR, NAND, One NAND, MMC/SD
UART, I2C, SP, McBSP, Timers, USB OTG/Host, Ethernet
Graphics Driver
PowerVR SGX3D Graphics
C64 + Video Accelerators
DSP Link Driver
Codec Engine
DSP Link
DMAI
OpenMax
OpenGLES 2.0
WebKit
libc
Surface Manager
SGL
Media Framework
SQLite
SSL
FreeType
Graphics APIMedia API
GUI APILocation API
Linu
x K
erne
l (L
inux
OM
AP)
Display Driver
Keypad
Libr
arie
sIn
terf
ace
Appl
icat
ions
Custom Home Contacts Browser Media Player Other
Webkit & Widget API
OMAP35x Resources
▪ OMAP Wiki - http://wiki.omap.com▪ TI Forums – http://e2e.ti.com▪ Rowboat Project – http://www.arowboat.org▪ Rowboat introduction -
http://tinyurl.com/RowboatIntro▪ Rowboat running on OMAP3EVM I/II and Beagle –
http://tinyurl.com/RowboatYouTube
• Introduction to TI and Mentor’s Android efforts
• Android application framework and architecture
• Overview of TI OMAP3 and Rowboat project• Android beyond mobile• Demo of Rowboat and Mentor tools for
Android
Agenda
23
Android is Designed for Mobile Phones
• Android is▪ Complete and ready to deploy▪ Extensible by developers and users▪ More portable than standard Linux applications▪ Better for screens & touch▪ Insulates applications from rapidly evolving open
source
Why Android on Other Devices?
Not optimized for OMAP 3 hardware• Who will be there to help tackle challenges?• What about existing C/C++ code?• What about my developer workflow?• How will my device stand out from the rest?
Android: Limitations and Concerns
26
SupportDevelopment
System for Android
Inflexion
Mentor Android Support
Online Support Portal
Named Contacts
Support Engineers
Answer Questions
Identify Solutions
Android Support Programs
Benefits of Mentor Professional Services• Expertise others don’t have• Quality beyond even the highest
expectations• Managed by engineers, not bureaucrats
Who better to support your project than the engineers behind Rowboat?
Not optimized for OMAP 3 hardwareWho will be there to help tackle challenges?• What about existing C/C++ code?• What about my developer workflow?• How will my device stand out from the rest?
Android: Limitations and Concerns
28
SupportDevelopment
System for Android
Inflexion
• Android applications are Java with bits of C/C++
• Mentor Real C/C++ makes C/C++ applications first class citizens
• Only C/C++ solution with full library and debug support
Mentor Real C/C++ Android Applications
29
Java Java C/C++
IPC
Plain Android With Mentor
Android Developer Workflow
Is the Android SDK enough?▪ What about C & C++?▪ How do you define the specific software contents
of your design?▪ How will you evolve your design over versions?▪ How will you comply with license obligations?
Development System for Android
Development System for Android
• Only Real Native C/C++ with full debug capabilities
• Market leading performance optimization expertise
• Integrated C, C++, and Java development
31www.mentor.com/embedded
Linux Kernel
Android Readiness
Bionic Libraries
Mai
nten
ance
& S
ecur
ity U
pdat
es
War
rant
y &
Inde
mni
ficat
ion
Bill of Materials Utilities
License Flagging
Documentation
Technical Support
Real Native C/C++
Android Runtime
Performance
Eclipse IDE
C/C++ Java
IDE
Toolchains*
Base Userspace
Not optimized for OMAP 3 hardwareWho will be there to help tackle challenges?What about existing C/C++ code?What about my developer workflow?• How will my device stand out from the rest?
Android: Limitations and Concerns
32
SupportDevelopment
System for Android
Inflexion
The Androids Are Coming• Google Android is a rich internet-enabled
software platform for embedded devices▪ Appealing to many OEMs: can focus software
effort on differentiation, not core services
▪ Android is definitely not just about cell phones!
▪ Already in development: TV set-top boxes, auto infotainment, home appliances, medical…
▪ 100s of products will launch in the next 2 years
• BUT without lots of GUI customization work every product will look and feel the same
• Like Windows PCs? OEMs don’t want that!
Inflexion Offers The Solution• Compelling differentiation of any
Android product through rapid and radical GUI customization▪ Rebrand Android home screen and menu
system without any software changes▪ Apply stunning 3D effects (spinning, fading,
twisting, zooming, lighting…) in minutes▪ Provide multiple device ‘skins’ to meet
diverse market and user preferences▪ Build new native apps for your product...
…and give them skinnable 3D GUIs too
• Deliver totally unique products on a common technology platform
How It Works: Enhancing Android
InflexionEngine
java-sideframework
for Inflexion
replacement homescreen + menu system
Exploit Inflexion as the GUI framework for any new native (C/C++) application
Standard Inglexion Engine optimized to use Android’s built-in 3D OpenGL/ES API
(software or hardware accelerated)
Create new skins for standard Android GUI functions with
Designer visual tool: no code required
Example Screens:
Inflexion Designer
In Summary
differentiate your Android devices with
unique 3D GUIs…
…with low effort and no software modifications
• Android with the Rowboat project on OMAP 3• Mentor tools for real native C/C++ integration
Demo
• Android offers exciting new possibilities• The Mentor Advantage:
▪ The best available OMAP 3 architecture support with the TI / Mentor Rowboat project
▪ Faster performance▪ Expert support▪ Unique support for C/C++ code and tools▪ Complete workflow for building non-handset systems▪ Differentiate with ease
Get the Mentor Advantage
• Thank you for your attendance!▪ Katie Roberts-Hoffman, TI▪ Brad Dixon, Mentor Graphics
• Please use the chat window to ask questions.
• We may not be able to handle all questions in the available time.
Thank you and time for Q&A