Embedded Linux

Article by:
Date Published:
Last Modified:

Child Pages

  • U-Boot
  • Yocto Project
  • Zynq
  • Overview

    Embedded Linux is the name given to the Linux operating system when it is run on resource-constrained systems, as opposed to traditional laptop, desktop or server style computers.

    Embedded Linux icon.

    Embedded Linux icon.

    Differences With “Standard” Linux

    Embedded devices typically have fewer resources and hardware than a traditional computer running Linux. For example, embedded Linux might run on a single-board MCU which does not have a screen, harddrive or speakers. The board will usually have far less ROM and RAM than a traditional computer.

    Because of the resource/hardware constraints, the embedded Linux kernel is usually stripped of all unneeded features, resulting in a much smaller ROM/RAM footprint.

    Functionality Of MCUs

    A MCU designed to run embedded Linux (or any other high-level operating system) usually has some (or most) of the following features:

    • CPU (e.g. a ARM A9)
    • MMU (if no MMU is present, a special type of Linux has to be run)
    • Memory interface
    • Graphics processor
    • Ethernet
    • USB
    • UART interface
    • SPI interface
    • I2C interface
    • CAN interface
    • Analogue-to-digital converters (ADCs)
    • Timers
    • General purpose IO (GPIO)
    • Watchdog timer (WDT)
    • JTAG

    Development Kits

    2 of the most popular embedded Linux development kits are the RaspberryPi and the BeagleBone.

    BusyBox

    BusyBox is a bunch of stripped down Linux tools that are compiled into one executable. This makes it a popular choice for embedded devices, as each separate executable on an embedded system requires a significant amount of overhead.

    Embedded ABI

    An embedded application binary interface (EABI) is very similar to a normal ABI. It specifies:

    • File formats
    • Data types
    • Register usage
    • Stack frame organisation

    Authors

    Geoffrey Hunter

    Dude making stuff.

    Creative Commons License
    This work is licensed under a Creative Commons Attribution 4.0 International License .

    Related Content:

    Tags

    comments powered by Disqus