Developing on DragonBoard

Similar documents
Embedded Android? Not so fast!

Hugo Cunha. Senior Firmware Developer Globaltronics

Android System Development Training 4-day session

Board satisfies requiremen t? Compliance Directive

Your Strategic Partner for Renesas RZ/G1x Products & Solutions

M2-SM6-xx - i.mx 6 based SMARC Modules

. SMARC 2.0 Compliant

NXP-Freescale i.mx6 MicroSoM i2. Dual Core SoM (System-On-Module) Rev 1.3

Kontron s ARM-based COM solutions and software services

SBC3100 (Cortex-A72) Single Board Computer

SABRE Board for Smart Devices

NXP-Freescale i.mx6 MicroSoM i4pro. Quad Core SoM (System-On-Module) Rev 1.3

SOM IB8000 Quad Core SOM (System-On-Module) Rev 1.3

NXP-Freescale i.mx6. Dual Core SOM (System-On-Module) Rev 1.5

SOM i1 Single Core SOM (System-On-Module) Rev 1.5

Contents 1. Introduction New Features Pre-installed Android Marshmallow Power Supply Monitor USB Keyboard

Overview of the Raspberry Pi Models 3B & 2B

Quick Start Guide Multisensory Enablement Kit i.mx 8QuadXPlus MEK CPU Board. Based on i.mx 8QuadXPlus Applications Processor

SAMSUNG ELECTRONICS RESERVES THE RIGHT TO CHANGE PRODUCTS, INFORMATION AND SPECIFICATIONS WITHOUT NOTICE. Products and specifications discussed

The TechNexion Difference

PRODUCT Datasheet TECHNICAL FEATURES

Copyright 2017 Samsung. All Rights Reserved. O-Hoon Kwon, Ph.D. Samsung Electronics

G3399 Single Board Computer Introduction

SFO15-100: 96Boards & the course upstream

i.mx 8M MINI System-On-Module (SOM) Hardware Architecture

Version History. V1.0 Original Version 1 / 13

Inforce 6601 Micro SOM and. Inforce 6601 Development Kit: Frequently Asked Questions (FAQ)

Yocto Project and OpenEmbedded training 3-day session

Quick Start Guide. SABRE Platform for Smart Devices Based on the i.mx 6 Series

Lesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Raspberry Pi 3 Model B

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

. Micro SD Card Socket. SMARC 2.0 Compliant

MYC-C437X CPU Module

MYD-Y6ULX Development Board

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

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

THE LEADER IN VISUAL COMPUTING

OK335xS Users Manual Part I - Introduction

MYD-JA5D2X Development Board

arm MULTICORE PLATFORMS FOR ADVANCED APPLICATIONS Product Longevity

Android Release Notes

RK3036 Kylin Board Hardware Manual V0.1

INTERRA I-MINI TOUCHPANEL GENERAL INFORMATION

The Mobile Internet: The Potential of Handhelds to Bring Internet to the Masses. April 2008

CS 326: Operating Systems. Lecture 1

Next Generation Desktop Thin Client SD-A225

Embedded Computing without Compromise. Evolution of the Rugged GPGPU Computer Session: SIL7127 Dan Mor PLM -Aitech Systems GTC Israel 2017

NXP-Freescale i.mx6 MicroSoM i2. Dual Core SoM (System-On-Module)

IOT-GATE-iMX7 Datasheet

Get Started SUPPORT WARRANTY. Visit the i.mx community at

Android In Industrial Applications. A Field Report

MYC-C7Z010/20 CPU Module

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES

DEVELOPMENT GUIDE VAB-630. Linux BSP v

UP Board Introduction

Raspberry Pi Compute Development board

Creator Ci20 quick start guide

Embedded Computer. User Manual

Smartwatches (April 12, 2017) Samsung Gear Live, 2014 Samsung S 3G, 2014 Samsung S3 LTE, November 2016

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

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

Intel Galileo gen 2 Board

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management

SABRE Board for Smart Devices

AT-501 Cortex-A5 System On Module Product Brief

Cisco Edge 300 Series

In-Vehicle Computers

pcduino V3B XC4350 User Manual

DevKit7000 Evaluation Kit

Specifications. What s Inside The box

96Boards - TV Platform

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

Tablet MODECOM FreeTAB 1010 IPS IC

The ViewSonic VSD224 is a 22 (21.5 viewable) all-in-one Smart Display with 1920x1080 Full HD resolution. It features a Quad-core 1.

Car-solutions.com

SUPERIOR EMBEDDED SOLUTIONS

PD_BlackBerry_Folder_210x210mm_GB_4c_RZ_v4.indd :36

MYD-C437X-PRU Development Board

HP TouchPad Overview. 7. Touchscreen

An overview of mobile and embedded platforms

ARDUINO YÚN MINI Code: A000108

Introduction to the Itron Riva Dev Kits

IoE Workshop. Marc Khayat, CCIE #41288, Leonard Janer Technical Managers. June 16

Ten (or so) Small Computers

MYD-C7Z010/20 Development Board

Smart Door Security Control System Using Raspberry Pi

TOUCH PANEL PC 10.1 USER GUIDE

SAM A5 ARM Cortex - A5 MPUs

Introducing Linxs Executive Summary - Q2/2018. Linxs by New Tinxs NV/SA

EM210 Linux User Manual

