Programming Embedded Systems: With C and GNU Development Tools

Front Cover
"O'Reilly Media, Inc.", Oct 11, 2006 - Computers - 336 pages
11 Reviews

If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded Systems, Second Edition is exactly what you need to get started with embedded software. This software is ubiquitous, hidden away inside our watches, DVD players, mobile phones, anti-lock brakes, and even a few toasters. The military uses embedded software to guide missiles, detect enemy aircraft, and pilot UAVs. Communication satellites, deep-space probes, and many medical instruments would have been nearly impossible to create without embedded software.

The first edition of Programming Embedded Systems taught the subject to tens of thousands ofpeople around the world and is now considered the bible of embedded programming. This second edition has been updated to cover all the latest hardware designs and development methodologies.

The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Examples use the free GNU software programming tools, the eCos and Linux operating systems, and a low-cost hardware platform specially developed for this book. If you obtain these tools along withProgramming Embedded Systems, Second Edition, you'll have a full environment for exploring embedded systems in depth. But even if you work with different hardware and software, the principles covered in this bookapply.

Whether you are new to embedded systems or have done embedded work before, you'll benefit from the topics in this book, which include:

  • How building and loading programs differ from desktop or servercomputers
  • Basic debugging techniques--a critical skill when working withminimally endowed embedded systems
  • Handling different types of memory
  • Interrupts, and the monitoring and control of on-chip and externalperipherals
  • Determining whether you have real-time requirements, and whetheryour operating system and application can meet those requirements
  • Task synchronization with real-time operating systems and embeddedLinux
  • Optimizing embedded software for size, speed, and power consumption
  • Working examples for eCos and embedded Linux

So whether you're writing your first embedded program, designing thelatest generation of hand-held whatchamacalits, or managing the peoplewho do, this book is for you. Programming EmbeddedSystems will help you develop the knowledge and skills youneed to achieve proficiency with embedded software.

Praise for the first edition:

"This lively and readable book is the perfect introduction for those venturing into embedded systems software development for the first time. It provides in one place all the important topics necessary to orient programmers to the embedded development process.
--Lindsey Vereen, Editor-in-Chief, Embedded Systems Programming
 

What people are saying - Write a review

User ratings

5 stars
4
4 stars
5
3 stars
2
2 stars
0
1 star
0

User Review - Flag as inappropriate

good book of embedded..

User Review - Flag as inappropriate

Programming Embedded Systems: With C and GNU Development Tools

Contents

Introduction
1
Getting to Know the Hardware
19
Your First Embedded Program
43
Downloading and Debugging
70
Memory
93
Peripherals
122
Interrupts
142
Putting It All Together
164
Operating Systems
173
eCos Examples
198
Embedded Linux Examples
219
Extending Functionality
232
Optimization Techniques
248
Index
285
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page 1 - I think there is a world market for maybe five computers.
Page xiii - First figure out why you want the students to learn the subject and what you want them to know, and the method will result more or less by common sense' (Feynman, 1952, cited in Goodstein and Neugebauer, 1989).
Page 13 - low level" language. This characterization is not pejorative; it simply means that C deals with the same sort of objects that most computers do, namely characters, numbers, and addresses.

About the author (2006)

ANTHONY J. MASSA earned a dual B.S./B.A. degree in electrical engineering from the University of San Diego. He has developed embedded software, device drivers, and applications on a wide range of processors and embedded RTOS platforms, for successful products including satellite PC receiver cards and modems, set-top boxes, networking broadcast equipment, and Internet-enabled wireless modems. Massa has written extensively on eCos in many leading publications including "Doctor Dobb's Journal," "Embedded Systems Programming," and "Software Development,