Google in 2005 • Open Handset Alliance founded in 2007 (Samsung, LG, HTC, TI, Nvdia, Intel,ARM, TMobile, Google, ...) • HTC Dream in 2008 android is announced in 2007 OHA: develop open standards for mobile devices. vertical integration: mobile operator, software, semiconductor, handset manufacturer
tablet: Octobre 2011 http://faqoid.com/advisor/android-versions.php Device for consumer 1.5 April 30, 2009 cupcake 1.6 September 15, 2009 donut 2.0/2.1 October 26, 2009 eclair 2.2 May 20, 2010 froyo 2.3 December 6, 2010 2.3.7 September 21, 2011 (gingerbread 40% in april 2013) 3.0 February 22, 2011 4.0.1 October 19, 2011 (ics 29%) 4.1.1 July 9, 2012 (jb 25%)
Flagship device (supported by AOSP: you can flash it) Nexus 4 Nexus 10 pandaboard pandaboard since 4.0. Android is officialy not general consumer only?
◦ 340 Mo RAM ◦ OpenGL ES 1.0 et 2.0 ◦ Browser < 1300 ms • Gingerbread (2.3) ◦ 128 Mo RAM What is embedded designated task? Android can run many application hardware contraint? Android is often tuned to fullfil a specific task on a specific hardware.
Galaxy, 4, 7, 10 ◦ Motorola Xoom ◦ Pandaboard (experimental) • Cyanogenmod kernel and blob available (separated from AOSP, but availalbe at http://source. android.com/source/building-devices.html)
for all Android version ◦ Should provide: ▪ Kernel ▪ Hardware support libraries ▪ AOSP patches Be careful to which part is binary or not, some manufacturer provide a full android package with lots of prebuilt binaries. A good manufacturer should let you download a specific version from google and only add hardware specific code / blob. Update / security fix is also a concern when choosing a manufacturer.
surface manager (X/Wayland like) media framework (GStreamer like) Bionic: libc rewrite NOT posix no c++ exception no System V ipc incomplete thread support ... => carreful when porting C/C++ code to android
need to build your own system and add your own tool: webcam api, gps api, ... It is ok if : * You already have an expertise * you have specific needs (performance, footprint, ...)
◦ GUI ◦ Touch screen ◦ RS232? CAN? ◦ Lot of apps ready to use You can build your own support for the protocols you need, but you'll need to do it again for next version
Android in Embedded Systems https://training.linuxfoundation.org/free-linux-training/download-training-materials/growth-of-android-in- embedded-systems