ELC + ABS has ended

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Tutorial [clear filter]
Tuesday, March 24

9:00am PDT

Customizing AOSP for my Device - Rafael Coutinho, Phi Innovations
Android BSP gives you some tools to create your own device customizations. This can be achieved with not changes on the Android main code, and just some customizations on the devices folder. It is possible to overlay some system apk configurations, ui and even services. In this tutorial I plan to show the step by step of creating a custom Android device using a AOSP. Setting up some Kernel parameters, customizing the lights HAL and sensors HAL, changing the look and feel of Settings apk etc.

avatar for Rafael Coutinho

Rafael Coutinho

Software Architect, PhiInnovations
Software Architect. Broad experience in several technologies, from distributed enterprise systems development, to mobile development and GIS. Currently I'm having the most challenging entrepreneurship experience i have ever had. I have associated to THE embedded system company and... Read More →

Tuesday March 24, 2015 9:00am - 10:50am PDT
Ballroom Salon 1/2

9:00am PDT

Building Multi-Processor FPGA Subsystems – Allowing Linux to Supervise Embedded Real-Time Processing Systems - Chris Martin, Altera
Integrating subsystems not only means connecting hardware together, but often also comes with producing supervising software for controlling multiple embedded processors that are included within each subsystem function. This tutorial will showcase writing applications for Linux to control multi-processor subsystems. The hardware and software such as mailboxes and mutexs will be touched upon – all of which can be designed within SoC FPGAs, from the low-level hardware to the Linux kernel modules and applications. 

avatar for Chris Martin

Chris Martin

Technical Staff Embedded Applications Engineer, Altera
Chris Martin is a Member of Technical Staff at Intel and an Embedded Applications Engineer with over 20 years experience with ARM SoCs and Linux application development as well as with SoC hardware design and verification. Having developed embedded software and hardware solutions... Read More →

Tuesday March 24, 2015 9:00am - 10:50am PDT
WG 2/3

4:25pm PDT

Building a General Purpose Android Workstation - Ron Munitz
In this tutorial, you will have a hands-on journey of customizing, building, and using a General Purpose Desktop variant of the Android-X86 project (Android-X86.org). The tutorial assumes previous experience with building Android off the AOSP, Android-IA, CyanogenMod, or any other build system, and describes the special additions of Android-X86, such as a Kernel build system, general X86 hardware detection based HAL's/firmware and live cd/disk installer generation and more. Then, we will explore the Linux friendly busybox minimal image, and describe the way a fully fledged Android version can be spawned out of it (with similar techniques for any other Linux distribution with the Android patches!) using chroot, and provide a listing of the ultimate Android init process.
We will continue the discussion with day to day uses, and a joint brainstorming of Linux developer uses, and justify Android-X86 as yet another X-less Linux distribution - until the time we add X to it...
As a special bonus, we will address how to make any app run using a user-QEMU based ARM translator (although we sure hope non "APP_ABI:=all" are quickly fading away from this world!)

avatar for Ron Munitz

Ron Munitz

Ron is an entrepreneur and a software development consultant, with long history developing performance and safety critical software, leading development groups, and training application and platform developers. He specializes in all aspects of distributed systems and Android internals... Read More →

Tuesday March 24, 2015 4:25pm - 6:15pm PDT
Ballroom Salon 3

5:25pm PDT

DroneAPI: A Tutorial on Drone Control - Kevin Hester, 3DRobotics
DroneAPI is a small API that provides simple 'high level' drone operations (go here, do this, etc...). The goal being to hide protocol 'plumbing' required to make drones do useful things. We will begin by describing the use-cases this open-source project is meant to address. We will then walk through the creation of a working application that can control drones (either in simulation or the real world). You will step out of the classroom with a working python program that can control a drone and guidelines for experimenting with drones in the field.

avatar for Kevin Hester

Kevin Hester

3D Robotics
Kevin Hester, Head of Platform Engineering, 3D Robotics -Kevin Hester is a developer on the DroneAPI toolkit and associated software projects (primarily Ardupilot, PX4, MAVProxy, and Droneshare). He's spoken on drone automation at Dronecon 2014. His engineering contributions include... Read More →

Tuesday March 24, 2015 5:25pm - 6:15pm PDT
Ballroom Salon 4
Wednesday, March 25

1:40pm PDT

Shrinking C Code - Rob Landley
Professionally developed code can often be shrunk to less than half its original size with a few simple techniques. For example, when the toybox "ifconfig" command was submitted (written by a professional team of experienced developers), the code was 1504 lines (44268 bytes) in 38 functions. After cleanup, the same code was 521 lines (15963 bytes) in 4 functions.

This is a walkthrough of each of the 26 commits applied to shrink that code to 1/3 of its original size, explaining why each change was made and the underlying principles of code simplification.


Rob Landley

Hobbyist & Geek, Hobbyist
I've been doing Linux for 20 years now. I maintain toybox and mkroot. I used to maintain busybox and the linux kernel Documentation directory and website. I wrote the initramfs documentation. I started the first GPL enforcement lawsuits, and created the 0BSD license to make up for... Read More →

Wednesday March 25, 2015 1:40pm - 3:30pm PDT
Ballroom Salon 5/6

2:40pm PDT

The Ephemeral Smoking Gun: Using ftrace and kgdb to Resolve a pthread 'deadlock' - Brad Mouring, National Instruments
What started as a failed call to pthread_mutex_lock() causing an embedded application crash ends in kernel debugging. Come and see the process of getting to the root cause of the problem with detailed discussions on the tools used to get there as we progress.

avatar for Brad Mouring

Brad Mouring

Senior Software Engineer, National Instruments
Brad has fiddled with Linux kernel development since 2005 and currently works at National Instruments in the LabVIEW Real-Time RTOS group. He joined the group when the decision was made for National Instruments to use Linux for their RTOS needs.

Wednesday March 25, 2015 2:40pm - 3:30pm PDT
Ballroom Salon 4