Ground Embedded KO Subscribe

Roadmap / Applications

Embedded Linux

Devices that need a screen, a network or a camera run Linux instead of an MCU.

Goal Bring up a Linux board from boot to drivers to application.

  • AdvancedLevel
  • about 6 weeksat one hour a day
  • 8topics
  • 0labs
  1. 01
    Linux and shell basics

    File system, permissions, processes, shell scripts.

    Read the note →

  2. 02
    Cross-compiling

    The toolchain that builds ARM programs on a PC.

    Read the note →

  3. 03
    Boot sequence

    Boot ROM, U-Boot, kernel, root file system, in that order.

    Read the note →

  4. 04
    Device tree

    The file that tells the kernel which devices sit where on the board.

    Read the note →

  5. 05
    Device drivers

    Writing kernel modules that drive GPIO and I2C devices.

    Read the note →

  6. 06
    User-space I/O

    Reaching hardware from an application through sysfs, /dev and ioctl.

    Read the note →

  7. 07
    Yocto and Buildroot

    Tools that build a complete Linux image for your board.

    Read the note →

  8. 08
    Real-time Linux

    PREEMPT_RT, measuring latency, and sharing work with an MCU.

    Read the note →

CHECK TASK

Load a driver that turns on an LED

Build a kernel module yourself, load it on a board such as a Raspberry Pi and control a GPIO.

If you can tick all three, move on to the next subject. Ticks are saved in this browser only.