Presentazioni

In questa pagina sono raccolte alcune presentazioni che ho tenuto a vari eventi.

I file sorgente di tutte le presentazioni sono disponibili sul mio repository GitHub.

Basics of I²C on Linux

Abstract

This talk is an introduction to using I²C on embedded Linux devices. I²C (or I2C) is a simple but flexible electronic bus to allow low-speed communication between the CPU and all sorts of chips: PMICs, ADC/DACs, GPIO expanders, video sensors, audio codecs, EEPROMS, RTCs and many more. It is so popular that knowing it is a must for any embedded system engineer.

Luca will first give an introduction to what I2C is at the electrical level. He will then describe how I2C is implemented in the Linux kernel driver model and how that appears in sysfs, how to describe I2C devices using device tree and how to write a driver for an I2C device. Finally he will present the tools to communicate with the chips from userspace and share some debugging techniques, including inspection of the physical bus and software-level debugging.

Ho tenuto questa presentazione all’Embedded Linux Conference Europe 2022 (pagina del talk, slides, video).

License compliance for embedded Linux devices with Buildroot

Abstract:

Producing a Linux-based electronic device requires to put together lots of open source software packages, which is a complex task.

Complying to the licensing obligations for each of them is also complex, especially if you are not a lawyer. Not complying is immoral, illegal and risky.

Discover how your build system can help you!

With live demos, Luca will introduce you to:

  • how Buildroot builds all the needed software components in a simple way;
  • which are the obligations for the most common licenses;
  • what Buildroot can (and what it cannot) do to help you in being compliant.

Ho tenuto questo talk durante il FOSDEM 2020 (pagina del talk, slides).

Supporting Video (de)serializers in Linux: Challenges and Works in Progress

Abstract:

Video serializer and deserializer chipsets are more and more used in embedded Linux systems to transmit raw video at several meters distance. Yet the kernel still lacks support for them, despite the attempts seen so far.

Luca will give an overview of the existing chips and the current mainlining attempts. He will then introduce the peculiar requirements of his application and the idea behind his implementation effort.

Special attention will be given to the current limitations of V4L2 and Device Tree that prevent to fully exploit the hotplug features of the chips, and how they influenced his implementation.

The I2C address translation available in some chips, and how to model it in the kernel, will also be covered.

Ho tenuto questa presentazione all’Embedded Linux Conference Europe 2019 (pagina del talk, elinux.org wiki, slides).

Buildroot vs Yocto: Differences for Your Daily Job

Abstract:

Buildroot and Yocto, the two leading embedded Linux buildsystems, have largely overlapping goals but vastly different implementations.

Perhaps you’re familiar with either, and wonder how your daily job would change if you used the other.

Luca will share insights he gained while managing projects with both tools, spending a lot of time in learning how to achieve the same goals in a different way.

He will give a sort of “translation table” to ease the transition between the two, covering: bootstrapping a project, what happens under the hood, invoking the build, customizing the rootfs and tweaking recipes.

Ho tenuto questa presentazione:

Buildroot — Making Embedded Linux Easy

Abstract:

Buildroot permette di generare tutto il software necessario per un sistema Linux Embedded.

In questo workshop pratico esploreremo i suoi princìpi di funzionamento, lo useremo per dar vita da zero ad un sistema embedded e personalizzarlo aggiungendo componenti.

Ho tenuto questo talk durante il Linux Day 2018 (slides).

ARM64 + FPGA and more: Linux on the Xilinx ZynqMP

Abstract:

Lo Xilinx Zynq UltraScale+ MPSoC (o più brevemente ZynqMP) è un potente e complesso chip, dotato di core a 64 bit, core real-time a 32 bit, FPGA, una GPU, video codec e unità dedicate per power management e sicurezza.

Luca presenterà brevemente l’architettura hardware e ciò in cui si distingue da altri System-on-Chip.

Poi spiegherà in dettaglio come Linux può sfruttare appienole risorse di questo SoC. Verrà descritto in dettaglio come sfruttare l’FPGA e come fare il boot. Verrà descritto anche l’uso degli acceleratori hardware ed il supporto software.

Ho tenuto questo talk durante il FOSDEM 2018 (pagina del talk, slides).

Build Automation: introduzione a Make, Autotools e CMake

Abstract:

Tradurre il codice sorgente (ad esempio C o C++) in un eseguibile richiede vari passi: ricerca delle librerie, compilazione, linking… Come automatizzarli? Quali strumenti sono più adatti per un software open source? Scopriamo i tre più usati: Make, Autotools e CMake.

Ho tenuto questo talk durante il Linux Day 2017 (slides).

How I survived to a SoC with a terrible Linux BSP

Abstract:

Solitamente i produttori di System-on-Chip forniscono un Board Support Package (BSP) come base per sviluppare il software per un dispositivo Linux embedded. Ma spesso sembrano non capire cosa serve ai progettisti software e forniscono qualcosa che rende la loro vita più difficile senza un motivo apparnte.

Luca condividerà alcune delle sue esperienze con questi BSP, come kernel giurassici, driver non funzionanti, bootloader inesistenti, codice di pessima qualità, supporto tecnico inefficace e strumenti di sviluppo disponibili solo per Windows.

Scoprirete perché ha speso settimane nel capire, aggiustare e aggirare il BSP anziché usarlo. Verranno anche descritti gli effetti sulla qualità finale del prodotto.

infine Luca presenterà le possibili opzioni per chi deve usare un BSP simile e cosa hacker e produttori di SoC possono fare per migliorare la situazione a vantaggio di tutti.

Ho tenuto questo talk:

Programmazione a oggetti in C nel kernel di Linux

Abstract:

La programmazione a oggetti è un must per un software complesso. Pur essendo scritto in C, il kernel di Linux non fa eccezione. Guardiamo nei suoi file sorgente come può funzionare ad oggetti senza il supporto del linguaggio in cui è scritto. Scopriremo anche come funziona un compilatore C++.

Ho tenuto questo talk durante il Linux Day 2016.

Puoi scaricare le slides (PDF).

Elaborazione dati dalla riga di comando

Abstract:

La “command line” di Linux è un “coltellino svizzero” di strumenti che possono essere combinati insieme in infiniti modi. Usiamoli insieme per elaborare, filtrare e modificare grandi moli di informazioni al volo.

Ho tenuto questo talk durante il Linux Day 2016.

Puoi scaricare le slides (PDF).

Linux e Circuiti elettronici con Scratch e Raspberry Pi

Si tratta di una lezione creata per far conoscere a ragazzi delle scuole medie come l’informatica si può utilizzare per far funzionare un circuito elettronico. Nell’arco di un’ora ho mostrato come far funzionare ed automatizzare un semaforo intelligente grazie a Scratch su Raspberry Pi.

Ho tenuto questa lezione ad alcune classi dell’I.C. di Albino nell’ottobre 2016.

Puoi scaricare le slides (PDF).

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close