Linux for Embedded and Real-time Applications
By- Doug Abbott, President, Intellimetrix, Inc., Silver City, NM, USA
- Doug Abbott, 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 Abbotts 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. Youll 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 books examples, helpful software and other resources to help you get up to speed quickly. This is still the reference youll reach for again and again!
Audience
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
Imprint: Newnes
ISBN: 978-0-7506-7932-9
Contents
- Preface, About.the.Author, Whats.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 ToolsThe GNU Tool Chain, ResourcesCHAPTER.4:.Configuring.and.Building.the.Kernel, Getting Started, Where is the Source Code?, Configuring the Kernelmake config, menuconfig, xconfig, Behind the ScenesWhats 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, Whats 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 AlternativeuCLinux, 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 ProblemPriority Inversion, Interrupts and Exceptions, Critical Sections, ResourcesCHAPTER.10:.Linux.and.Real-Time, Why Linux Isnt Real-Time, Two ApproachesCHAPTER.11:.The.RTAI.Environment, Installing RTAI, Inter-Task Communication and Synchronization, Communicating with Linux Processes, Real-Time in User SpaceLXRT, One Shot vs. Periodic Timing, Moving to Kernel Space, Real-Time FIFOs and Shared Memory Suggested Exercises, ResourcesCHAPTER.12:.Posix.Threads, Threads, Thread Attributes, SynchronizationMutexes, CommunicationCondition 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

