Porting Linux on an ARM Board

Total Page:16

File Type:pdf, Size:1020Kb

Porting Linux on an ARM Board Porting Linux on an ARM board Porting Linux on an ARM board free electrons © Copyright 2015-2016, free electrons. Creative Commons BY-SA 3.0 license. Latest update: April 18, 2016. free electrons Corrections, suggestions, contributions and translations are welcome! Send them to [email protected] Embedded Linux Experts free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 1/220 Alexandre Belloni I Embedded Linux engineer at free electrons I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Open-source contributor I Maintainer for the Linux kernel RTC subsystem I Co-Maintainer of kernel supportfree electrons for Atmel ARM processors Embedded Linux Experts I Contributing to kernel support for Marvell ARM (Berlin) processors free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 2/220 Free Electrons Mission free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 3/220 Free Electrons at a glance I Engineering company created in 2004 (not a training company!) I Locations: Orange, Toulouse, Lyon (France) I Serving customers all around the world See http://free-electrons.com/company/customers/ I Head count: 11 Only Free Software enthusiasts! I Focus: Embedded Linux, Linux kernel, Android Free Software / Open Source for embedded and real-time systems. I Activities: development, training, consulting, technical support. I Added value: get the best of the user and development community and the resources it offers. free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 4/220 Free Electrons on-line resources I All our training materials: http://free-electrons.com/docs/ I Technical blog: http://free-electrons.com/blog/ I Quarterly newsletter: http://lists.free- electrons.com/mailman/listinfo/newsletter I News and discussions (Google +): https://plus.google.com/+FreeElectronsDevelopers I News and discussions (LinkedIn): http://linkedin.com/groups/Free-Electrons-4501089 I Quick news (Twitter): http://twitter.com/free_electrons I Linux Cross Reference - browse Linux kernel sources on-line: http://lxr.free-electrons.com free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 5/220 Course content Course content free electrons © Copyright 2004-2016, Free Electrons. Creative Commons BY-SA 3.0 license. free electrons Corrections, suggestions, contributions and translations are welcome! Embedded Linux Experts free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 6/220 Porting linux Porting Linux includes a number of steps, starting even before software is involved: I SoC selection I SoM, SBC selection or board conception I Bootloader selection I Bootloader port I Linux kernel version selection I Linux port I Root filesystem integration free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 7/220 ARM Ecosystem ARM Ecosystem free electrons © Copyright 2004-2016, Free Electrons. Creative Commons BY-SA 3.0 license. free electrons Corrections, suggestions, contributions and translations are welcome! Embedded Linux Experts free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 8/220 ARM Ecosystem ARM SoCs free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 9/220 ARM platforms I ARM (the company) designs CPU cores: instruction set, MMU, caches, etc. I They don’t sell any hardware I Silicon vendors buy the CPU core design from ARM, and around it add a number of peripherals, either designed internally or bought from third parties I Texas Instruments, Atmel, Marvell, Freescale, Qualcomm, Nvidia, etc. I They sell System-on-chip or SoCs I System makers design an actual board, with one or several processors, and a number of on-board peripherals free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 10/220 Schematic view of an ARM platform free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 11/220 System on Chip A System on Chip is typically composed of: TST0-TST1 Reset and I NRST Test ARM920T Core TSYNC One or multiple CPU cores TCLK ICE JTAGSEL ETM TDI PIO TPS0 - TPS2 TDO JTAG Scan Instruction Cache MMU Data Cache TPK0 - TPK15 TMS 16K bytes 16K bytes TCK NTRST I BMS D0-D15 A bus FIQ A0/NBS0 AIC Fast SRAM Address A1/NBS2/NWR2 IRQ0-IRQ6 PIO 16K bytes Decoder EBI A2-A15/A18-A22 A16/BA0 PCK0-PCK3 CompactFlash A17/BA1 Abort NAND Flash NCS0/BFCS PLLRCB PLLB Status SmartMedia NCS1/SDCS Fast ROM NCS2 I PLLRCA PLLA NCS3/SMCS 128K bytes Misalignment NRD/NOE/CFOE Oscillators and PLL XIN PMC NWR0/NWE/CFWE Detector OSC NWR1/NBS1/CFIOR XOUT NWR3/NBS3/CFIOW Peripheral Bus SDCK Bridge Arbiter SDCKE SDRAM RAS-CAS System Controller SDWE SDA10 I Timer Peripheral BFRDY/SMOE Timers DMA BFCK Controller Memory Burst BFAVD Controller BFBAA/SMWE XIN32 Flash BFOE OSC RTC Controller BFWE XOUT32 PIO A23-A24 A25/CFRNW Static NWAIT I DRXD NCS4/CFCS DBGU Memory NCS5/CFCE1 Memory controller DTXD PDC Controller NCS6/CFCE2 NCS7 PIO D16-D31 PIOA/PIOB/PIOC/PIOD Controller HDMA I DMA FIFO HDPA FIFO USB Host HDMB Interrupt controller Transceiver DDM HDPB DDP USB Device Transceiver DMA FIFO ETXCK-ERXCK-EREFCK I ETXEN-ETXER MCCK ECRS-ECOL MCCDA Multiple peripherals: ERXER-ERXDV MCDA0-MCDA3 MCI MCCDB Ethernet MAC 10/100 ERX0-ERX3 MCDB0-MCDB3 ETX0-ETX3 PDC EMDC EMDIO RXD0 EF100 I TXD0 APB TF0 SCK0 USART0 TK0 UART RTS0 TD0 CTS0 PDC SSC0 RD0 RK0 RXD1 RF0 TXD1 PDC I SCK1 TF1 RTS1 TK1 RTC CTS1 USART1 TD1 DSR1 SSC1 RD1 DTR1 PIO PIO RK1 DCD1 PIO RF1 I RI1 PDC PDC TF2 SPI RXD2 TK2 TXD2 TD2 SCK2 USART2 SSC2 RD2 RTS2 RK2 CTS2 PDC PDC RF2 I RXD3 TXD3 TCLK0 I2C Timer Counter TCLK1 SCK3 USART3 RTS3 TCLK2 CTS3 PDC TIOA0 TC0 TIOB0 TIOA1 I NPCS0 TC1 TIOB1 NPCS1 TIOA2 ADC NPCS2 TC2 TIOB2 NPCS3 SPI MISO TCLK3 MOSI Timer Counter TCLK4 I SPCK PDC TCLK5 TIOA3 USB controller TC3 TIOB3 TWD TIOA4 TWI TC4 TIOB4 TWCK TIOA5 I ... TC5 TIOB5 free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 12/220 ARM cores The Linux kernel supports a wide range of ARM based architectures, starting with ARMv4T: ARM family ARM architecture ARM Core ARM7T ARMv4T ARM7TDMI ARM720T ARM740T ARM9T ARMv4T ARM9TDMI ARM920T ARM922T ARM925T ARM926T ARM940T ARM9E ARMv5TE ARM946E-S ARM10E ARMv5TE ARM1020T ARM1020E ARM1022E ARMv5TEJ ARM1026EJ-S ARM11 ARMv6Z ARM1176JZF-S ARMv6K ARM11MPCore Cortex-M ARMv7-M Cortex-M3, Cortex-M4, Cortex-M7 Cortex-A (32-bit) ARMv7-A Cortex-A5, Cortex-A7 Cortex-A8, Cortex-A9, Cortex-A12, Cortex-A15, Cortex-A17 Cortex-A (64-bit) ARMv8-A Cortex-A53, Cortex-A57, Cortex-A72 free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 13/220 ARM cores Third parties can also license the instruction set and create their own cores: ARM ISA Third party core ARMv4 Faraday FA256, StrongARM SA-110, SA-1100 ARMv5TE Xscale ARMv5 Marvell PJ1, Feroceon ARMv7-A Broadcom Brahma-B15, Marvell PJ4, PJ4B, Qualcomm Krait, Scorpion ARMv8-A Cavium Thunder, Nvidia Denver, Qualcomm Kryo free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 14/220 ARM SoCs To create an SoC, the silicon vendor integrates: I one or multiple ARM cores (not necessarily homogeneous, big.LITTLE configurations exist) I its own peripherals I third party peripherals (usually from DesignWare, Cadence, PowerVR, Vivante, ...) I ROM and ROM code I sometimes one or multiple DSP, FPGA, micro-controller cores free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 15/220 ARM SoCs vendors ARM SoC vendors with good mainline kernel support include: I Allwinner I Atmel I Freescale I Marvell I Rockchip I Samsung I ST Micro I TI (sitara and OMAP families) I Xilinx However, be careful when needing certain features like GPU acceleration. free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 16/220 ARM SoMs System on Module manufacturer then create modules integrating: I an SoC I RAM I Storage I sometimes the PHYs for some interfaces like Ethernet, HDMI,... I a connector for the baseboard They also often manufacture Single-board computers (SBC) based on those SoM. free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 17/220 ARM SoMs manufacturers I ACME I Boundary Devices I Congatec I DataModul I Olimex I Phytec I Seco I Toradex I Variscite free electrons - Embedded Linux, kernel, drivers and Android - Development, consulting, training and support. http://free-electrons.com 18/220 Community boards A good way to create a prototype is to use a community board which is usually inexpensive
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
    [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]
  • 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.
    [Show full text]
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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...........................................
    [Show full text]
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]