EmbeddedRelated.com
Books

Linux for Embedded and Real-time Applications (Embedded Technology)

Abbott, Doug ● 2012

This new edition of Linux for Embedded and Real-Time Applications provides a practical introduction to the basics and the latest developments in this rapidly evolving technology. Ideal for those new to using Linux in an embedded environment, it takes a hands-on approach and covers key concepts plus specific applications.

Key features include:

  • Substantially updated to focus on a specific ARM-based single board computer (SBC) as a target for embedded application programming
  • Includes an introduction to Android programming

With this book you will learn:

  • The basics of Open Source, Linux and the embedded space
  • How to set up a simple system and tool chain
  • How to use simulation for initial application testing
  • Network, graphics and Android programming
  • How to use some of the many Linux components and tools
  • How to configure and build the Linux kernel, BusyBox and U-Boot bootloader
  • Provides a hands-on introduction for engineers and software developers who need to get up to speed quickly on embedded Linux, its operation and its capabilities - including Android
  • Updated and changed accompanying tools, with a focus on the author's specially-developed Embedded Linux Learning Kit


Why Read This Book

You will get a hands-on, practical walkthrough of building and deploying Linux on ARM-based single-board computers, with clear coverage of toolchains, kernel configuration, bootloaders and basic real‑time topics. It’s a good bridge between general Linux knowledge and the day-to-day tasks of an embedded engineer working with SBCs and firmware.

Who Will Benefit

Engineers and firmware developers with basic Linux familiarity who are deploying Linux or Android on ARM-based embedded systems and need a practical, end-to-end guide.

Level: Intermediate — Prerequisites: Basic Linux command-line skills, familiarity with C and cross-compilation concepts, and a working understanding of embedded hardware fundamentals.

Get This Book

Key Takeaways

  • Set up and use a cross-compilation toolchain to build userland and kernel code for ARM SBCs
  • Build, configure, and deploy the Linux kernel and a bootloader (e.g., U-Boot) for an embedded target
  • Create and customize minimal root filesystems (BusyBox, init scripts) and deploy them to flash/SD
  • Apply and understand basic real-time Linux approaches (PREEMPT/real-time patches) and their trade-offs
  • Develop and load simple kernel modules/device drivers and debug user/kernel issues using common tools
  • Use simulation/emulation (e.g., QEMU) and SBC hardware to develop, test and debug embedded Linux applications

Topics Covered

  1. Introduction to Open Source, Linux and the Embedded Space
  2. Choosing an ARM Single-Board Computer (SBC) Target and Hardware Overview
  3. Setting Up the Development Environment and Cross-Toolchain
  4. Boot Process and Bootloaders (U-Boot) for Embedded Systems
  5. Building and Configuring the Linux Kernel for ARM Targets
  6. Real‑Time Linux: Concepts and Applying PREEMPT/RT Patches
  7. Root Filesystems, BusyBox and Init Systems
  8. Device Drivers and Kernel Modules: Basics and Examples
  9. User-space Development, Networking and Services on Embedded Linux
  10. Using Emulation and Simulation (QEMU) for Development
  11. Introduction to Android on Embedded Platforms
  12. Deployment, Debugging and Performance Tuning on ARM SBCs

Languages, Platforms & Tools

CShell (Bash)Java (Android examples, limited)ARM-based single-board computers (generic ARM, Cortex-A class SBCs)GCC cross-toolchain (arm-linux-*)GDBMakeU-BootBusyBoxQEMUAndroid SDK/NDK (introductory)

How It Compares

More hands-on and SBC-focused than Christopher Hallinan's Embedded Linux Primer, and less driver-deep than Linux Device Drivers (Corbet et al.) — a practical middle ground for applied embedded Linux with RT considerations.

Related Books