A Tour of the ARM Architecture and Its Linux Support

A Tour of the ARM Architecture and Its Linux Support

Linux Conf Australia 2017 A tour of the ARM architecture and its Linux support Thomas Petazzoni Bootlin [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 I Since 2012: Linux kernel contributor, adding support for Marvell ARM processors I Core contributor to the Buildroot project, an embedded Linux build system I From Toulouse, France Thomas Petazzoni I Thomas Petazzoni I CTO and Embedded Linux engineer at Bootlin I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Linux kernel contributors, ARM SoC support, kernel maintainers embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I Core contributor to the Buildroot project, an embedded Linux build system I From Toulouse, France Thomas Petazzoni I Thomas Petazzoni I CTO and Embedded Linux engineer at Bootlin I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Linux kernel contributors, ARM SoC support, kernel maintainers I Since 2012: Linux kernel contributor, adding support for Marvell ARM processors - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I From Toulouse, France Thomas Petazzoni I Thomas Petazzoni I CTO and Embedded Linux engineer at Bootlin I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Linux kernel contributors, ARM SoC support, kernel maintainers I Since 2012: Linux kernel contributor, adding support for Marvell ARM processors I Core contributor to the Buildroot project, an embedded Linux build system - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 Thomas Petazzoni I Thomas Petazzoni I CTO and Embedded Linux engineer at Bootlin I Embedded Linux expertise I Development, consulting and training I Strong open-source focus I Linux kernel contributors, ARM SoC support, kernel maintainers I Since 2012: Linux kernel contributor, adding support for Marvell ARM processors I Core contributor to the Buildroot project, an embedded Linux build system I From Toulouse, France - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I Goal I ARM is significantly different from x86 I More and more Linux developers coming from x86 doing ARM development I Number of misunderstandings I Agenda I ARM: from the architecture to the board I Software level: bootloader and Linux kernel support Goal and agenda I ARM is everywhere: in your phone, your TV, your router, your set-top box, your IoT devices, etc. - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I Agenda I ARM: from the architecture to the board I Software level: bootloader and Linux kernel support Goal and agenda I ARM is everywhere: in your phone, your TV, your router, your set-top box, your IoT devices, etc. I Goal I ARM is significantly different from x86 I More and more Linux developers coming from x86 doing ARM development I Number of misunderstandings - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 Goal and agenda I ARM is everywhere: in your phone, your TV, your router, your set-top box, your IoT devices, etc. I Goal I ARM is significantly different from x86 I More and more Linux developers coming from x86 doing ARM development I Number of misunderstandings I Agenda I ARM: from the architecture to the board I Software level: bootloader and Linux kernel support - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 ARM: architecture specification I ARM Holdings plc writes the specification of the ARM architecture I Instruction-set, including multimedia/DSP oriented instructions I MMU I Interrupt and exception handling I Caches I Virtualization I etc. I Over time, improvements of the architecture, with numerous versions: ARMv4, ARMv5, ARMv6, ARMv7, ARMv8 I Takes the form of voluminous documentation, named ARM ARM, i.e ARM Architecture Reference Manual - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 ARM cores: an actual implementation I ARM Holdings plc then creates IP cores that implement the specification I IP core = implementation in VHDL or Verilog of a block of hardware logic I Examples: I ARM926 = implementation of ARMv5 I ARM1176 = implementation of ARMv6 I Cortex-A15 = implementation of ARMv7-A I Cortex-A53 = implementation of ARMv8-A I Multiple possible implementations for the same architecture specification I Example: all of Cortex-A5,7,8,9,12,15 implement the same ARMv7-A architecture (with some additions in some cases) I Cortex-A5 is a low-power lower-performance implementation, Cortex-A15 is a very high-performance and more power hungry implementation. I Difference in internal implementation: depth of the pipeline, out-of-order execution, size of caches, etc. I This is NOT hardware: ARM does not sell silicon - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1 ARM System-on-Chip I System-on-chip: integrated circuit that integrates all components of a computer system I CPU, but also peripherals: Ethernet, USB, UART, SPI, I2C, GPU, display, audio, etc. I Integrated in a single chip: easier to use, more cost effective I SoC vendors I Buy an ARM core from ARM I Integrate other IP blocks, either designed internally, or purchased from other vendors I Create and sell silicon I Large spectrum of SoCs available, addressing very different markets: automotive, mobile, industrial, low-power, set-top box, etc. - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 6/1 SoC example: Freescale i.MX6 block diagram - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 7/1 ARM hardware platform I Even though an SoC is a full system on a chip, it is generally not self-sufficient I RAM, NAND flash or eMMC, power circuitry I Display panel and touchscreen I WiFi and Bluetooth chip I Ethernet PHY I HDMI transceiver I CAN transceiver I Connectors I SoC connected to a wide variety of peripherals, through various busses I Laid out on a PCB, with components soldered on it. - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 8/1 ARM: from the architecture to the board - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 9/1 I C.H.I.P I SoC: Allwinner R8 I ARM core: Cortex-A8 (single) I ARM architecture: ARMv7-A I RaspberryPi 2 I ESPRESSOBin I SoC: Broadcom 2836 I SoC: Marvell Armada 3700 I ARM core: Cortex-A7 (quad) I ARM core: Cortex-A53 (dual) I ARM architecture: ARMv7-A I ARM architecture: ARMv8-A Examples of ARM boards I RaspberryPi 1 I SoC: Broadcom 2835 I ARM core: ARM1176JZF (single) I ARM architecture: ARMv6 - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/1 I C.H.I.P I SoC: Allwinner R8 I ARM core: Cortex-A8 (single) I ARM architecture: ARMv7-A I ESPRESSOBin I SoC: Marvell Armada 3700 I ARM core: Cortex-A53 (dual) I ARM architecture: ARMv8-A Examples of ARM boards I RaspberryPi 1 I SoC: Broadcom 2835 I ARM core: ARM1176JZF (single) I ARM architecture: ARMv6 I RaspberryPi 2 I SoC: Broadcom 2836 I ARM core: Cortex-A7 (quad) I ARM architecture: ARMv7-A - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/1 I ESPRESSOBin I SoC: Marvell Armada 3700 I ARM core: Cortex-A53 (dual) I ARM architecture: ARMv8-A Examples of ARM boards I RaspberryPi 1 I C.H.I.P I SoC: Broadcom 2835 I SoC: Allwinner R8 I ARM core: ARM1176JZF (single) I ARM core: Cortex-A8 (single) I ARM architecture: ARMv6 I ARM architecture: ARMv7-A I RaspberryPi 2 I SoC: Broadcom 2836 I ARM core: Cortex-A7 (quad) I ARM architecture: ARMv7-A - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/1 Examples of ARM boards I RaspberryPi 1 I C.H.I.P I SoC: Broadcom 2835 I SoC: Allwinner R8 I ARM core: ARM1176JZF (single) I ARM core: Cortex-A8 (single) I ARM architecture: ARMv6 I ARM architecture: ARMv7-A I RaspberryPi 2 I ESPRESSOBin I SoC: Broadcom 2836 I SoC: Marvell Armada 3700 I ARM core: Cortex-A7 (quad) I ARM core: Cortex-A53 (dual) I ARM architecture: ARMv7-A I ARM architecture: ARMv8-A - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/1 I Three “levels” of hardware, three “levels” of software support 1. The ARM core 2. The SoC 3. The board I All three levels are needed to support a given hardware platform. I Also supporting a platform with just the serial port and Ethernet is very different from fully supporting a platform (graphics, audio, power management, etc.). Software support for hardware layers I Asking “does Linux support ARM?” doesn’t make a lot of sense - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 11/1 I All three levels are needed to support a given hardware platform. I Also supporting a platform with just the serial port and Ethernet is very different from fully supporting a platform (graphics, audio, power management, etc.). Software support for hardware layers I Asking “does Linux support ARM?” doesn’t make a lot of sense I Three “levels” of hardware, three “levels” of software support 1. The ARM core 2. The SoC 3. The board - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 11/1 Software support for hardware layers I Asking “does Linux support ARM?” doesn’t make a lot of sense I Three “levels” of hardware, three “levels” of software support 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    47 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us