Salon ENOVA Android/Linux embarqués

Similar documents
Salon ENOVA - Choisir son OS

Android In Industrial Applications. A Field Report

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Kick Start your Embedded Development with Qt

IJRDTM Kailash ISBN No Vol.17 Issue

Qt for Device Creation

Introduction To Android

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Android Everywhere. Cristina Segal, EMEA Director Android Solutions GM Android testing tools

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017

Android OS and Power Architecture

Android Overview. Most of the material in this section comes from

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

Android. Operating System and Architecture. Android. Screens. Main features

SD Module- Android Programming

Developing Mission Critical Products with Digi i.mx53 Module

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

CS260 Intro to Java & Android 04.Android Intro

Tizen Overview (Tizen Ver. 2.3)

Mobile Internet Devices and the Cloud

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Tizen IVI Architecture New features. Dominig ar Foll, Intel Open Source

UNIT:2 Introduction to Android

Ahmed Ali Big fan of Android

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

Why you should be excited about Qt 5

Mobile and Ubiquitous Computing: Android Programming (part 1)

Our Technology Expertise for Software Engineering Services. AceThought Services Your Partner in Innovation

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

In the Driver s Seat

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Mobile Computing. Introduction to Android

More performance options

What's new in GStreamer

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO

ios vs Android By: Group 2

Mobile and Wireless Systems Programming

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

ARM mbed Technical Overview

BlackBerry Apps Experience. Everything You Need to Know and More.

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

itas Innovations Company Brief

Android Everywhere. February 15, Cristina Segal, WW Director Android Solutions

Reducing Time-to-Market with i.mx6-based Qseven Modules

Creating outstanding digital cockpits with Qt Automotive Suite

Android Programming in Bluetooth Cochlea Group

Curriculum Vitae of Johan Paul, M.Sc.

Introduction to creating 3D UI with BeagleBoard. ESC-341 Presented by Diego Dompe

Mobile Devices and Smartphones

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Android App Development

Embedded Hardware and Software

AUTOMOTIVE HMI DESIGN AT ITS BEST.

Android Online Training

Android App Development

An overview of mobile and embedded platforms

Yocto or Debian for Embedded Systems. White Paper

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Android Overview. Francesco Mercaldo, PhD

SHWETANK KUMAR GUPTA Only For Education Purpose

OpenMAX AL, OpenSL ES

Chapter 2. Operating-System Structures

Tizen IVI Architecture New features

Hands-on with the Sitara Linux SDK

OMAP Android Integration

Performance Driven Development on Low- Cost Embedded Hardware Increasing Return-On-Investment & shortening time-to-market

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Meet Qt. The Leading Cross-Platform Application and UI Framework. The Qt Company. June

WiFi and Wireless System on Module Applications and Bluegiga products

Debugging for production systems

Android - open source mobile platform

Java Embedded on ARM

SMART DELTA: SECURE OVER-THE-AIR (OTA) TECHNOLOGY FOR REMOTE MANAGEMENT OF IOT SOLUTIONS

Embedded HW/SW Co-Development

BCA 6. Question Bank

Programmazione di sistemi mobili e tablet

AUTOMOTIVE HMI DESIGN AT ITS BEST.

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

SBC-S32V234 QUICK START GUIDE (QSG)

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Android. (XKE Mars 2009) Erwan Alliaume.

RTOS, Linux & Virtualization Wind River Systems, Inc.

Using ARM CPU Modules in Embedded Applications. September 2011

ANDROID SYLLABUS. Advanced Android

What is Android? Mobile Device Application Development COMPSCI 345

Oracle Mobile Application Framework

Yocto Project components

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Present and Future of the RhoMobile platform. Migrating legacy applications, Node.js on mobile devices right now and more

Transcription:

Embedding Success Salon ENOVA Android/Linux embarqués Grégory LEMERCIER Development Lead IDF glemercier@adeneo-embedded.com Headquarters 2 chemin du Ruisseau 69134 Ecully, France Phone : +33 4 26 49 25 39 Fax : +33 4 72 18 08 41 Adeneo Embedded Paris 4 rue Emile Baudot 91120 PALAISEAU, France Phone : +33 1 80 75 01 52 Adeneo Embedded Seattle 3150 Richards Road, Suite 210 Bellevue, WA 98005, USA Phone : +1 425 749-4335 Fax : +1 425 818-1911 Adeneo Embedded Frankfurt Am Wartfeld 1, 61169 Friedberg, Germany Phone : +49 6031 693 707 0

