Embedded, Mobile and Automotive

From Reset Vector to Kernel

Navigating the ARM Matryoshka
D.embedded
Ahmad Fatoum
Long gone are the times of executing the OS in-place from memory-mapped flash upon reset. A modern SoC now comes with complex mask ROM firmware, with driver, filesystem, protocol and crypto support for loading... yet another bootloader. In his talk, Ahmad follows this chain of bootloaders until the kernel is started, stopping along the way for RAM setup, peripherial initialization, runtime services and other interesting sights.
Getting acquainted with the bootstrap process on a modern ARM-based SoC can be an intimidating task: Documentation speaks of Boot ROM, blobs, SPL, secure monitor, trusted execution environment, Open Firmware Device Trees all interacting with each other and with a bootloader to facilitate kernel boot. The talk intends to shed some light onto this. Starting with an overview of the bare minimum needed to bootstrap an i.MX8M, it retraces the steps of the barebox bootloader, and firmware loaded by it, until Linux eventually takes over.

Additional information

Type devroom

More sessions

2/6/21
Embedded, Mobile and Automotive
Michael Opdenacker
D.embedded
Join and discover how to build your own embedded Linux system completely from scratch. You will build your own toolchain, bootloader and kernel, that you will run on system with the new Risc-V open Instruction Set Architecture emulated by QEMU. You will also build a minimal root filesystem by yourself thanks to the BusyBox project. You will finish by controlling the system through a tiny webserver. The approach will be to provide only the files that are strictly necessary. That's all the ...
2/6/21
Embedded, Mobile and Automotive
Alejandro Piñeiro
D.embedded
Igalia has been developing a new open source Mesa driver for the Raspberry Pi 4 since December 2019. This talk will discuss the development story and current status of the driver, provide a high level overview of the major design elements, discuss some of the challenges we found in bringing specific aspects of Vulkan 1.0 to the V3D GPU platform and finally, talk about future plans and how to contribute to the on-going development effort.
2/6/21
Embedded, Mobile and Automotive
Michael Tretter
D.embedded
The Xilinx ZynqMP SoC includes a powerful H.264/H.265 Video Codec Unit (VCU) which Xilinx supports with an out-of-tree driver and user space library. The allegro driver from mainline Linux allows to use the VCU using the standard V4L2 encoder API without requiring any custom user space. I will explain why I wrote the driver, show how the VCU is used from a driver perspective, and present the current state of the driver and which features are still missing.
2/6/21
Embedded, Mobile and Automotive
D.embedded
TerosHDL is an open source project focused in the development and integration of EDA tools in an IDE. It's currently based on VSCode and Atom. The goal of TerosHDL is bringing all facilities of software code tools to the HDL development: linter, code completion, simulators management, automate documentation, snippets…
2/6/21
Embedded, Mobile and Automotive
Cyril Hrubis
D.embedded
MutantC is a open source and open hardware shell for a RPi form factor boards. It includes hardware keyboard, sliding display with touchscreen, battery with charging circuit, etc. This short talk will be introduction of the project, it's goals and of the v3 hardware revision.
2/6/21
Embedded, Mobile and Automotive
Stefan Schmidt
D.embedded
Breaking hardware boundaries, transcending the classic dichotomy of an OS, this is what OpenHarmony is about. Catering the needs from tiny sensors up to powerful systems, from edge to cloud. In this presentation Stefan will address questions every FOSS developer will have, when hearing about OpenHarmony for the first time. If you are curious about the architecture, used FOSS projects, or want to know more about contribution guidelines and start picking in the code this talk would be a good ...
2/7/21
Embedded, Mobile and Automotive
Maxime Chevallier
D.embedded
The networking stack is one of the most complex and optimized subsystem in the Linux kernel, and for a good reason. Between the wild range of applications, the complexity and variety of the networking hardware, getting good performances while keeping the stack easily usable from userspace has been a long-standing challenge. Nowadays, complex Network Interface Controllers (NICs) can be found even on small embedded systems, bringing powerful features that were previously found only in the server ...