Embedded Linux covers the development and implementation of interfacing applications on an embedded Linux platform.
Part I: Getting Started
Chapter 1. Introducing Embedded Linux
- Why Linux, Why Now?
- What Is an Embedded System?
- What Does Real-Time Mean?
- Implications of Open Source
- Summary
- Additional Reading
Chapter 2. System Architecture
- Introducing Project Trailblazer
- The Silverjack Resort Layout
- Project Trailblazer Requirements
- The Project Trailblazer System Architecture
- Summary
Chapter 3. Selecting a Platform and Installing Tool Sets
- Sources of Information
- The Project Trailblazer Strategic Direction
- Building tbdev1 , the Embedded Linux Development Workstation
- Summary
- Additional Reading
Chapter 4. Booting Linux
- The Target PBRs
- The Linux Boot Process
- The Linux root Filesystem
- Creating the root Filesystem
- Installing the TFTP Server
- Installing minicom
- Booting the Embedded Planet RPX-CLLF
- Booting the Brightstar Engineering MediaEngine
- Booting the Tri-M MZ104 and the COTS PC with a Flash IDE Drive
- Boot Comparison
- Summary
- Additional Reading
Chapter 5. Debugging
- Introducing gdb
- Local Debugging
- Remote Debugging
- Network-Mounting the root Filesystem
- Summary
- Additional Reading
Part II: Interfacing
Chapter 6. Asynchronous Serial Communication Interfacing
- The Project Trailblazer Asynchronous Serial Hardware Development Environment
- Linux Serial Communications
- Summary
- Additional Reading
Chapter 7. Parallel Port Interfacing
- Control Using the Parallel Port
- Standard Parallel Port Control with Port I/O
- Standard Parallel Port Control Using ppdev
- Developing a Custom Device Driver
- Standard Parallel Port Control Using the Custom Device Driver liftmon_snowcon
- Summary
- Additional Reading
Chapter 8. USB Interfacing
- Learning About USB
- Project Trailblazer USB Hardware
- Summary
- Additional Reading
Chapter 9. Memory I/O Interfacing
- The Hardware Design Process
- Developing Lift Monitoring and Snow-Making Control for the MediaEngine
- Developing Lift Monitoring and Snow-Making Control for the RPX-CLLF
- Summary
- Additional Reading
Chapter 10. Synchronous Serial Communication Interfacing
- Temperature Sensing and Display
- SPI Communication and the LM70
- I2C Communication with the Philips Semiconductor SAA1064
- Summary
- Additional Reading
Chapter 11. Using Interrupts For Timing
- Linux Timing Sources
- Measuring Interrupt Latency
- Implementing the Race Timer
- Summary
- Additional Reading
Chapter 12. System Integration
- Integration Overview
- Installing the System Integration Applications
- Creating and Testing the Project Trailblazer Database
- Developing the Target and CGI Integration Scripts
- Summary
- Additional Reading
Chapter 13. Final Thoughts
- GUI Development
- Real-time Capabilities
- The Embedded Linux Vendor Offerings
- Project Trailblazer Hardware
- Summary
- Additional Reading
About This Book
Embedded Linux covers the development and implementation of interfacing applications on an embedded Linux platform. It includes a comprehensive discussion of platform selection, crosscompilation, kernel compilation, root filesystem creation, booting, remote debugging, real-world interfacing, application control, data collection, archiving, and presentation.
This book includes serial, parallel, memory I/O, USB, and interrupt-driven hardware designs using x86-, StrongARM®-, and PowerPC®-based target boards. In addition, you will find simple device driver module code that connects external devices to the kernel, and network integration code that connects embedded Linux field devices to a centralized control center. Examples teach hardware developers how to store and activate field bits and deliver process information using open source software. If you are a hardware developer, software developer, system integrator, or product manager who's begun exploring embedded Linux for interfacing applications, this book is for you.