Company overview WW Offices Sales Reps Japan France HQ (30+) Taiwan Korea US (25+) India Italy Germany (10+) OUR MISSION Secure OEMs embedded design success by providing OS Expertise combined with in-depth knowledge of processors architecture on multiple operating systems such as Windows CE, Embedded Linux, Android and QNX. Israel

Competitive Partner for Embedded Devices Silicon Vendor partners Market Focus Automotive Handheld Devices System Integration partners Specializing in Medical Consumer Industrial Automation Business Model Key partnerships with Silicon Vendors and OS providers allows us to build strong expertise on the latest processor offerings and OS technologies. Combined with our engineering expertise we offer the best technical expertise and services to enable customers design their products

Adeneo Embedded - Core Expertise Product Expertise Power management optimization to meet device specific requirements Boot time fast boot implementation (<500ms boot times) Communication stacks performance improvements (NDIS 6.1 etc ) BSP and Application testing (for certifications) Application Expertise Full custom application development using Silverlight,.Net CF Qt HTML5 Native C++, Java Data management, cloud connectivity and middleware stack integration System Expertise Custom device driver development Connectivity wireless, bluetooth, cellular Multimedia audio/video h/w acceleration, codecs integration, camera interface, OpenGL/VG/CL, DirectShow etc Storage/Industrial SATA, PCIe, USB, CAN etc OS feature implementation Real-time, full power management, 3 rd party stack integration Firmware Expertise development of reference BSPs for SV architectures adaptation of reference BSPs for custom designs OS optimizations based on final product requirements

Services offering Productization Prototyping Production quality BSP and driver optimizations System performance optimizations including graphics, boot time and real time behaviors Validation and testing of entire BSP and other software stacks Testing services for certification Full application development BSP customization and driver development 3 rd party stack integration support Application technologies enablement Design BSP and OS Support support contracts Design reviews Reference BSP support and updates 3 rd party software and h/w selection/integration guidance Evaluation Trainings scheduled/customized onsite (3-5 days) System level consulting Benchmarking, proof of concept development

Competitive Partner for Mobile Devices Cloud Connected Applications Get a full control of your embedded device via the Cloud. Mobile Applications UI/UX Design and implementation for Mobile devices Natural UI Smartphone Middleware WPF, OpenGL, XAML Performance optimization o Graphical rendering o UX effects Enterprise, BtoB, BtoC applications B2C Applications Experts in XAML, HTML 5, Java and more, our team masters the different technologies for mobile application development. B2B Applications Deep, understanding of specific requirements of B2B markets, providing up to date business applications on the latest devices.

Mobile Apps References at a glance Fleet Management UI and App dev Navigation integration Smartphone Applications Windows Phone and Android UI Design, Application dev Interactive Point of Service Natural UI, Kinect Application Industrial Supervision UI and Data management App Industrial bus communications Consumer Application Complete UI and SW Home Energy Management UI and Data management App Zigbee/Wifi communications Metering Maintenance Software architecture UI design

Contact us for more information about our solutions and services General information www.adeneo-embedded.com sales@adeneo-embedded.com Regional contacts Europe France & Western Europe Germany & Central Europe Italy (Sales Rep) Israel & M.East (Sales Rep) Americas Canada and NW America Rest of America & Latin America Asia Pacific Jérémy Delicato / +33 6 59 83 33 89 Michael Heinz / +49 162 211 7805 Giorgio Camilucci / +39 335 6050254 Haim Ringel / +972 54 5323106 Tim Willmoth / +1 (425) 802-0240 Mike Ruiz / +1 (858) 603-0076 Vijay Raisinghani / +1 (425) 749-3549

Embedding Success Embedded Linux Headquarters 2 chemin du Ruisseau 69134 Ecully, France Phone : +33 4 26 49 25 39 Fax : +33 4 72 18 08 41 Adeneo Embedded Paris 4 rue Emile Baudot 91120 PALAISEAU, France Phone : +33 1 80 75 01 52 Adeneo Embedded Seattle 3150 Richards Road, Suite 210 Bellevue, WA 98005, USA Phone : +1 425 749-4335 Fax : +1 425 818-1911 Adeneo Embedded Frankfurt Am Wartfeld 1, 61169 Friedberg, Germany Phone : +49 6031 693 707 0

