{"id":55,"date":"2016-10-23T22:17:43","date_gmt":"2016-10-23T22:17:43","guid":{"rendered":"http:\/\/lucaceresoli.net\/?page_id=55"},"modified":"2023-05-16T20:52:54","modified_gmt":"2023-05-16T20:52:54","slug":"talks","status":"publish","type":"page","link":"https:\/\/lucaceresoli.net\/it\/talks\/","title":{"rendered":"Presentazioni"},"content":{"rendered":"<p>In questa pagina sono raccolte alcune presentazioni che ho tenuto a vari eventi.<\/p>\n<p>I file sorgente di tutte le presentazioni sono disponibili sul <a href=\"https:\/\/github.com\/lucaceresoli\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">mio repository GitHub<\/a>.<\/p>\n<div id=\"pagetitles\">\n<h1>Basics of I\u00b2C on Linux<\/h1>\n<p>Abstract<\/p>\n<blockquote><p>This talk is an introduction to using I\u00b2C on embedded Linux devices. I\u00b2C (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.<\/p>\n<p>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.<\/p><\/blockquote>\n<p>Ho tenuto questa presentazione all&#8217;<a href=\"https:\/\/osseu2022.sched.com\/overview\/type\/Embedded+Linux+Conference+(ELC)\">Embedded Linux Conference Europe 2022<\/a> (<a href=\"https:\/\/osseu2022.sched.com\/event\/15z2e\/basics-of-i2c-on-linux-luca-ceresoli-bootlin\">pagina del talk<\/a>, <a href=\"https:\/\/bootlin.com\/pub\/conferences\/2022\/elce\/ceresoli-basics-of-i2c-on-linux\/ceresoli-basics-of-i2c-on-linux.pdf\">slides<\/a>, <a href=\"https:\/\/youtu.be\/g9-wgdesvwA\">video<\/a>).<\/p>\n<h1>License compliance for embedded Linux devices with Buildroot<\/h1>\n<\/div>\n<p>Abstract:<\/p>\n<blockquote>\n<div class=\"event-blurb\">\n<div class=\"event-abstract\">\n<div class=\"event-blurb\">\n<div class=\"event-abstract\">\n<p>Producing a Linux-based electronic device requires to put together lots of open source software packages, which is a complex task.<\/p>\n<p>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.<\/p>\n<p>Discover how your build system can help you!<\/p>\n<\/div>\n<div class=\"event-description\">\n<p>With live demos, Luca will introduce you to:<\/p>\n<ul>\n<li>how Buildroot builds all the needed software components in a simple way;<\/li>\n<li>which are the obligations for the most common licenses;<\/li>\n<li>what Buildroot can (and what it cannot) do to help you in being compliant.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"https:\/\/fosdem.org\/2020\/\">FOSDEM 2020<\/a> (<a href=\"https:\/\/fosdem.org\/2020\/schedule\/event\/buildroot_license_compliance\/\">pagina del talk<\/a>, <a href=\"https:\/\/lucaceresoli.net\/wp-content\/uploads\/buildroot-legal-info.pdf\">slides<\/a>).<\/p>\n<h1>Supporting Video (de)serializers in Linux: Challenges and Works in Progress<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>The I2C address translation available in some chips, and how to model it in the kernel, will also be covered.<\/p><\/blockquote>\n<p>Ho tenuto questa presentazione all&#8217;<a href=\"https:\/\/events19.linuxfoundation.org\/events\/embedded-linux-conference-europe-2019\/\">Embedded Linux Conference Europe 2019<\/a> (<a href=\"https:\/\/sched.co\/WGiC\">pagina del talk<\/a>, <a href=\"https:\/\/elinux.org\/ELC_Europe_2019_Presentations\">elinux.org wiki<\/a>, <a href=\"https:\/\/lucaceresoli.net\/wp-content\/uploads\/video-serdes-linux.pdf\">slides<\/a>).<\/p>\n<h1>Buildroot vs Yocto: Differences for Your Daily Job<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>Buildroot and Yocto, the two leading embedded Linux buildsystems, have largely overlapping goals but vastly different implementations.<\/p>\n<p>Perhaps you&#8217;re familiar with either, and wonder how your daily job would change if you used the other.<\/p>\n<p>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.<\/p>\n<p>He will give a sort of &#8220;translation table&#8221; 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.<\/p><\/blockquote>\n<p>Ho tenuto questa presentazione:<\/p>\n<ul>\n<li>all&#8217;<a href=\"https:\/\/events.linuxfoundation.org\/events\/elc-openiot-europe-2018\/\">Embedded Linux Conference Europe 2018<\/a> (<a href=\"https:\/\/sched.co\/FwGQ\">pagina del talk<\/a>, <a href=\"https:\/\/elinux.org\/ELC_Europe_2018_Presentations#Day_1_Presentations\">elinux.org wiki<\/a>, <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/buildroot-yocto-daily.pdf\">slides<\/a>)<\/li>\n<li>a <a href=\"https:\/\/2018.linux-lab.it\/\">Linux-Lab 2018<\/a> (<a href=\"http:\/\/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 \">pagina del talk<\/a>)<\/li>\n<\/ul>\n<h1>Buildroot \u2014 Making Embedded Linux Easy<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>Buildroot permette di generare tutto il software necessario per un sistema Linux Embedded.<\/p>\n<p>In questo workshop pratico esploreremo i suoi princ\u00ecpi di funzionamento, lo useremo per dar vita da zero ad un sistema embedded e personalizzarlo aggiungendo componenti.<\/p><\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"https:\/\/bglug.it\/linux-day-2018\/programma-linux-day-2018\/\">Linux Day 2018<\/a> (<a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/buildroot-intro.pdf\">slides<\/a>).<\/p>\n<h1>ARM64 + FPGA and more: Linux on the Xilinx ZynqMP<\/h1>\n<p>Abstract:<\/p>\n<blockquote>\n<div class=\"event-blurb\">\n<div class=\"event-abstract\">\n<p>Lo Xilinx Zynq UltraScale+ MPSoC (o pi\u00f9 brevemente ZynqMP) \u00e8 un potente e complesso chip, dotato di core a 64 bit, core real-time a 32 bit, FPGA, una GPU, video codec e unit\u00e0 dedicate per power management e sicurezza.<\/p>\n<p>Luca presenter\u00e0 brevemente l&#8217;architettura hardware e ci\u00f2 in cui si distingue da altri System-on-Chip.<\/p>\n<p>Poi spiegher\u00e0 in dettaglio come Linux pu\u00f2 sfruttare appienole risorse di questo SoC. Verr\u00e0 descritto in dettaglio come sfruttare l&#8217;FPGA e come fare il boot. Verr\u00e0 descritto anche l&#8217;uso degli acceleratori hardware ed il supporto software.<\/p>\n<\/div>\n<\/div>\n<\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"https:\/\/fosdem.org\/2018\/\">FOSDEM 2018<\/a> (<a href=\"https:\/\/fosdem.org\/2018\/schedule\/event\/arm64_and_fpga\/\">pagina del talk<\/a>, <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/zynqmp-linux.pdf\">slides<\/a>).<\/p>\n<h1>Build Automation: introduzione a Make, Autotools e CMake<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>Tradurre il codice sorgente (ad esempio C o C++) in un eseguibile richiede vari passi: ricerca delle librerie, compilazione, linking&#8230; Come automatizzarli? Quali strumenti sono pi\u00f9 adatti per un software open source? Scopriamo i tre pi\u00f9 usati: Make, Autotools e CMake.<\/p><\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"https:\/\/bglug.it\/linux-day-2017\/\">Linux Day 2017<\/a> (<a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/make-autotools-cmake.pdf\">slides<\/a>).<\/p>\n<h1>How I survived to a SoC with a terrible Linux BSP<\/h1>\n<p>Abstract:<\/p>\n<blockquote>\n<div class=\"event-abstract\">\n<p>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\u00f9 difficile senza un motivo apparnte.<\/p>\n<p>Luca condivider\u00e0 alcune delle sue esperienze con questi BSP, come kernel giurassici, driver non funzionanti, bootloader inesistenti, codice di pessima qualit\u00e0, supporto tecnico inefficace e strumenti di sviluppo disponibili solo per Windows.<\/p>\n<p>Scoprirete perch\u00e9 ha speso settimane nel capire, aggiustare e aggirare il BSP anzich\u00e9 usarlo. Verranno anche descritti gli effetti sulla qualit\u00e0 finale del prodotto.<\/p>\n<p>infine Luca presenter\u00e0 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.<\/p>\n<\/div>\n<\/blockquote>\n<p>Ho tenuto questo talk:<\/p>\n<ul>\n<li>al <a href=\"https:\/\/fosdem.org\/2017\/\">FOSDEM 2017<\/a> nella Embedded, mobile and automotive devroom (<a href=\"https:\/\/fosdem.org\/2017\/schedule\/event\/terrible_bsp\/\">pagina talk<\/a>, <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/terrible-bsp.pdf\">slides<\/a>)<\/li>\n<li>a <a href=\"http:\/\/events.linuxfoundation.org\/events\/archive\/2017\/embedded-linux-conference-europe\">ELC-E 2017<\/a>, leggermente modificata (<a href=\"https:\/\/osseu17.sched.com\/event\/ByYY?iframe=no\">pagina del talk<\/a>, <a href=\"https:\/\/elinux.org\/ELC_Europe_2017_Presentations\">elinux.org wiki<\/a>, <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/ceresoli-terrible-bsp-elce2017.pdf\">slides<\/a>)<\/li>\n<\/ul>\n<h1>Programmazione a oggetti in C nel kernel di Linux<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>La programmazione a oggetti \u00e8 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\u00f2 funzionare ad oggetti senza il supporto del linguaggio in cui \u00e8 scritto. Scopriremo anche come funziona un compilatore C++.<\/p><\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"http:\/\/www.bglug.it\/linux-day-2016\/\">Linux Day 2016<\/a>.<\/p>\n<p>Puoi scaricare <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/oop-c-kernel.pdf\" rel=\"\">le slides<\/a> (PDF).<\/p>\n<h1>Elaborazione dati dalla riga di comando<\/h1>\n<p>Abstract:<\/p>\n<blockquote><p>La &#8220;command line&#8221; di Linux \u00e8 un &#8220;coltellino svizzero&#8221; di strumenti che possono essere combinati insieme in infiniti modi. Usiamoli insieme per elaborare, filtrare e modificare grandi moli di informazioni al volo.<\/p><\/blockquote>\n<p>Ho tenuto questo talk durante il <a href=\"http:\/\/www.bglug.it\/linux-day-2016\/\">Linux Day 2016<\/a>.<\/p>\n<p>Puoi scaricare <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/text-processing-cmdline.pdf\" rel=\"\">le slides<\/a> (PDF).<\/p>\n<h1>Linux e Circuiti elettronici con Scratch e Raspberry Pi<\/h1>\n<p>Si tratta di una lezione creata per far conoscere a ragazzi delle scuole medie come l&#8217;informatica si pu\u00f2 utilizzare per far funzionare un circuito elettronico. Nell&#8217;arco di un&#8217;ora ho mostrato come far funzionare ed automatizzare un semaforo intelligente grazie a Scratch su Raspberry Pi.<\/p>\n<p>Ho tenuto questa lezione ad alcune classi dell&#8217;I.C. di Albino nell&#8217;ottobre 2016.<\/p>\n<p>Puoi scaricare <a href=\"http:\/\/lucaceresoli.net\/wp-content\/uploads\/scratch-gpio.pdf\">le slides<\/a> (PDF).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u00b2C on Linux Abstract This talk is an introduction to using I\u00b2C on embedded Linux devices. I\u00b2C (or I2C) is a simple but flexible electronic bus to &#8230; <a title=\"Presentazioni\" class=\"read-more\" href=\"https:\/\/lucaceresoli.net\/it\/talks\/\" aria-label=\"Leggi di pi\u00f9 su Presentazioni\">Leggi tutto<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"translation":{"provider":"WPGlobus","version":"2.12.2","language":"it","enabled_languages":["en","it"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"it":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/pages\/55"}],"collection":[{"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":27,"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/pages\/55\/revisions"}],"predecessor-version":[{"id":260,"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/pages\/55\/revisions\/260"}],"wp:attachment":[{"href":"https:\/\/lucaceresoli.net\/it\/wp-json\/wp\/v2\/media?parent=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}