Linux for Embedded and Real-time ApplicationsBy
- Doug Abbott
- Doug Abbott
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!
PRIMARY MARKET: Embedded Design Engineers, Software developers, Electrical Engineers, Computer Engineers SECONDARY MARKET: Undergrad and post-graduate level electrical and computer engineering students
Published: April 2006
- 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, ResourcesCHAPTER.9:.Introduction.to.Real-Time.Programming, 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, ResourcesCHAPTER.13:.Cutting.It.Down.to.Size, 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 APPENDIX.D:.Upgrading.From.Kernel.2.4.to.2.6