Embedded Linux There are many different Linux distributions that target embedded devices Based on the Linux kernel and the GNU tools Different UI frameworks can be used to develop applications and graphical user interfaces Qt, DirectFB, GTK,... Integrating the different parts required to develop an embedded Linux device from scratch is possible but challenging Lots of tools available to easily generate system images

Linux kernel key features Portability Supported architectures (see arch directory in the Linux sources): alpha, arm, m68k, x86, mips, powerpc, sparc... Scalability Used on small embedded devices and super-computers Security The code is constantly being reviewed by the community Reusability Many drivers and platforms are part of the mainline. No need to reinvent them! Well-defined coding standards Community support Easy to find support and documentation

Linux development model Latest version is 3.16 About one release every 3 months Stable branches are maintained by a dedicated team (only the security fixes are backported) Kernel sources available on http://kernel.org/ Can be downloaded as archives or with git Mainline or Vanilla kernel: contain the main, generic branch of development Released by Linus Torvalds after integrating the changes made by all other programmers Not all the Linux code is part of the mainline Silicon Vendors typically manage their own tree

Licensing considerations The Linux kernel is licensed under the GPLv2 The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. If you distribute Linux based devices, the GPL requires you to make the modified source code available upon request to the final user only Before reusing code and libraries, check the license of the different software packages! Other open licenses exist (Apache, BSD, GPLv3, LGPL) Different possibilities/constraints

Yocto www.yoctoproject.org "It's not an embedded Linux distribution - it creates a custom one for you" Contains a lot of "recipes", defining how to fetch, build and install packages into the target root filesystem Also contains scripts to generate support tools such as toolchains, sysroots, SDKs, etc... Versioning: allows to rely on a stable and validated version of the system Graphical tools to configure and build images (experimental)

Existing open-source projects Networking tools Dropbear: ssh server/client Vsftpd/inetd: ftp servers PPP: for managing dialup connections System utilities DBUS: inter-application object-oriented communication bus Busybox: tools suite containing base commands for embedded devices Hardware access: libusb, i2c-tools, input-tools, mtd-utils Web servers Busybox httpd Lighthttpd Boa, nginx, Apache, etc Multimedia Gstreamer: plugin-oriented framework for handling and processing audio/video streams Many encoding and decoding libraries Databases SQLite Web browsers Dillo Firefox Webkit

The Qt framework Famous cross-platform toolkit, providing widget-based high-level APIs to develop graphical applications More than a graphical toolkit, offers a complete development framework: data structures, threads, network, databases, XML, etc Implemented in C++ The C++ library is required on the target system Standard API in C++, but with bindings for other languages Two libraries for designing UIs QtWidget: simple interfaces with buttons and forms QtQuick: advanced graphics and animations using the QML description language Can benefit from OpenGL/GLES acceleration when available on the hardware Since Qt5, mandatory for running QtQuick applications

Embedding Success Android Headquarters 2 chemin du Ruisseau 69134 Ecully, France Phone : +33 4 26 49 25 39 Fax : +33 4 72 18 08 41 Adeneo Embedded Paris 4 rue Emile Baudot 91120 PALAISEAU, France Phone : +33 1 80 75 01 52 Adeneo Embedded Seattle 3150 Richards Road, Suite 210 Bellevue, WA 98005, USA Phone : +1 425 749-4335 Fax : +1 425 818-1911 Adeneo Embedded Frankfurt Am Wartfeld 1, 61169 Friedberg, Germany Phone : +49 6031 693 707 0

Android Android is an operating system for mobile devices such as cellular phones, tablet computers and netbooks. (Wikipedia 2010) Android is a software stack for mobile devices that includes an operating system, middleware and key applications. (Wikipedia 2011)

