Linux for Embedded and Real-Time Applications

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 im...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Abbott, Doug
Format: E-Book
Sprache:Englisch
Veröffentlicht: Chantilly Elsevier Science & Technology 2006
Newnes
Ausgabe:2
Schriftenreihe:Embedded Technology Series
Schlagworte:
ISBN:9780750679329, 0750679328
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Inhaltsangabe:
  • Front Cover -- Linux for Embedded and Real-Time Applications -- Copyright Page -- 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 -- Resources -- Chapter 2. Introducing Linux -- Features -- Protected Mode Architecture -- The Linux Process Model -- The Linux Filesystem -- System Configuration -- The Shell -- Getting Help -- Resources -- Chapter 3. The Host Development Environment -- Linux Distributions -- Dual-Booting -- Cross-Development Tools-The GNU Tool Chain -- Resources -- Chapter 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? -- Resources -- Chapter 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 -- Resources -- Chapter 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" -- Resources -- Chapter 8. Embedded Networking -- Sockets -- A Simple Example -- A Remote Thermostat -- Embedded Web Servers -- A Web-Enabled Thermostat -- Embedded email -- Other Application-Level Protocols -- Resources
  • Chapter 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 -- Resources -- Chapter 10. Linux and Real-Time -- Why Linux Isn't Real-Time -- Two Approaches -- Resources -- Chapter 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 -- Resources -- Chapter 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 -- Resources -- Chapter 13. Cutting It Down to Size -- BusyBox -- TinyLogin -- uClinux -- Summary -- Resources -- Chapter 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 -- Appendix C. Why Software Should Not Have Owners -- Appendix D. Upgrading From Kernel 2.4 to 2.6 -- Index -- Elsevier Science CD-ROM License Agreement