I may have just written about Linaro Connect San Diego 2019 schedule, but there’s another interesting event that will also take place this fall: the Embedded Linux Conference Europe on October 28 -30, 2019 in Lyon, France.
The full schedule was also published by the Linux Foundation a few days ago, so I’ll create a virtual schedule to see what interesting topics will be addressed during the 3-day event.
- 11:30 – 12:05 – Debian and Yocto Project-Based Long-Term Maintenance Approaches for Embedded Products by Kazuhiro Hayashi, Toshiba & Jan Kiszka, Siemens AG
In industrial products, 10+ years maintenance is required, including security fixes, reproducible builds, and continuous system updates. Selecting appropriate base systems and tools is necessary for efficient product development. Debian has been applied to industrial products because of its stability, long-term supports, and powerful tools for packages development.
The CIP Project, which provides scalable and customizable base image and BSP layers, is now used in various embedded devices. The speakers introduce the two different approaches to satisfy the requirements above: Deby and ISAR. Both provide simple but effective functions to customize and maintain Debian for embedded products.
This talk not only explains preferred use cases of each approach, how to apply to product development, and relation with other open-source projects but also how the CIP project supports building a sustainable industrial-grade Linux distribution.
- 12:20 – 12:55 – Fully Automated Power Measurement Solution Coupled with IC Temperature Control by Jerome Neanne, BayLibre & Pascal Mareau, NXP
Embedded Linux platforms power options are described by Operating Performance Points (OPPs). Creating those OPPs requires a laborious process known as characterization. Characterization is usually an extremely manual task.
When we were asked to define new low power OPP for the NXP iMX8MQ, we wanted to use our expertise in building custom silicon and automating software testing to create a better solution. What we built was a device to not just monitor but control the on-die temperature.
We’re calling that device the Thermo-regulated Power Measurement Platform (TPMP). It aggregates:
- Automated test framework
- Temperature control and regulation (Peltier)
- Power measurements (Baylibre ACME)
- Data post-processing
On top of being practical, compact, efficient and cheap compared to regular lab instruments, it’s also flexible and we are convinced this can be used more broadly by the community to address different needs. Let’s think of temperature control benefit in a power CI!
- 14:25 – 15:00 – Location Services and Direction Finding with Bluetooth by Martin Woolley, Bluetooth SIG
Bluetooth acquired a new capability in 2019. It’s now possible with suitable hardware, to calculate the direction a Bluetooth signal is being transmitted from, using one of two methods known as Angle of Arrival (AoA) or Angle of Departure (AoD). From this, it’s possible to accurately determine the location of the receiving device to within a matter of centimeters rather than meters. Proximity applications like Point of Interest (PoI) information systems and the classic “key finder” are all set to get very accurate and much easier to use. Positioning systems such as Real-Time Locating Systems (RTLS) and Way Finding will offer a level of precision, never before possible with Bluetooth.
Learn about this new Bluetooth feature and how it works under the hood, from the physics of radio waves upwards through the layers of the Bluetooth protocol stack.
- 15:15 – 15:50 – Linux Kernel Debugging: Going Beyond Printk Messages by Sergio Prado, Embedded Labworks
Debugging the Linux kernel with printk messages is a common technique. And sometimes a good one. The problem happens when we only know this debugging technique. How to debug a kernel oops message? How to trace and understand the kernel execution? How to identify and analyze a buffer overflow? How to identify a memory leak or a deadlock in kernel space?
In many situations, there are more effective debugging tools and techniques we could use to debug the kernel, including KGDB, ftrace, addr2line, kmemleak, and so on. In this presentation, we will go over these and many other very useful tools to identify and fix problems in the Linux kernel.
- 16:20 – 16:55 – AI/ML Deployment at the Edge by Andrea Gallo, Linaro
Arm and Linaro launched the AI initiative one year ago to collaborate on an open-source inference engine common to all Arm edge devices and support SoC specific NN acceleration via a plug-in back end framework.
The mlplatform.org platform hosts the upstream open source work for both Arm NN and the Arm Compute Libraries. The team, made up of engineers from Arm, Linaro, Qualcomm, TI, and other members, is deploying Arm NN and the Arm Compute Libraries in edge devices with support for the most widely used frameworks like Tensorflow, ONNX, etc.
Andrea Gallo, Linaro VP of Membership Development, will provide an overview of the ongoing activities to support multiple SoCs in Arm NN, set up CI and testing infrastructure, integrate into runtime frameworks and graph compilation technologies.
- 17:10 – 17:45 – Profiling CPU and Memory on Linux, with Opensource Graphical Tools by David Faure, KDAB
Finding out where your application is allocating memory, or where it’s spending a lot of CPU time — or even where it’s waiting for something, has never been easier. KDAB has developed two opensource tools for this. The first one is heaptrack, for memory profiling. The second one is hotspot, for CPU (and off-CPU) profiling, based on the powerful perf tools from the Linux kernel.
The great benefit of heaptrack and hotspot is that they have been designed for application developers, who don’t have to know all the internals of the Linux kernel just to profile their application. They provide graphical representations that make it quick and easy to spot where the problem is.
- 18:00 – 18:35 – BoF: Challenges of Low Spec Embedded Linux by Alexander Sack, Pantacor
By now, the Embedded Linux devices industry has shifted away from how to use Linux to make innovative, low cost and low spec solutions, towards a focus on using more powerful hardware to run more and more demanding applications.
While big specs will prevail over time, the low end will still be the one delivering the volume and the backbone of the consumer industry in today’s Linux devices ecosystem.
This BoF session is about bringing enthusiasts of low spec devices together to discuss their current challenges, identify common pain points and outline potential approaches that can help the Embedded Linux community to tackle these growing issues and solve these problems in a collaborative manner.
- 11:30 – 12:05 – One Build to Rule Them All: Building FreeRTOS & Linux Using Yocto by Alejandro Enedino & Hernandez Samaniego, Xilinx
Systems with a mix of architectures on a single device are commonly found on embedded products nowadays, where each processor provides different functionality; allowing developers to achieve great performance while minimizing power consumption and cost.
Where Linux can excel at providing driver compatibility, community support and availability of software packages, an RTOS such as FreeRTOS might be ideal to make important decisions guaranteeing maximum time to perform critical operations whilst requiring a smaller footprint.
Since both operating systems might be used on a single product, a single workflow to develop applications for them would be ideal, this talk will cover how, by using a meta-freertos layer and OpenEmbedded/Yocto, applications can be created (and tested) via classes and recipes for both FreeRTOS and Embedded Linux, along with the toolchain and an SDK.
To showcase its usage, a sample FreeRTOS application will be built with Yocto and run on QEMU during the talk.
- 12:20 – 12:55 – Overview of Universal Flash Storage Subsystem by Mohammad Faiz Abbas Rizvi, Texas Instruments India
Universal Flash Subsystem (UFS) is a next-generation managed NAND flash storage technology for portable devices like mobile phones and digital cameras. It is positioned as an improvement upon eMMC and SD cards by bringing higher transfer speeds and improved reliability in flash storage.
In this talk, Faiz will introduce UFS storage technology and how it improves upon older managed NAND systems like eMMC. This is followed by an overview of UFS implementation in the kernel and related tools to help developers write a new controller driver.
- 14:25 – 15:00 – Integrating Hardware-accelerated Video Decoding with the Display Stack by Paul Kocialkowski, Bootlin
In February 2018, Bootlin launched a crowdfunding campaign to fund the
development of upstream Linux kernel support for the hardware-accelerated
video decoder (VPU) found on Allwinner platforms. This work is part of
Bootlin’s larger ongoing effort to provide upstream Linux support for
Adding support for the VPU itself was a significant effort, involving a
whole new V4L2 API (the Request API) used on top of the existing M2M API,
codec-specific uAPI bits, a new driver (cedrus) as well as userspace
components such as a VAAPI backend and a test utility. However, the most
painful point turned out to be the integration of the decoded frames with
the various possible display pipelines.
This talk will introduce some context about hardware video decoding,
the work we carried out and the major issue we encountered with display
integration as well as lessons learned from the experience.
- 15:15 – 15:50 – A Dive into Zephyr Device Driver Model by Tomasz Bursztyka, Intel Corporation
Besides the kernel, the second most important part of an OS is how all peripherals are exposed to the user, finally enabling the OS to access the world outside of the CPU it is running on.
Zephyr solves this by proposing a very simple yet flexible device driver model,
deeply integrated with the device tree (DTS), making porting hardware to it efficient and easy.
Through real use cases and from a developer perspective, this model will be explained as well as the life cycle of a device driver, whether it is native or ported from an existing HAL.
- 16:20 – 16:55 – RPMsg to Accelerate Transition Between Multi-SoC and Multi-processor SoC Solutions by Loïc Pallardy & Arnaud Pouliquen, STMicroelectronics
In Modern SoCs, the inter-processor communication becomes a key element in the product conception, but its implementation depends on selected HW architecture as it could be based on:
- a shared memory for SoC integrating multi-processors
- serial links (UART, I2C, SPI…) in case of independent devices.
Product design can embed any of these solutions and can have to migrate from one to the other according to technology evolution. This implies inter-processor communication redesign. To simplify and accelerate this porting, STMicroelectronics proposes to extend the RPMsg protocol to unify internal and external coprocessors communication:
- A virtual serial link (TTY, I2C, SPI) on the top of current RSPMG, for internal SoC coprocessor control, similar to a standard HW link used to connect external devices
- RPMsg protocol (and associated features) on the top of HW serial link to unify external coprocessor service management with existing solutions used for the internal coprocessor.
- 17:10 – 17:45 – Device Tree: Past, Present, and Future by Neil Armstrong, BayLibre
Since the switch of the ARM Linux support from the stable PowerPC Device Tree support, it became an important piece of software used to describe all sorts of devices based on very different hardware architectures.
Currently, BSD* Unixes and even the Zephyr RTOS has switched to Device Tree to describe the hardware. U-boot has also a file format using the Device Tree blob format.
Neil will present you the history of Device Tree from its origins, how it has been used for ARM and now RISC-V from the PowerPC codebase, all the very different current usage and an overview of its future application and evolutions.
- 11:30 – 12:05 – Home Multimedia and Automation Systems with GStreamer by Jan Schmidt, Centricular Ltd
For quite a few years, Jan has been using GStreamer’s network synchronization features at home to build multimedia systems for distributed media playback.
This talk, however, will focus on his progress with an interesting and slightly difference use-case: Using the synchronization primitives in the other direction – to capture and process audio from microphones distributed around a house. Through triangulation and filtering, such a system can provide useful features like speaker isolation and echo-location for improved recognition and contextualization of spoken commands.
- 12:20 – 12:55 – The Hype Around the RISC-V Hypervisor by Alistair Francis & Anup Patel, Western Digital
RISC-V (pronounced “risk-five”) is an Instruction Set Architecture (ISA) that’s available under open, free and non-restrictive licenses. It is a clean and modular ISA where new features are added as optional extensions. The RISC-V hypervisor extension provides virtualization capabilities to a RISC-V CPU and it is designed considering both Type-1 and Type-2 hypervisors. In this talk, Alistair and Anup will explain the RISC-V Hypervisor extension, discuss how it was implemented in QEMU and talk about the RISC-V implementation of KVM.
Alistair will talk about the current state of the RISC-V Hypervisor Extensions in QEMU. This will include details about the implementation and design choices that were made. He will discuss what we currently have upstream and how this compares to the latest and proposed future specification versions. This will include all known limitations and proposed future work in the QEMU implementation. He will also talk about current out of tree work that is not yet ready to be submitted upstream and discuss how this can be upstreamed.
Anup will then explain KVM RISC-V internals and the road ahead for KVM RISC-V. Anup will also show a demo of KVM RISC-V using KVMTOOL.
- 14:25 – 15:00 – Running Linux on Constrained IOT Device by Rui Silva, Linaro & Tushar Khandelwal, Arm Ltd
It is often assumed that tiny IoT systems are too limited to run Linux, and a small operating system like Zephyr is a better choice. However, using a small OS means tradeoffs on functionality, and sometimes Linux would be a better fit. Some devices have enough resources that Linux is feasible if we can get the footprint down. This presentation will talk about the work we have been doing to do memory optimizations in Linux kernel and file systems and uses it to build an IoT device frameworks that run on a small platform with limited ram and XIP flash.
- 15:15 – 15:50 – Demystifying Linux MIPI DSI Subsystem by Jagan Teki, Amarula Solutions
The MIPI Display Serial Interface (MIPI DSI) is a versatile, high-speed interface for a variety of embedded solutions and it is the most common and widely used display interface.
Many users are moving to open source solutions and it becomes a daunting task for them to bring their LCD panels into working and usable state because of lack of technical documentation and guidelines for their vendor-specific panels along with associated DSI controllers. So, this talk will address those issues and challenges which are observed while working on Allwinner MIPI DSI controller with a variety of associated LCD panels, bridges by validating these interfaces via ARM Mali GPU.
This talk starts with a brief overview of Linux DRM subsystem with bounded display controller interfaces like HDMI, RGB, LVDS, and DSI and then the talk will add more details about Linux MIPI DSI controller, DPHY, DSI panel, DSI bridge interfaces drivers along with how these display drivers interact with GPU drivers.
- 16:15 – 16:50 – Best of Both Worlds: Building a Linux/Android Hybrid by Bernhard “Bero” Rosenkränzer, LinDev
Haven’t we all wished for a “real” Linux device in our pockets? Android is nice but doesn’t make it easy to launch vi, or better yet, an X or Wayland based application – but on the other hand, Android is where all the apps are…
This presentation looks into several approaches towards building a working Linux/Android hybrid that gives us the best of both worlds.
- 17:05 – 17:10 – Lightning Talk: Embedded Device Chameleons on Stage by Christian Alexander Sack, Pantacor
This is about how embedded device innovation can be done on software side alone by showing how a device originally coming out of factory using a Debian based OS can be morphed into a device running Android without a factory reinstall.
There will be some extra talks and workshops on Thursday and Friday in separate events, such as the CIP mini-summit, the Yocto Project summit, or Fossology workshop. Also note that many sessions happen at the same time (sometimes around 20), so you may want to check out the full schedule to find sessions that are most relevant to your interests.
If you plan to attend you’ll need to register and get one of the following pass:
- Early Bird – $ 800 through August 15 23:59 local
- Standard – $ 950 August 16 – September 22 23:59 local
- Late – $ 1,200 september 23 through event
- Hall Pass – $ 275 (keynote sessions, sponsor showcase, attendee onsite reception, and daily conference breakfast/breaks, not any of the regular sessions as listed above)
- Academic – $ 275 for students & faculty members
- Hobbyist – $ 275 for active members of the community who are paying for the pass themselves.