Android Versions 1.0 (sep 2008) 1.5 Cupcake (April 2009) 2.0/2.1 Eclair (October 2009) 2.3 Gingerbread (Dec 2010) 4.0 Ice Cream Sandwich (Oct 2011) 4.4 KitKat (Nov 2013) 1.1 Petit Four (Feb 2009) 1.6 Donut (September 2009) 2.2 Frozen Yogurt (May 2010) 3.0/3.1/3.2 Honeycomb (Feb 2011) 4.1/4.2/4.3 Jelly Bean (Jul 2012) Android L (????)

Android is Linux? Android is based on the Linux kernel Includes some architecture changes in the kernel (security, power management...) Does not support the full set of GNU libraries (bionic is used as C library) Provides a java-based API for application development that is currently not supported on Linux Licenses The kernel is released under GPLv2 Bionic, the Dalvik virtual machine and other Android key components are released under the Apache Software License 2.0 (less restrictive than the GPL)

Android Architecture

Dalvik Open source virtual machine Independent from Sun/Oracle implementation Just in time compiler since version 2.2 Does not run standard Java bytecode Provides a VM instance for each application and manages limited access to OS resources depending on application privileges Soon to be replaced by ART (Android RunTime), experimental version available in KitKat

The Android SDK Includes all the tools required to develop Android applications in Java (compiler, debugger, emulator) Provides a plugin for Eclipse to support RAD-like application development and interactive debugging inside the IDE The «Android Native Development Kit» allows development of native components that can be integrated with the existing class library to provide additional features

Android Device Certification To use the Android trademark a device must be certified as compatible with the Android Compatibility Definition Document (CDD) Compatibility can be asserted using the Compatibility Test Suite that is available for free Compatibility is a mandatory requirement to access the Android marketplace and license Google proprietary apps.

Embedding Success Comparison and case studies Headquarters 2 chemin du Ruisseau 69134 Ecully, France Phone : +33 4 26 49 25 39 Fax : +33 4 72 18 08 41 Adeneo Embedded Paris 4 rue Emile Baudot 91120 PALAISEAU, France Phone : +33 1 80 75 01 52 Adeneo Embedded Seattle 3150 Richards Road, Suite 210 Bellevue, WA 98005, USA Phone : +1 425 749-4335 Fax : +1 425 818-1911 Adeneo Embedded Frankfurt Am Wartfeld 1, 61169 Friedberg, Germany Phone : +49 6031 693 707 0

Comparison Feature Linux Android Memory footprint + - Bootup time ++ - Royalties/reuse ++ ++ Integration +- ++ Customizability ++ - Hardware support ++ -- Real time - -- Applicative technologies ++ - Longevity + --

Health monitoring device IoT examples Lightweight, mecanically constrained Headless/Small screen Low-power Fast booting Connectivity (Wifi, Bluetooth,...)

IoT examples Embedded Linux is a very good fit Can run on very small low-power microprocessors (even ARM Cortex M4) Modularity for fitting into memory constrained devices Full connectivity available Does not require advanced graphics to be fully functional Lots of components to reuse Database, web services, Bluetooth profiles, Development can be focused on the application

Connected fridge Fancy UI with animations Large display with touchscreen Connectivity (Wifi, Bluetooth,...) Extensive applications IoT examples SDK for third-party application development Sensors

IoT examples Better choose Android Eye-candy modern UI out-of-thebox Very popular in the consumer market => fast learning curve! Full connectivity Easily extensible with a great easyto-use SDK Heavily customizable

Conclusion Android and Linux are used by thousands of developers to develop many different kind of devices Choosing the right OS is one of the key steps in making a successful device There is no absolute «best» OS, you should evaluate wich OS is the best one for your specific project considering: Hardware support Key features Development team experience Licensing Open-source is great for fast time-to-market, but comes with constraints

Embedding Success THANK YOU glemercier@adeneo-embedded.com Headquarters 2 chemin du Ruisseau 69134 Ecully, France Phone : +33 4 26 49 25 39 Fax : +33 4 72 18 08 41 Adeneo Embedded Paris 4 rue Emile Baudot 91120 PALAISEAU, France Phone : +33 1 80 75 01 52 Adeneo Embedded Seattle 3150 Richards Road, Suite 210 Bellevue, WA 98005, USA Phone : +1 425 749-4335 Fax : +1 425 818-1911 Adeneo Embedded Frankfurt Am Wartfeld 1, 61169 Friedberg, Germany Phone : +49 6031 693 707 0