Embedded Linux System Design and Development

Free Standard Shipping

Purchasing Options

ISBN 9780849340581
Cat# AU0586



SAVE 20%

eBook (VitalSource)
ISBN 9781420031614
Cat# AUE0586



SAVE 30%

eBook Rentals

Other eBook Options:


  • Contains an entire roadmap for embedded Linux systems
  • Explains the MTD (Memory Technology Device) model for Flash based storage
  • Illustrates real-time programming techniques using POSIX.1b real-time extensions such as memory locking, real-time signals and asynchronous IO
  • Examines how uClinux differs from standard Linux
  • Discusses porting applications from a traditional RTOS to embedded Linux
  • Summary

    Based upon the authors' experience in designing and deploying an embedded Linux system with a variety of applications, Embedded Linux System Design and Development contains a full embedded Linux system development roadmap for systems architects and software programmers. Explaining the issues that arise out of the use of Linux in embedded systems, the book facilitates movement to embedded Linux from traditional real-time operating systems, and describes the system design model containing embedded Linux.

    This book delivers practical solutions for writing, debugging, and profiling applications and drivers in embedded Linux, and for understanding Linux BSP architecture. It enables you to understand: various drivers such as serial, I2C and USB gadgets; uClinux architecture and its programming model; and the embedded Linux graphics subsystem. The text also promotes learning of methods to reduce system boot time, optimize memory and storage, and find memory leaks and corruption in applications.

    This volume benefits IT managers in planning to choose an embedded Linux distribution and in creating a roadmap for OS transition. It also describes the application of the Linux licensing model in commercial products.

    Table of Contents

    History of Embedded Linux
    Why Embedded Linux?
    Embedded Linux Versus Desktop Linux
    Frequently Asked Questions
    Embedded Linux Distributions
    Porting Roadmap

    Getting Started
    Architecture of Embedded Linux
    Linux Kernel Architecture
    User Space
    Linux Start-Up Sequence
    GNU Cross-Platform Toolchain

    Board Support Package
    Inserting BSP in Kernel Build Procedure
    The Boot Loader Interface
    Memory Map
    Interrupt Management
    The PCI Subsystem
    Power Management

    Embedded Storage
    Flash Map
    MTD-Memory Technology Device
    MTD Architecture
    Sample MTD Driver for NOR Flash
    The Flash Mapping Drivers
    MTD Block and Character Devices
    Mtdutils Package
    Embedded File Systems
    Optimizing Storage Space
    Tuning Kernel Memory

    Embedded Drivers
    Linux Serial Driver
    Ethernet Driver
    I2C Subsystem on Linux
    USB Gadgets
    Watchdog Timer
    Kernel Modules

    Porting Applications
    Architectural Comparison
    Application Porting Roadmap
    Programming with Pthreads
    Operating System Porting Layer (OSPL)
    Kernel API Driver

    Real-Time Linux
    Real-Time Operating System
    Linux and Real-Time
    Real-Time Programming in Linux
    Hard Real-Time Linux

    Building and Debugging
    Building Kernel
    Building Applications
    Building Root File System
    Integrated Development Environment
    Debugging Virtual Memory Problems
    Kernel Debuggers

    Embedded Graphics
    Graphics System
    Linux Desktop Graphics-The X Graphics System
    Introduction to Display Hardware
    Embedded Linux Graphics
    Embedded Linux Graphics Driver
    Windowing Environments, Toolkits, and Applications

    Linux on MMU-Less Systems
    Program Load and Execution
    Memory Management
    File / Memory Mapping-The Intricacies of mmap()
    in uClinux
    Process Creation
    Shared Libraries
    Porting Applications to uClinux
    XIP-eXecute In Place
    Building uClinux Distribution

    A Booting Faster
    Techniques for Cutting Down Bootloader Initialization
    Tuning Kernel for Decreased Boot-Up Time
    Tuning User Space for Decreased Boot-Up Time
    Measuring Boot-Up Time

    B GPL and Embedded Linux
    User-Space Applications
    Points to Remember

    Editorial Reviews

    "The book is a benefit for software developers and programmers . . . The authors gathered all the necessary items, subjects, methods and procedures that are important for embedded Linux development."

    – Klaus Harbusch, in Zentralblatt Math, 2008

    "The authors have done a good job fitting all the pieces together that are necessary for embedded Linux development. The book discusses topics such as board support packages, embedded storage and real-time Linux programming in depth. Embedded graphics and uClinux are also explained with clarity. The book is a good attempt to address the concerns of an embedded Linux developer… Although this book is specifically for running Linux on embedded systems it can also be used as a guide to port a system from traditional RTOS or homegrown operating system to embedded Linux… Seeing all the pieces separately and working together can help you make sense of the embedded Linux ecosystem."
    Todd Fischer, President and Founder, Cadenux, from the Foreword

    Downloads / Updates

    Resource OS Platform Updated Description Instructions
    embedded-linux.zip Cross Platform September 05, 2006
    embedded-linux-code.tar.gz Cross Platform September 05, 2006