Linux for Embedded and Real-time Applications


  • Doug Abbott, President, Intellimetrix, Inc., Silver City, NM, USA President, Intellimetrix, Inc., Silver City, NM, USA
  • Doug Abbott, President, Intellimetrix, Inc., Silver City, NM, USA President, Intellimetrix, Inc., Silver City, NM, USA

The open source nature of Linux has always intrigued embedded engineers, and the latest kernel releases have provided new features enabling more robust functionality for embedded applications. Enhanced real-time performance, easier porting to new architectures, support for microcontrollers and an improved I/O system give embedded engineers even more reasons to love Linux! However, the rapid evolution of the Linux world can result in an eternal search for new information sources that will help embedded programmers to keep up!This completely updated second edition of noted author Doug Abbott’s respected introduction to embedded Linux brings readers up-to-speed on all the latest developments. This practical, hands-on guide covers the many issues of special concern to Linux users in the embedded space, taking into account their specific needs and constraints. You’ll find updated information on:• The GNU toolchain• Configuring and building the kernel• BlueCat Linux• Debugging on the target• Kernel Modules• Devices Drivers• Embedded Networking• Real-time programming tips and techniques• The RTAI environment• And much moreThe accompanying CD-ROM contains all the source code from the book’s examples, helpful software and other resources to help you get up to speed quickly. This is still the reference you’ll reach for again and again!
View full description


PRIMARY MARKET: Embedded Design Engineers, Software developers, Electrical Engineers, Computer Engineers SECONDARY MARKET: Undergrad and post-graduate level electrical and computer engineering students


Book information

  • Published: April 2006
  • Imprint: NEWNES
  • ISBN: 978-0-7506-7932-9

Table of Contents

Preface, About.the.Author, What’s.on.the.CD-ROM, CHAPTER.1:.The.Embedded.and.Real-Time.Space, What is Embedded?, What is Real-Time?, How and Why Does Linux Fit In?, Where is Linux Embedded?, Open Source Licensing, ResourcesCHAPTER.2:.Introducing.Linux, Features, Protected Mode Architecture, The Linux Process Model, The Linux Filesystem, System Configuration, The Shell, Getting Help, ResourcesCHAPTER.3:.The.Host.Development.Environment, Linux Distributions, Dual-Booting, Cross-Development Tools—The GNU Tool Chain, ResourcesCHAPTER.4:.Configuring.and.Building.the.Kernel, Getting Started, Where is the Source Code?, Configuring the Kernel—make config, menuconfig, xconfig, Behind the Scenes—What’s Really Happening, Booting the New Kernel, What Can Go Wrong?, ResourcesCHAPTER.5:.BlueCat.Linux, The “Less is More” Philosophy, Installing BlueCat Linux, X86 Target for BlueCat Linux, Configuring the Workstation, First Test Program, The “Shell” Kernel, ResourcesCHAPTER.6:.Debugging.Embedded.Software, The Target Setup, GDB, The Host as a Debug Environment, Adding Programmable Setpoint and Limit, Resources CHAPTER.7:.Kernel.Modules.and.Device.Drivers, Kernel Modules, What’s a Device Driver Anyway?, Linux Device Drivers, Internal Driver Structure, The Hardware, The Target Version of Thermostat, Debugging Kernel Code, Building Your Driver into the Kernel, An Alternative—uCLinux, The “Old Way,” ResourcesCHAPTER.8:.Embedded.Networking, Sockets, A Simple Example, A Remote Thermostat, Embedded Web Servers, A Web-Enabled Thermostat, Embedded email, Other Application-Level Protocols,, Polling vs. Interrupts, Tasks, Scheduling, Aperiodic Scheduling, Kernel Services, Inter-Task Communication, Problems with Solving the Resource Sharing Problem—Priority Inversion, Interrupts and Exceptions, Critical Sections, ResourcesCHAPTER.10:.Linux.and.Real-Time, Why Linux Isn’t Real-Time, Two ApproachesCHAPTER.11:.The.RTAI.Environment, Installing RTAI, Inter-Task Communication and Synchronization, Communicating with Linux Processes, Real-Time in User Space—LXRT, One Shot vs. Periodic Timing, Moving to Kernel Space, Real-Time FIFOs and Shared Memory Suggested Exercises, ResourcesCHAPTER.12:.Posix.Threads, Threads, Thread Attributes, Synchronization—Mutexes, Communication—Condition Variables, Pthreads in User Space, Moving to RTAI Kernel Space, Message Queues, Suggestions for Further Exploration,, BusyBox , TinyLogin, uClinux, Summary, ResourcesCHAPTER.14:.Eclipse.Integrated.Development.Environment, Overview, Installation, Using Eclipse, The C Development Environment (CDT), Summary, Resources, APPENDIX.A:. RTAI.Application.Programming.Interface. (API)APPENDIX.B:.Posix.Threads.(Pthreads).Application, Programming.InterfaceAPPENDIX.C:.Why.Software.Should.Not.Have.Owners