Quad Core 1.7GHz Processor for Lightning-Fast 2D and 3D Graphics. Simplify IT needs

iw-rainbow-g3 / G3V FAQs:

Tablet MODECOM FreeTAB1004 IPS X4

ID 730L: Getting Started with Multimedia Programming on Linux on SH7724

MQTT Protocol Support. Cloud Ready Gateway. Modular Architecture

802.11n Wireless Interactive Presentation Gateway

VR Development Platform

Embedded. Connected. Aware. SW Delivery Process. February Inforce Computing. Do NOT Copy/Distribute without prior written permission

Bluegiga WF121 Wi-Fi Module. Embedded Wi-Fi modules. for affordable connectivity

Transcription:

Developing on DragonBoard Getting Started with APQ8060 and Pragmatux+Android Bill Gatliff bgat@billgatliff.com Ryan Kuester rkuester@insymbols.com 1

2

CPU Daughterboard APQ8060 ARMv7 Dual core 1.5 GHz 512 MB RAM 4 GB emmc 3

Video Adreno 220 GPU 24-bit 1440x900 RGB 4-lane MIPI DSI HDMI Out 1080p HD Video 4

Camera 4-lane MIPI CSI 2-lane MIPI CSI 5

Wireless Card Wi-Fi b/g/n Bluetooth 6

Sensor Card Pressure Temperature Compass Accelerometer Gyroscope 7

Also Ethernet 5 SDIO 173 GPIO I2C SPI UART USB OTG I2S PCM 8

>50 voltage regulators 9

Application framework Misc. Init Linux kernel Bootloader 10

Application framework Misc. Init Linux kernel fastboot protocol Bootloader 11

Application framework Misc. Init Linux kernel Bootloader 12

Application framework Misc. Init Linux kernel Bootloader 13

Application framework Misc. Init Linux kernel Bootloader 14

Application framework Misc. Init Linux kernel Normally don t touch this Bootloader # fastboot flash $IMAGE 15

Application framework Misc. Init boot.img Linux kernel Bootloader # fastboot flash $IMAGE 16

system.img Application framework Misc. Init Linux kernel Bootloader # fastboot flash $IMAGE 17

mydragonboard.org 18

The challenges of DragonBoard Powerful Hardware Complex Software Broad Applicability 19

The challenges of DragonBoard Embedded systems are more than just Android applications! 20

Limitations of the AOSP Android Framework No real-time scheduling Limited thread prioritization java.*, android.*, or your-own.* 21

Android runs on Linux, but... Android is not an operating system No production-grade platform management Limited software availability Android is purpose-built 22

Android is purpose-built If it brings what you need, great! (Otherwise, not so much) 23

The right way to use Android Let Android do what it does well Don t let Android do anything else! 24

The right way to use Android Leave the rest to Linux, where it belongs Connect the two at the right places We need a split-personality workflow! 25

Pragmatux 26

Pragmatux Adopted by Qualcomm for all APQ platforms Road-tested embedded Linux operating system Based on familiar FOSS tools and concepts Open and extensible 27

Pragmatux Workstation environment Target device operating system Deployment management system Developer ecosystem 28

Pragmatux Not beta 29

Pragmatux A Linux distribution, but also much more 30

Pragmatux Utilizes tools, concepts from the Debian Project Isn t Debian, but has a similar look and feel Is suitable for any embedded Linux platform 31

Pragmatux Builds on a decade of embedded Linux and Debian lessons-learned 32

Pragmatux Best-practices, real-world embedded Linux 33

Fantasy Workflow Source Package Code Code Meta Meta Pre-compiled Package Target files Workstation Code Code Meta Meta Target files images Device 34

Pragmatux Workflow Code Meta Meta Target files Target files Code Meta Meta Repository Repository Repository Workstation Device images 35

Case study: kernel module update 36

Problem description: Vendor issues a bugfix to binary-only module Not all deployed devices have that kernel Some devices with that kernel are no-touch Other constraints limit applicability 37

We want: Hands-free update mechanism High-assurance of correctness No risk of customer data loss 38

But also... Some of the target devices aren t networked! 39

This is exactly the scenario Pragmatux was developed to solve 40

Ye Olde Skule way: Wipe-and-reinstall the filesystem 41

Ye Olde Skule way: (but only on the appropriate machines!) (don t forget to save, restore customer data!) (don t kick out the power cord!) (don t forget to schedule downtime!) 42

The Pragmatux way: Update the kernel module package file Push the new package to the repository Target devices phone home for updates Targets install package at next opportunity 43

What about wrong machines? Package meta-data indicates compatibility Repository structure limits distribution (other machines can t see the package) 44

... and disconnected machines? Repository tools create crypto-signed manifest Manifest file delivered by USB, carrier pigeon Targets install package at next opportunity 45

No! It s too good to be true! How about a demonstration? :-) 46

Demonstrations Set up a developer workstation Build a target filesystem image Install that image on DragonBoard Boot! 47

Demonstrations Update, distribute a package (and a special surprise guest bug!) 48

49

Demonstrations (follow along!) 50

What about Android APKs? They work for Android applications only! (a lot of embedded Android isn t Android) 51

system.img Application framework Misc. Init Linux kernel Bootloader # fastboot flash $IMAGE 52

Pragmatux isn t rocket science We are just using great tools well... and we want you to do likewise! 53

Pragmatux brings the platform... so you can focus on the problem 54

55