Improving the Beaglebone Board with Embedded Ubuntu, Enhanced GPMC Driver and Python for Communication and Graphical Prototypes

Total Page:16

File Type:pdf, Size:1020Kb

Improving the Beaglebone Board with Embedded Ubuntu, Enhanced GPMC Driver and Python for Communication and Graphical Prototypes Final Master Thesis Improving the BeagleBone board with embedded Ubuntu, enhanced GPMC driver and Python for communication and graphical prototypes By RUBÉN GONZÁLEZ MUÑOZ Directed by MANUEL M. DOMINGUEZ PUMAR FINAL MASTER THESIS 30 ECTS, JULY 2015, ELECTRICAL AND ELECTRONICS ENGINEERING Abstract Abstract BeagleBone is a low price, small size Linux embedded microcomputer with a full set of I/O pins and processing power for real-time applications, also expandable with cape pluggable boards. The current work has been focused on improving the performance of this board. In this case, the BeagleBone comes with a pre-installed Angstrom OS and with a cape board using a particular software “overlay” and applications. Due to a lack of support, this pre-installed OS has been replaced by Ubuntu. As a consequence, the cape software and applications need to be adapted. Another necessity that emerges from the stated changes is to improve the communications through a GPMC interface. The depicted driver has been built for the new system as well as synchronous variants, also developed and tested. Finally, a set of applications in Python using the cape functionalities has been developed. Some extra graphical features have been included as example. Contents Contents Abstract ..................................................................................................................................................................................... 5 List of figures .......................................................................................................................................................................... 7 List of tables ............................................................................................................................................................................ 9 2 Introduction ...................................................................................................................................................................... 11 2.1 Work done before .................................................................................................................................................. 12 2.2 Scope ........................................................................................................................................................................... 12 3 Internet of Things ........................................................................................................................................................... 13 3.1 Internet of Things .................................................................................................................................................. 13 3.2 Embedded systems ............................................................................................................................................... 13 3.3 Single Board Computers ..................................................................................................................................... 14 3.3.1 Arduino .............................................................................................................................................................. 15 3.3.2 Raspberry Pi .................................................................................................................................................... 16 3.3.3 Other boards .................................................................................................................................................... 17 4 BeagleBone........................................................................................................................................................................ 20 4.1 Description ............................................................................................................................................................... 20 4.2 Device tree ................................................................................................................................................................ 21 4.2.1 Device Tree Blob ............................................................................................................................................ 22 4.2.2 Device Tree Overlay ..................................................................................................................................... 23 4.3 Laboratory Cape TT01v1 .................................................................................................................................... 24 5 Methodologies and development ............................................................................................................................ 27 5.1 Brief ............................................................................................................................................................................. 27 5.2 Setting up the development environment ................................................................................................... 27 5.2.1 Virtual machines ............................................................................................................................................ 28 5.2.2 Cross compiling .............................................................................................................................................. 32 5.3 Ubuntu embedded ................................................................................................................................................. 34 5.3.1 From Angstrom to Ubuntu ........................................................................................................................ 34 5.3.2 Build for Ubuntu 3.8 RCN Kernel ............................................................................................................ 36 5.3.3 Alternative builds of Ubuntu. Kernel 3.14 in ARMhf ...................................................................... 41 5.3.4 Some improvements .................................................................................................................................... 45 5.4 GPMC driver ............................................................................................................................................................. 46 5.4.1 First approach to the cross-compilation .............................................................................................. 46 5.4.2 Compiling the simple module driver beginning ............................................................................... 47 5.4.3 General Purpose Memory Controller GPMC ....................................................................................... 50 - 5 - 5.4.4 Asynchronous GPMC .................................................................................................................................... 51 5.4.5 Synchronous GPMC ....................................................................................................................................... 56 5.4.6 Burst GPMC ...................................................................................................................................................... 59 5.5 Cape programs ........................................................................................................................................................ 63 5.5.1 Previous work: regenerate the cape EPROM contents .................................................................. 63 5.5.2 Building the cape programs ...................................................................................................................... 64 5.5.3 Inspection of the cape programs behavior in the new environment ....................................... 65 5.5.4 Integrating both cape-bone-TT01v1 and cape-bone-iio capes .................................................. 66 5.5.5 Adapting the cape programs ..................................................................................................................... 69 5.6 Python ......................................................................................................................................................................... 69 5.6.1 Introducing Python ....................................................................................................................................... 69 5.6.2 Adafruit Python modules for BeagleBone ........................................................................................... 70 5.6.3 Installing Python and Python modules ................................................................................................ 71 5.6.4 Writing TT01 Cape programs to Python. Adafruit modules ........................................................ 71 5.6.5 Introducing graphics in the BeagleBone .............................................................................................. 82 6. Results ................................................................................................................................................................................ 91 6.1. Ubuntu system ....................................................................................................................................................... 91 6.1.1 Getting into Embedded Ubuntu ............................................................................................................... 91 6.1.2 Startup process..............................................................................................................................................
Recommended publications
  • Shorten Device Boot Time for Automotive IVI and Navigation Systems
    Shorten Device Boot Time for Automotive IVI and Navigation Systems Jim Huang ( 黃敬群 ) <[email protected]> Dr. Shi-wu Lo <[email protected]> May 28, 2013 / Automotive Linux Summit (Spring) Rights to copy © Copyright 2013 0xlab http://0xlab.org/ [email protected] Attribution – ShareAlike 3.0 Corrections, suggestions, contributions and translations You are free are welcome! to copy, distribute, display, and perform the work to make derivative works Latest update: May 28, 2013 to make commercial use of the work Under the following conditions Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/3.0/legalcode Goal of This Presentation • Propose a practical approach of the mixture of ARM hibernation (suspend to disk) and Linux user-space checkpointing – to shorten device boot time • An intrusive technique for Android/Linux – minimal init script and root file system changes are required • Boot time is one of the key factors for Automotive IVI – mentioned by “Linux Powered Clusters” and “Silver Bullet of Virtualization (Pitfalls, Challenges and Concerns) Continued” at ALS 2013 – highlighted by “Boot Time Optimizations” at ALS 2012 About this presentation • joint development efforts of the following entities – 0xlab team - http://0xlab.org/ – OSLab, National Chung Cheng University of Taiwan, led by Dr.
    [Show full text]
  • Connecting Peripheral Devices to a Pandaboard Using
    11/16/2012 MARK CONNECTING PERIPHERAL DEVICES TO A BIRDSALL PANDABOARD USING PSI This is an application note that will help somebody use the Serial Programming Interface that is available on the OMAP-based PandaBoard’s expansion connector and also explains how use the SPI to connect with a real-time clock (RTC) chip. Ever since the PandaBoard came out, there has been a community of eager programmers constructing creative projects and asking questions about where else and what more they could do to extend the PandaBoard’s abilities. This application note will document a way to connect devices to a OMAP-based devise like a PandaBoard What is the Serial Programming Interface “Serial Programming Interface” (SPI) is a simple standard that was developed my Motorola. SPI can also be called “4-wire” interface (as opposed to 1, 2 or 3-wire serial buses) and it is sometimes referred to like that because the interface has four wires defined. The first is Master- Out-Slave-In (MOSI) and the second is the Master-In-Slave-Out (MISO). There is also a Serial Clock from the Master (SCLK) and a Chipselect Signal (CS#) which can allow for more than one slave devise to be able to connect with one master. Why do we want to use the SPI? There are various ways to connect a peripheral device to the PandaBoard like USB, SPI, etc... and SPI has some advantages. Using the Serial Programming Interface costs less in terms of power usage and it is easy to connect different devises to the PandaBoard and also to debug any problems that occur all while maintaining an acceptable performance rate.
    [Show full text]
  • Deliverable D4.1
    Deliverable D4.1 – State of the art on performance and power estimation of embedded and high-performance cores Anastasiia Butko, Abdoulaye Gamatié, Gilles Sassatelli, Stefano Bernabovi, Michael Chapman, Philippe Naudin To cite this version: Anastasiia Butko, Abdoulaye Gamatié, Gilles Sassatelli, Stefano Bernabovi, Michael Chapman, et al.. Deliverable D4.1 – State of the art on performance and power estimation of embedded and high- performance cores. [Research Report] LIRMM (UM, CNRS); Cortus S.A.S. 2016. lirmm-03168326 HAL Id: lirmm-03168326 https://hal-lirmm.ccsd.cnrs.fr/lirmm-03168326 Submitted on 12 Mar 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Project Ref. Number ANR-15-CE25-0007 D4.1 – State of the art on performance and power estimation of embedded and high-performance cores Version 2.0 (2016) Final Public Distribution Main contributors: A. Butko, A. Gamatié, G. Sassatelli (LIRMM); S. Bernabovi, M. Chapman and P. Naudin (Cortus) Project Partners: Cortus S.A.S, Inria, LIRMM Every effort has been made to ensure that all statements and information contained herein are accurate, however the Continuum Project Partners accept no liability for any error or omission in the same.
    [Show full text]
  • Setting up Odroid C2 – Throughtput Testing
    Throughput Testing Single-Board Computer for Wireless LAN Professionals Setting up Odroid C2 As Test End-Point Inventory Project Items Unpack and knoll the following items ❑ Impact Strong 5200 mAh USB Battery o And it has a flashlight as well! ❑ USB Micro Power Cable (comes with Battery) ❑ Micro SD Card to eMCC adapter (Blueish green) ❑ eMCC Memory Card (small with Red label) ❑ Transcend USB 3.0 SD Card Reader ❑ Odroid Wi-Fi 4 NIC – (Black) ❑ USB ‘U-bend’ Adaper (Black ❑ Odroid C2 – Single Board Computer ❑ #WLPC_EU USB Drive (has the Image) ❑ Odroid Case Kit (Black) Later we will have you use as part of the testing (not in your own kit) • Small Phillips Screwdriver (to assemble your case) • Short Ethernet Cable (to test your unit when attached to a switch port) ❑ If you are running Windows copy the Win32DiskImager-0.9.5-binary executable as well. If you are running Windows follow the Windows directions, if Mac OS – move to the Mac OS directions. Mac OS Version Configure Image ❑ Copy Image File from the #WLPC_EU USB drive (in the Odroid for #WLPC_EU folder) to your Desktop… the file name is DietPi_v133_OdroidC2-arm64- (WLAN_PRO) ❑ Open Image File – Boot Drive ❑ Should have a Folder Call “Boot” ❑ Find the dietpi.txt We are changing setting so your Odroid device can join a local SSID and download more files we’ll need. ❑ Under the Wi-Fi Details section change the Wi-Fi SSID to WLPC_EU-01 with a PSK of password. #Enter your Wifi details below, if applicable (Case Sensitive). Wifi_SSID=WLPC_EU-01 Wifi_KEY=password ❑ Under WiFi Hotspot Settings,
    [Show full text]
  • Cubietruck – Mini PC
    SPRZĘT Cubietruck – mini PC Rynek komputerków jednopłytkowych opartych o procesory ARM zapoczątkowany przez Raspberry Pi rozwija się doskonale. Może nie jak grzyby po deszczu, ale systematycznie pojawiają się nowe rozwiązania: BeagleBoard, Marsboard, Cubieboard, Olinuxino itp. Różnią się one wyposażeniem, wydajnością, dostępnością dokumentacji oraz wsparciem technicznym. Ciekawie rozwija się propozycja Cubieboard. mocujących. Niby nic, ale te trzy kawałki two- org, zapoczątkowana płytką Cubieboard A10 rzywa i paczka tulejek umożliwiają poskładanie Fotografi a 3. Obudowa Cubietruck (opisaną w EP06/2013) i Cubieboard2 zgod- samodzielnego systemu mini-PC wyposażo- ną mechanicznie, ale zbudowaną w oparciu nego w dysk HDD 2,5”, wystarczająco zabez- rolę domowego centrum multimedialnego lub o nowszy, dwurdzeniowy procesor A20, zwięk- pieczając mechanicznie jego elementy. Osłony Linuxowego komputera PC. Jedyne zastrzeżenie szający wydajność Cubie i paletę jej zastosowań w odpowiednich miejscach mają wyfrezowane można mieć do kilku różnokolorowych LED, (fotografi a 1). Najnowsza propozycja to Cubie- otwory umożliwiające korzystanie z GPIO bez bezlitośnie informujących nasze oczy o stanie truck (Cubieboard3), oparty podobnie jak Cu- zdejmowania obudowy. pracy Cubie. bieboard2 (fotografi a 2) o procesor Allwinner Ciekawą propozycją dla osób wykorzy- Cubieboard3 oparty jest o SoC w architektu- A20, lecz mający znacznie bogatsze wyposaże- stujących Cubieboard3 w roli samodzielnego rze ARM7 – Allwinner A20, który w połączeniu nie, co niestety wiąże się z wyższą ceną. Porów- mini-PC, jest pełna obudowa pokazana na fo- ze sporej wielkości dyskiem NAND Flash oraz nanie parametrów poszczególnych komputer- tografi i 3. W swoim wnętrzu mieści swobodnie zwiększoną pamięcią RAM bezproblemowo ków Cubieboard umieszczono w tabeli 1. płytkę Cubieboard3, dysk HDD 2,5” (fotogra- sprawdza się w roli komputera PC pracującego Podobnie jak w przypadku poprzednich fi a 4) i przewody połączeniowe.
    [Show full text]
  • Wakefield 2006 RISC OS Computer Show
    I would like to welcome you all to this, our eleventh annual show in Wakefield. There have been many ups and downs over the last eleven years, since the first show at Cedar Court, organised in thirteen weeks, which ended up taking over the entire hotel. Ever since then, we have been at our current venue of Thornes Park. Over the years we have had many interesting attractions and features, such as the guest appearance by Johnny Ball one year. Of course, the show has seen many new hardware and software launches and previews over the years, some more successful then others: Kinetic, Peanut, Phoebe, StrongARM, Vantage, RiScript and so on. In fact, this year it is ten full years since we saw the very first StrongARM at the first Wakefield Show, as well as being the 25th Anniversary of the BBC Micro! Even now, we still have people developing for this famous microcomputer, which helped to start the home computer revolution. Be sure to visit both the JGH BBC Software and Domesday System stands during your visit. The Domesday Project is another superb example of how advanced we were with the BBC Master and other Acorn products of the 1980s. Now we are looking to the future with the new A9home, which is expected to be on retail sale or available for ordering at the show. Over the years we have had visitors to the show from all over the world, from countries such as New Zealand, Australia, South Africa, Belgium, Finland, Sweden and the USA; not bad for an amateur show! Another long-standing attraction of the show is of course the charity stall, which allows redundant equipment to be recycled, and through your kind support the stall has raised many thousands of pounds, primarily for the Wakefield Hospice, over the years.
    [Show full text]
  • (D-Suite) Version 5.0 Voting System
    700 Boulevard South Suite 102 Huntsville, AL 35802 Phone (256)713-1111 Fax (256)713-1112 Test Report for EAC 2005 VVSG 1.0 Certification Testing Dominion Voting Systems Democracy Suite (D-Suite) Version 5.0 Voting System EAC Project Number: DVS1601 Version: Revision A Date:1/6/17 TR-01-01-DVS-2016-01.01 Rev. A REVISIONS Revision Description Date NR Initial Release 12/2/16 A Address EAC Comments 1/6/17 TR-01-01-DVS-2016-01.01 Rev. A TABLE OF CONTENTS 1.0 INTRODUCTION.......................................................................................................................... 1 1.1 System Identification and Overview ................................................................................................ 1 1.1.1 Software .............................................................................................................................. 3 1.1.2 Hardware ........................................................................................................................... 12 1.1.3 Block Diagram .................................................................................................................. 14 1.1.4 System Limits ................................................................................................................... 15 1.1.5 Supported Languages ........................................................................................................ 16 1.1.6 Supported Functionality ...................................................................................................
    [Show full text]
  • Universidad De Guayaquil Facultad De Ciencias Matematicas Y Fisicas Carrera De Ingeniería En Networking Y Telecomunicaciones D
    UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE INGENIERÍA EN NETWORKING Y TELECOMUNICACIONES DISEÑO DE UN SISTEMA INTELIGENTE DE MONITOREO Y CONTROL EN TIEMPO REAL PARA TANQUES DE ALMACENAMIENTO DE GASOLINA UTILIZANDO TECNOLOGÍA DE HARDWARE Y SOFTWARE LIBRE PARA PEQUEÑAS Y MEDIANAS EMPRESAS PROYECTO DE TITULACIÓN Previa a la obtención del Título de: INGENIERO EN NETWORKING Y TELECOMUNICACIONES AUTORES: Chamorro Salazar Hamilton Gabriel TUTOR: Ing. Jacobo Antonio Ramírez Urbina GUAYAQUIL – ECUADOR 2019 I REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGIA FICHA DE REGISTRO DE TESIS TITULO: Diseño de un sistema inteligente de monitoreo y control en tiempo real para tanques de almacenamiento de gasolina utilizando tecnología de hardware y software libre para pequeñas y medianas empresas. REVISORES: Ing. Luis Espin Pazmiño, M.Sc Ing. Harry Luna Aveiga, M.Sc INSTITUCIÓN: Universidad de FACULTAD: Ciencias Matemáticas y Guayaquil Físicas. CARRERA: Ingeniería en Networking y Telecomunicaciones FECHA DE PUBLICACIÓN: N° DE PAGS: 143 AREA TEMÁTICA: Tecnología de la Información y Telecomunicaciones PALABRA CLAVES: Telemetría, microcomputadores, sensores, actuadores, sistema digital, tanques de almacenamiento, control en tiempo real RESUMEN: Este proyecto tiene como finalidad investigar y diseñar un sistema de monitoreo y control en tiempo real para tanques de almacenamiento de gasolina utilizando tecnología de hardware y software libre para las pequeñas y medianas empresas. El diseño permite una gestión eficiente de los
    [Show full text]
  • Implementation of Real-Time Applications on ARM Microcontroller
    Implementation of Real-Time Applications on ARM Microcontroller Fawad 1 and Dr. Imran Amin 2 [email protected] SZABIST Karachi, Pakistan Abstract: The ARM is a 32-bit reduced instruction set • Open platforms running complex operating systems computer(RISC) architecture for microprocessor developed for wireless consumer and imaging applications. by ARM Limited[1]. I is also known as Advance RISC[2] • Embedded real-time systems for mass storage, Machine. AMR is suitable for the low power applications automotive, industrial and networking applications. which made them leading in the mobile and embedded • Secure applications including smart cards and SIMs. electronics industry relatively low cost and small microprocessor and microcontroller. The ARM architecture is licensable. companies that are currently ARM licenses include Alcatel, Atmel, Broadcom, Intel, LG, NVIDIA, Yamaha ST Microelectronics, Samsung and many more. ARM processor families include the ARM7, ARM9, ARM11 and Cortex. The purpose of this Research is to study the ARM architecture and uses of it on real-time Applications using ARM Cortex-A8 microprocessor, which is one of the microprocessor from ARM family. Beagleboard[5] is used for experimental setup and testing real-time application on ARM microprocessor. The Beagle Board is a low-power, low-cost Single-board computer developed by worldwide Figure 1: A Conexant ARM processor used mainly in community. It is amazingly 3x3 inch width and height. As a routers open-source application the Beagle Board is the open- ARM has a vast experience on developing embedded hardware architecture which is available for embedded systems which delivers technology that achieves develop and further enhancement.
    [Show full text]
  • Suzanne's Microcluster Slides
    csinparallel.org Microclusters for teaching PDC Suzanne J. Matthews (West Point) 1 csinparallel.org What is a Microcluster? • A personal, highly portable Beowulf cluster • Enables highly interactive and tactile experiential learning • Notable early examples: – Ultimate Linux Lunch Box (Ron Minnich and Mitch Williams, Sandia National Labs) – LittleFe (Charlie Peck, Earlham College) – Microwulf (Joel Adams, Calvin College) 2 csinparallel.org Single Board Computers (SBCs) 3 csinparallel.org Student Pi (West Point) Suzanne J. Matthews Raspberry Pi nodes - Prototype: Raspberry Pi B nodes - Initial: Raspberry Pi B+ nodes - Current: Raspberry Pi 2 nodes - 900 Mhz quad-core CPU, 1 GB of RAM, HDMI, USB, 10/100 Ethernet - Raspbian Linux June 2014 - ~$40 p/node - Materials: - http://suzannejmatthews.com/private/cluster.html October 2014 May 2016 4 csinparallel.org Student Parallella (West Point) Suzanne J. Matthews Parallella nodes - dual-core ARM A9 CPU, 16-core Epiphany co-processor, 1 GB of RAM, μHDMI, μUSB, Gigabit Ethernet - Linaro Linux - ~$145 p/node - Materials: - http://suzannejmatthews.com/private/cluster.html - http://suzannejmatthews.github.io/ October 2014 April 2016 January 2015 5 csinparallel.org Half ShoeBox Clusters (Centre College) David Toth Cubieboard/ODROID nodes (2-node clusters) - Prototype: Cubieboard2: dual-core ARM Cortex A7, 1 GB of RAM, HDMI, USB, 10/100 Ethernet - Latest: ODROID C2: 2Ghz quad-core A53, 2 GB of RAM, HDMI, USB, Gigabit Ethernet, - Android/Ubuntu Linux - ~ $150-$200 p/cluster - Materials: Early 2014 - http://web.centre.edu/david.toth/portablecluster/index.html
    [Show full text]
  • DFR0261 Dfrobot Datasheet
    Cubieboard 2 Kit SKU:DFR0261 INTRODUCTION Cubieboard2 (ARM® Cortex™‐A7 Dual‐Core), a upgrade of current cubieboard, is ready to ship now. Cubieboard2 is based on Allwinner A20 SoC, small size , hacker friendly, extendable and very low‐cost.It is an alternative to the Raspberry Pi or pcDuino. Compare with Raspberry Pi, it has higher performance, SATA supported and 96 extended interface. Compared with cubieboard,just replacing one chip(well, the most important one),cubieboard2 are upgraded from a single core to a dual core and twice gpu performance, and even no change is needed on the PCB. So all the base boards, accessories that works with cubieboard will also fit in with cubieboard2. On the software side, cubieboard2 support both android 4.2 Jelly Bean, Ubuntu 12.04 and other Linux distributions. Android Jelly Bean improves on speed and simplicity and brings a lot of new feature. If you plan to assemble a small computer, you can try using this small ARM platform cubieboard. It supports Ubuntu and other Linux distributions; you could use it like an ordinary computer operation. At the same time, the platform also supports Android 4.0 Ice Cream Sandwich system and has bulit‐in IR sensor, can be used as "Android TV". SPECIFICATION CPU:ARM® Cortex™‐A7 Dual‐Core GPU:ARM® Mali400MP2, Complies with OpenGL ES 2.0/1.1 Memory:1GB DDR3 @960M Storage:4GB internal NAND flash, up to 64GB on uSD slot, up to 2T on 2.5 SATA disk Power:5VDC input 2A or USB otg input Networking:10/100 ethernet, optional wifi USB : Two USB 2.0 HOST, one USB 2.0 OTG Extended Interfaces: 96 extend pin interface, including I2C, SPI, RGB/LVDS, CSI/TS, FM‐IN, ADC, CVBS, VGA, SPDIF‐OUT, R‐TP, and more Other: One IR SHIPPING LIST Cubieboard 2 main board x1 DC to USB cable x1 SATA cable(data + power) x1 Cubieboard Case x1 Serial to USB cable x1 Powered By DFRobot © 2008-2017 .
    [Show full text]
  • Linux Kernel and Driver Development Training Slides
    Linux Kernel and Driver Development Training Linux Kernel and Driver Development Training © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Latest update: October 9, 2021. Document updates and sources: https://bootlin.com/doc/training/linux-kernel Corrections, suggestions, contributions and translations are welcome! embedded Linux and kernel engineering Send them to [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/470 Rights to copy © Copyright 2004-2021, Bootlin License: Creative Commons Attribution - Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. Document sources: https://github.com/bootlin/training-materials/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/470 Hyperlinks in the document There are many hyperlinks in the document I Regular hyperlinks: https://kernel.org/ I Kernel documentation links: dev-tools/kasan I Links to kernel source files and directories: drivers/input/ include/linux/fb.h I Links to the declarations, definitions and instances of kernel symbols (functions, types, data, structures): platform_get_irq() GFP_KERNEL struct file_operations - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/470 Company at a glance I Engineering company created in 2004, named ”Free Electrons” until Feb.
    [Show full text]