Buy Print Book:
$49.99 USD
Add to Cart

Buy Print Book:
£35.50 GBP
Add to UK Cart

Envelope Tell a friend

Cover | Table of Contents | Index | Colophon


Table of Contents



Foreword

Preface

1. Introduction
     What Is an Embedded System?
     Variations on a Theme
     Embedded Design Examples
     Life As an Embedded Software Developer
     The C Language: The Lowest Common Denominator
     A Few Words About Hardware

2. Getting to Know the Hardware
     Understanding the Big Picture
     Hardware Basics
     Examine the Landscape
     Learn How to Communicate
     Getting to Know the Processor
     Study the External Peripherals
     Initialize the Hardware

3. Your First Embedded Program
     Hello, World!
     The Blinking LED Program
     The Role of the Infinite Loop

4. Compiling, Linking, and Locating
     The Build Process
     Building the Blinking LED Program
     A Quick Look at Makefiles

5. Downloading and Debugging
     Downloading the Blinking LED Program
     Remote Debuggers
     Emulators
     Other Useful Tools
     Dig into the Hardware

6. Memory
     Types of Memory
     Direct Memory Access
     Endian Issues
     Memory Testing
     Validating Memory Contents
     Using Flash Memory

7. Peripherals
     Control and Status Registers
     The Device Driver Philosophy
     Device Driver Design

8. Interrupts
     Overview
     Interrupt Map
     Interrupt Service Routine
     The Improved Blinking LED Program
     Summary of Interrupt Issues

9. Putting It All Together
     Application Overview
     Working with Serial Ports
     Command-Line Interface Processing

10. Operating Systems
     History and Purpose
     The Scheduler
     Tasks
     Task Synchronization
     Message Passing
     Other Functionality
     Interrupt Handling
     Real-Time Characteristics
     To Use or Not to Use an RTOS
     Additional Resources

11. eCos Examples
     Introduction
     Task Mechanics
     Mutex Task Synchronization
     Semaphore Task Synchronization
     Message Passing
     eCos Interrupt Handling

12. Embedded Linux Examples
     Introduction
     Accessing Hardware in Linux
     Task Mechanics
     Mutex Task Synchronization
     Semaphore Task Synchronization
     Message Passing

13. Extending Functionality
     Common Peripherals
     Networking for All Devices Great and Small

14. Optimization Techniques
     Increasing Code Efficiency
     Decreasing Code Size
     Problems with Optimizing Compilers
     Reducing Memory Usage
     Power-Saving Techniques
     Limiting the Impact of C++

A. The Arcom VIPER-Lite Development Kit

B. Setting Up Your Software Development Environment

C. Building the GNU Software Tools

D. Setting Up the eCos Development Environment

E. Setting Up the Embedded Linux Development Environment

Index

Return to Programming Embedded Systems

Programming Embedded Systems, Second Edition
With C and GNU Development tools

By Michael Barr, Anthony Massa
Price: $49.99 USD
$64.99 CAD, £35.50 GBP

Programming Embedded Systems