Your SlideShare is downloading. ×
Portinig Application, Drivers And Os
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Portinig Application, Drivers And Os

5,091
views

Published on


2 Comments
9 Likes
Statistics
Notes
No Downloads
Views
Total Views
5,091
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
564
Comments
2
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Porting Application, Drivers and OS Prashant Zaveri Android hardware Architect Holland9
  • 2. Objective
    • Brief over view of OS available for mobile
    • Porting Android
    • Kernel Patch
    • HAL
    • Adding custom application
    • Conclusion
  • 3. Overview of OS for Mobiles
    • Iphone/Blackberry
    • Windows Phone 7
    • Symbian
    • Android
    • Custom/properitary
  • 4. Iphone/Blacberry
    • Proprietary
    • Forget it …Get lost
  • 5. Windows Mobile
    • New platform …Just started…7
    • At mercy of Microsoft
    • Cool but costly
  • 6. Symbian OS
    • Leading OS in number of units
    • Still of last decade
    • Very difficult to innovate
    • Finally free..but how much !!!
    • Will keep a watch on this
  • 7. Android
    • Completely free
    • Development done by Google
    • Freedom to innovate
  • 8. Android architecture
  • 9. Porting Android
    • Android Architecture
    • Android Kernel
    • Android Toolchain
    • Native libraries
    • HAL Hardware Abstraction Layer
    • Initialization
    • Building the Android runtime
  • 10. Android kernel
    • Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model
    • The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
    • It comes up with several patch for “kernel enhancement” to support Android.
  • 11. Why Linux ?
    • Android needed an open source kernel to build upon.
    • Linux is already open source.
    • Very good memory and process management
    • Good driver model
    • Support for shared libraries
    • Permission based security model
  • 12. Android kernel patch
    • IPC Binder
    • Low memory killer
    • Asynchronous shared memory (Ashmem)
    • Logger
    • Power management
    • Android debug bridge (ADB)
    • Hardware specific driver
  • 13. Linux Kerenl patch by version
  • 14. Android Toolchain
    • Android-toolchain-20081019
    • gcc 4.2.1/ binutils 2.17/ gdb 6.6
    • ARMV5te+
    • -- with-float =soft
    • --with= fpu-vfp
    • --enable-threads
  • 15. Native libraries
    • Bionic LibC
    • Functional libraries
    • Native servers
  • 16. Bionic
    • What is Bionic ?
    • Custom libc implementation optimized for embedded.
    • Why Bionic ?
    • To keep code in control and keep GPL out of user space
    • To keep small foot print
    • To keep it fast for embedded processors
  • 17. Functional libraries
    • Libraries which perform essential part of system functionality
    • Webkit
    • OpenGL/ES
    • SQLite
    • SGL
    • Freetype
  • 18. Media framework
    • Android media framework is based on Packet Video’s OpenCORE framework
    • It supports standard formats for Audio/Video and still images
    • It has got pluggable architecture for hardware/software codes using OpenMAX IL interface
    • Media playback, streaming, downloading
    • Also support speech codec
    • OpenMAX standard compliant
  • 19. Media framework architecture
  • 20. Hardware Abstraction Layer
    • Why is HAL layer needed in Android ?
    • Seperates the Android platform logic from hardware interface
    • Defines the interface that Android driver requires hardware “drivers” to implement
  • 21. Android Runtime
    • Android’s custom clean room implementation virtual machine
    • Provides application portability and runtime consistency
    • Runs optimized file format (.dex) and Dalvik bytecode
    • Java .class/.jar file converted to .dex at build time
  • 22. Application Framework
    • Core platform services that are essential to Android
    • Most of them run behind scenes where application don’t access them directly
  • 23. Platform Initialization
  • 24. Building the Android runtime
    • General Procedure
    • Get the code
    • Build it
    • Install it
    • http://surce.android.com
  • 25. Building the Android runtime
    • The code
    • 2.1 gb of git tree
    • #repo init –u git://android.git.kernel.org/platform/manifest.git
    • # repo sync
    • … .. tweaks….modifications….
    • Make <target>
  • 26. Building the Android runtime
    • Build products
    • Userdata.img
    • System.img
    • Ramdisk.img
    • Kernel.img
    • Run it and Android is running
  • 27. Application Developers
  • 28. Platform Developer
  • 29. Hardware Developers
  • 30. Architecture Porting
  • 31. Thank You Prashant Zaveri [email_address] Mobile Developer Conference by MoMoB http://momob.in

×