Sebastopol, CA--By a conservative estimate, six billion new microprocessors are manufactured each year, but fewer than two percent of the units go into PCs. The rest are at the heart of the embedded systems that underlie nearly all of the electronic devices used today. We take for granted the scores of products in our homes that contain processors: televisions, stereos, MP3 players, coffee makers, alarm clocks, DVD players, microwaves, dishwashers, remote controls, and so on. And those are just the personal possessions--many more such devices are used at work. The fact that every one of these items contains not only a processor, but also software, is the impetus for the new edition of Programming Embedded Systems with C and GNU Development Tools (O'Reilly, US $49.99) by Michael Barr and Anthony Massa.
As consumers demand more intelligent products, the industry needs more embedded systems people to meet that demand. "Embedded developers must have a deep understanding of both the programming languages and the hardware itself," writes Jack Ganssle in his foreword to the book. "No one can design, code, and test an interrupt service routine, for instance, without knowing where the interrupts come from, how the hardware prioritizes them, the tricks behind servicing that hardware, and machine-level details about saving and preserving the system's context."
"Each embedded system is unique," observe Barr and Massa, "and the hardware is highly specialized to the application domain. As a result, embedded systems programming can be a widely varying experience and can take years to master. However, the one common denominator across almost all embedded software development is the use of the C programming language."
In Programming Embedded Systems, Barr and Massa teach readers how to use C in any embedded system. In addition to learning how to use C more effectively, readers will also benefit from the detailed explanations and source code associated with common embedded software programs. Advanced topics covered include memory testing and verification, device driver design and implementation, real-time operating system internals, and code optimization techniques.
Other topics covered include:
- Basic debugging techniques
- Interrupts, and the monitoring and control of on-chip and external peripherals
- Determining whether you have real-time requirements, and whether your operating system and application can meet those requirements
- Task synchronization with real-time operating systems and embedded Linux
- Optimizing embedded software for size, speed, and power consumption
The techniques and code examples presented in Programming Embedded Systems are directly applicable to real-world embedded software projects of all kinds. Examples use the free GNU software programming tools, the eCos and Linux operating systems, and a low-cost hardware platform specially developed for the book. Together with the book, these provide a complete environment for exploring embedded systems in depth.
The first edition of Programming Embedded Systems taught the subject to tens of thousands of people and is now considered the bible of embedded programming. Updated to cover the latest hardware designs and development methodologies, the new second edition is sure to help a new generation of programmers develop the skills they need 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
- More information about the book, including table of contents, index, author bios, and samples
- A cover graphic in JPEG format
Programming Embedded Systems with C and GNU Development Tools
Michael Barr and Anthony Massa
ISBN: 0-596-00983-6, 326 pages, $49.99 US, $64.99 CA
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.