Porting Linux on an ARM Board
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Device Tree 101
Device Tree 101 Device Tree 101 Organized in partnership with ST February 9, 2021 Thomas Petazzoni embedded Linux and kernel engineering [email protected] © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Corrections, suggestions, contributions and translations are welcome! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/56 Who is speaking ? I Thomas Petazzoni I Chief Technical Officer at Bootlin I Joined in 2008, employee #1 I Embedded Linux & Linux kernel engineer, open-source contributor I Author of the Device Tree for Dummies talk in 2013/2014 I Buildroot co-maintainer I Linux kernel contributor: ≈ 900 contributions I Member of Embedded Linux Conference (Europe) program committee I Based in Toulouse, France - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/56 Agenda I Bootlin introduction I STM32MP1 introduction I Why the Device Tree ? I Basic Device Tree syntax I Device Tree inheritance I Device Tree specifications and bindings I Device Tree and Linux kernel drivers I Common properties and examples - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/56 Bootlin I In business since 2004 I Team based in France I Serving customers worldwide I 18% revenue from France I 44% revenue from EU except France I 38% revenue outside EU I Highly focused and recognized expertise I Embedded Linux I Linux kernel I Embedded Linux build systems I Activities -
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. -
GPU Developments 2018
GPU Developments 2018 2018 GPU Developments 2018 © Copyright Jon Peddie Research 2019. All rights reserved. Reproduction in whole or in part is prohibited without written permission from Jon Peddie Research. This report is the property of Jon Peddie Research (JPR) and made available to a restricted number of clients only upon these terms and conditions. Agreement not to copy or disclose. This report and all future reports or other materials provided by JPR pursuant to this subscription (collectively, “Reports”) are protected by: (i) federal copyright, pursuant to the Copyright Act of 1976; and (ii) the nondisclosure provisions set forth immediately following. License, exclusive use, and agreement not to disclose. Reports are the trade secret property exclusively of JPR and are made available to a restricted number of clients, for their exclusive use and only upon the following terms and conditions. JPR grants site-wide license to read and utilize the information in the Reports, exclusively to the initial subscriber to the Reports, its subsidiaries, divisions, and employees (collectively, “Subscriber”). The Reports shall, at all times, be treated by Subscriber as proprietary and confidential documents, for internal use only. Subscriber agrees that it will not reproduce for or share any of the material in the Reports (“Material”) with any entity or individual other than Subscriber (“Shared Third Party”) (collectively, “Share” or “Sharing”), without the advance written permission of JPR. Subscriber shall be liable for any breach of this agreement and shall be subject to cancellation of its subscription to Reports. Without limiting this liability, Subscriber shall be liable for any damages suffered by JPR as a result of any Sharing of any Material, without advance written permission of JPR. -
Devicetree BOF
Devicetree BOF Open Source Summit Japan 2018 Tokyo Frank Rowand, Sony June 20, 2018 180618_0351 My Goal Do NOT show all of the slides Agenda - Past events - Future events - New since elc 2017 (February 2017) - Tools status - dtc compiler - questions, comments, issues, concerns from the crowd - commit statistics Plumbers 2017 Summary September 2017 Los Angeles Was not scheduled -- not enough interest / commitment Devicetree Workshop Oct 2017 Prague, Czech Republic https://elinux.org/Device_tree_future #Kernel_Summit_2017.2C_Devicetree_Workshop - slides - notes === Validation Tools & Schema === Runtime usage === DTS maintenance issues === More stuff Devicetree Workshop Oct 2017 Prague, Czech Republic Devicetree Workshop 2017 9:30 Welcome and Schedule bashing 9:40 Encoding and Schema checking: Framing the problem 9:45 DT YAML encoding overview 10:00 YAML encoding discussion 10:20 DT Schema format - option 1 10:35 DT Schema format - option 2 10:50 DT Schema discussion - what should go in the spec? 11:50 Code Generation from DT 12:10 Runtime memory consumption 14:30 Overlay maintenance plan 14:45 Avoiding duplicate descriptions 15:00 Criteria for accepting board files 15:15 Location for maintaining bindings - how to handle foreign bindings 15:30 Sharing Generic bindings 15:45 ABI Stability 16:00 [break and overflow discussion] 16:30 DT health check 16:50 devicetree.org update 17:05 EBBR Discussion 17:20 Closing and feedback Plumbers 2018 November 13 - 15, 2018 Tuesday - Thursday Vancouver, British Columbia, Canada https://www.linuxplumbersconf.org/event/2/overview -
Introduction to Linux Kernel Driver Programming
IntroductionIntroduction toto LinuxLinux kernelkernel driverdriver programmingprogramming Introduction to Linux kernel driver programming The Linux kernel device model Authors and license ● Authors – Michael Opdenacker ([email protected]) Founder of Bootlin, kernel and embedded Linux engineering company https://bootlin.com/company/staff/michael-opdenacker ● License – Creative Commons Attribution – Share Alike 4.0 https://creativecommons.org/licenses/by-sa/4.0/ – Document sources: https://github.com/e-ale/Slides Need for a device model ● For the same device, need to use the same device driver on multiple CPU architectures (x86, ARM…), even though the hardware controllers are different. ● Need for a single driver to support multiple devices of the same kind. ● This requires a clean organization of the code, with the device drivers separated from the controller drivers, the hardware description separated from the drivers themselves, etc. Driver: between bus infrastructure and framework In Linux, a driver is always interfacing with: ● a framework that allows the driver to expose the hardware features in a generic way. ● a bus infrastructure, part of the device model, to detect/communicate with the hardware. Let’s focus on the bus infrastructure for now Device model data structures The device model is organized around three main data structures: ● The struct bus_type structure, which represent one type of bus (USB, PCI, I2C, etc.) ● The struct device_driver structure, which represents one driver capable of handling certain devices on a certain bus. ● The struct device structure, which represents one device connected to a bus The kernel uses inheritance to create more specialized versions of struct device_driver and struct device for each bus subsystem. -
Kernel Boot-Time Tracing
Kernel Boot-time Tracing Linux Plumbers Conference 2019 - Tracing Track Masami Hiramatsu <[email protected]> Linaro, Ltd. Speaker Masami Hiramatsu - Working for Linaro and Linaro members - Tech Lead for a Landing team - Maintainer of Kprobes and related tracing features/tools Why Kernel Boot-time Tracing? Debug and analyze boot time errors and performance issues - Measure performance statistics of kernel boot - Analyze driver init failure - Debug boot up process - Continuously tracing from boot time etc. What We Have There are already many ftrace options on kernel command line ● Setup options (trace_options=) ● Output to printk (tp_printk) ● Enable events (trace_events=) ● Enable tracers (ftrace=) ● Filtering (ftrace_filter=,ftrace_notrace=,ftrace_graph_filter=,ftrace_graph_notrace=) ● Add kprobe events (kprobe_events=) ● And other options (alloc_snapshot, traceoff_on_warning, ...) See Documentation/admin-guide/kernel-parameters.txt Example of Kernel Cmdline Parameters In grub.conf linux /boot/vmlinuz-5.1 root=UUID=5a026bbb-6a58-4c23-9814-5b1c99b82338 ro quiet splash tp_printk trace_options=”sym-addr” trace_clock=global ftrace_dump_on_oops trace_buf_size=1M trace_event=”initcall:*,irq:*,exceptions:*” kprobe_event=”p:kprobes/myevent foofunction $arg1 $arg2;p:kprobes/myevent2 barfunction %ax” What Issues? Size limitation ● kernel cmdline size is small (< 256bytes) ● A half of the cmdline is used for normal boot Only partial features supported ● ftrace has too complex features for single command line ● per-event filters/actions, instances, histograms. Solutions? 1. Use initramfs - Too late for kernel boot time tracing 2. Expand kernel cmdline - It is not easy to write down complex tracing options on bootloader (Single line options is too simple) 3. Reuse structured boot time data (Devicetree) - Well documented, structured data -> V1 & V2 series based on this. Boot-time Trace: V1 and V2 series V1 and V2 series posted at June. -
Devicetree Specification
Devicetree Specification Release unknown-rev devicetree.org unknown-rev 13 September 2021 Contents 1 Introduction 3 1.1 Purpose and Scope..............................................3 1.2 Relationship to IEEE™ 1275 and ePAPR..................................4 1.3 32-bit and 64-bit Support...........................................4 1.4 Definition of Terms..............................................4 2 The Devicetree 6 2.1 Overview...................................................6 2.2 Devicetree Structure and Conventions....................................7 2.2.1 Node Names............................................7 2.2.2 Generic Names Recommendation.................................8 2.2.3 Path Names............................................. 10 2.2.4 Properties.............................................. 10 2.3 Standard Properties.............................................. 12 2.3.1 compatible............................................. 12 2.3.2 model................................................ 13 2.3.3 phandle............................................... 13 2.3.4 status................................................ 14 2.3.5 #address-cells and #size-cells.................................... 14 2.3.6 reg.................................................. 15 2.3.7 virtual-reg.............................................. 15 2.3.8 ranges................................................ 15 2.3.9 dma-ranges.............................................unknown-rev 16 2.3.10 dma-coherent........................................... -
Openbricks Embedded Linux Framework - User Manual I
OpenBricks Embedded Linux Framework - User Manual i OpenBricks Embedded Linux Framework - User Manual OpenBricks Embedded Linux Framework - User Manual ii Contents 1 OpenBricks Introduction 1 1.1 What is it ?......................................................1 1.2 Who is it for ?.....................................................1 1.3 Which hardware is supported ?............................................1 1.4 What does the software offer ?............................................1 1.5 Who’s using it ?....................................................1 2 List of supported features 2 2.1 Key Features.....................................................2 2.2 Applicative Toolkits..................................................2 2.3 Graphic Extensions..................................................2 2.4 Video Extensions...................................................3 2.5 Audio Extensions...................................................3 2.6 Media Players.....................................................3 2.7 Key Audio/Video Profiles...............................................3 2.8 Networking Features.................................................3 2.9 Supported Filesystems................................................4 2.10 Toolchain Features..................................................4 3 OpenBricks Supported Platforms 5 3.1 Supported Hardware Architectures..........................................5 3.2 Available Platforms..................................................5 3.3 Certified Platforms..................................................7 -
IMX233-Olinuxino-MINI User's Manual
OLinuXino-MINI Open-source single-board Linux computer USER’S MANUAL Revision H, April 2015 Designed by OLIMEX Ltd, 2012 All boards produced by Olimex LTD are ROHS compliant OLIMEX© 2015 IMX233-OLinuXino-MINI user's manual DISCLAIMER © 2015 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product names may be trademarks of others and the rights belong to their respective owners. The information in this document is provided in connection with Olimex products. No license, express or implied or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Olimex products. The Hardware project is released under the Creative Commons Attribution-Share Alike 3.0 United States License. You may reproduce it for both your own personal use, and for commertial use. You will have to provide a link to the original creator of the project http://www.olimex.com on any documentation or website. You may also modify the files, but you must then release them as well under the same terms. Credit can be attributed through a link to the creator website: http://www.olimex.com The software is released under GPL. It is possible that the pictures in this manual differ from the latest revision of the board. The product described in this document is subject to continuous development and improvements. All particulars of the product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. -
Ten (Or So) Small Computers
Ten (or so) Small Computers by Jon "maddog" Hall Executive Director Linux International and President, Project Cauã 1 of 50 Copyright Linux International 2015 Who Am I? • Half Electrical Engineer, Half Business, Half Computer Software • In the computer industry since 1969 – Mainframes 5 years – Unix since 1980 – Linux since 1994 • Companies (mostly large): Aetna Life and Casualty, Bell Labs, Digital Equipment Corporation, SGI, IBM, Linaro • Programmer, Systems Administrator, Systems Engineer, Product Manager, Technical Marketing Manager, University Educator, Author, Businessperson, Consultant • Taught OS design and compiler design • Extremely large systems to extremely small ones • Pragmatic • Vendor and a customer Warnings: • This is an overview guide! • Study specifications of each processor at manufacturer's site to make sure it meets your needs • Prices not normally listed because they are all over the map...shop wisely Definitions • Microcontroller vs Microprocessor • CPU vs “Core” • System On a Chip (SoC) • Hard vs Soft Realtime • GPIO Pins – Digital – Analog • Printed Circuit Board (PCB) • Shield, Cape, etc. • Breadboard – Patch cables Definitions (Cont.) • Disks – IDE – SATA – e-SATA • Graphical Processing Unit (GPU) • Field Programmable Gate Array (FPGA) • Digital Signal Processing Chips (DSP) • Unless otherwise specified, all microprocessors are ARM-32 bit Still More Definitions! • Circuit Diagrams • Surface Mount Technology – large robots – Through board holes in PCBs – Surface mount • CAD Files – PCB layout – “Gerbers” for -
Call Your Netbsd
Call your NetBSD BSDCan 2013 Ottawa, Canada Pierre Pronchery ([email protected]) May 17th 2013 Let's get this over with ● Pierre Pronchery ● French, based in Berlin, Germany ● Freelance IT-Security Consultant ● OSDev hobbyist ● NetBSD developer since May 2012 (khorben@) Agenda 1.Why am I doing this? 2.Target hardware: Nokia N900 3.A bit of ARM architecture 4.NetBSD on ARM 5.Challenges of the port 6.Current status 7.DeforaOS embedded desktop 8.Future plans 1. A long chain of events ● $friend0 gives me Linux CD ● Computer not happy with Linux ● Get FreeBSD CD shipped ● Stick with Linux for a while ● Play with OpenBSD on Soekris hardware ● $friend1 gets Zaurus PDA ● Switch desktop and laptop to NetBSD ● I buy a Zaurus PDA ● I try OpenBSD on Zaurus PDA 1. Chain of events, continued ● $gf gets invited to $barcamp ● I play with my Zaurus during her presentation ● $barcamp_attender sees me doing this ● Begin to work on the DeforaOS desktop ● Get some of it to run on the Zaurus ● Attend CCC Camp near Berlin during my bday ● $gf offers me an Openmoko Neo1973 ● Adapt the DeforaOS desktop to Openmoko 1. Chain of events, unchained ● $barcamp_attender was at the CCC Camp, too ● We begin to sell the Openmoko Freerunner ● Create a Linux distribution to support it ● Openmoko is EOL'd and we split ways ● $friend2 gives me sparc64 boxes ● Get more involved with NetBSD ● Nokia gives me a N900 during a developer event ● $barcamp_attender points me to a contest ● Contest is about creating an OSS tablet 1. Chain of events (out of breath) ● Run DeforaOS on NetBSD on the WeTab tablet ● Co-win the contest this way ● $friend3 boots NetBSD on Nokia N900 ● Give a talk about the WeTab tablet ● Promise to work on the Nokia N900 next thing ● Apply to BSDCan 2013 ● Taste maple syrup for the first time in Canada ● Here I am in front of you Pictures: Sharp Zaurus Pictures: Openmoko Freerunner Pictures: WeTab Pictures: DeforaOS 2. -
Sensors and Data Encryption, Two Aspects of Electronics That Used to Be Two Worlds Apart and That Are Now Often Tightly Integrated, One Relying on the Other
www.eenewseurope.com January 2019 electronics europe News News e-skin beats human touch Swedish startup beats e-Ink on low-power Special Focus: Power Sources european business press November 2011 Electronic Engineering Times Europe1 181231_8-3_Mill_EENE_EU_Snipe.indd 1 12/14/18 3:59 PM 181231_QualR_EENE_EU.indd 1 12/14/18 3:53 PM CONTENTS JANUARY 2019 Dear readers, www.eenewseurope.com January 2019 The Consumer Electronics Show has just closed its doors in Las Vegas, yet the show has opened the mind of many designers, some returning home with new electronics europe News News ideas and possibly new companies to be founded. All the electronic devices unveiled at CES share in common the need for a cheap power source and a lot of research goes into making power sources more sus- tainable. While lithium-ion batteries are commercially mature, their long-term viability is often questioned and new battery chemistries are being investigated for their simpler material sourcing, lower cost and sometime increased energy density. Energy harvesting is another feature that is more and more often inte- e-skin beats human touch grated into wearables but also at grid-level. Our Power Sources feature will give you a market insight and reviews some of the latest findings. Other topics covered in our January edition are Sensors and Data Encryption, two aspects of electronics that used to be two worlds apart and that are now often tightly integrated, one relying on the other. Swedish startup beats e-Ink on low-power With this first edition of 2019, let me wish you all an excellent year and plenty Special Focus: Power Sources of new business opportunities, whether you are designing the future for a european business press startup or working for a well-established company.