Publisher: O'Reilly Media Released: October 2006 Pages: 336
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 |
-
Chapter 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 -
Chapter 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 -
Chapter 3 Your First Embedded Program -
Hello, World! -
The Blinking LED Program -
The Role of the Infinite Loop -
Chapter 4 Compiling, Linking, and Locating -
The Build Process -
Building the Blinking LED Program -
A Quick Look at Makefiles -
Chapter 5 Downloading and Debugging -
Downloading the Blinking LED Program -
Remote Debuggers -
Emulators -
Other Useful Tools -
Dig into the Hardware -
Chapter 6 Memory -
Types of Memory -
Direct Memory Access -
Endian Issues -
Memory Testing -
Validating Memory Contents -
Using Flash Memory -
Chapter 7 Peripherals -
Control and Status Registers -
The Device Driver Philosophy -
Device Driver Design -
Chapter 8 Interrupts -
Overview -
Interrupt Map -
Interrupt Service Routine -
The Improved Blinking LED Program -
Summary of Interrupt Issues -
Chapter 9 Putting It All Together -
Application Overview -
Working with Serial Ports -
Command-Line Interface Processing -
Chapter 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 -
Chapter 11 eCos Examples -
Introduction -
Task Mechanics -
Mutex Task Synchronization -
Semaphore Task Synchronization -
Message Passing -
eCos Interrupt Handling -
Chapter 12 Embedded Linux Examples -
Introduction -
Accessing Hardware in Linux -
Task Mechanics -
Mutex Task Synchronization -
Semaphore Task Synchronization -
Message Passing -
Chapter 13 Extending Functionality -
Common Peripherals -
Networking for All Devices Great and Small -
Chapter 14 Optimization Techniques -
Increasing Code Efficiency -
Decreasing Code Size -
Problems with Optimizing Compilers -
Reducing Memory Usage -
Power-Saving Techniques -
Limiting the Impact of C++ -
Appendix 1 The Arcom VIPER-Lite Development Kit -
Appendix 2 Setting Up Your Software Development Environment -
Windows Host Installation -
Linux Host Installation -
Example Code Installation -
Appendix 3 Building the GNU Software Tools -
Extracting the Source Files -
Building the Toolchain -
Appendix 4 Setting Up the eCos Development Environment -
The eCos Build Environment -
Appendix 5 Setting Up the Embedded Linux Development Environment -
Linux Build Environment Setup -
Embedded Linux Examples |
- Title:
- Programming Embedded Systems, 2nd Edition
- By:
- Michael Barr, Anthony Massa
- Publisher:
- O'Reilly Media
- Formats:
-
- Print
- Ebook
- Safari Books Online
- Print:
- October 2006
- Ebook:
- February 2009
- Pages:
- 336
- Print ISBN:
- 978-0-596-00983-0
- | ISBN 10:
- 0-596-00983-6
- Ebook ISBN:
- 978-0-596-10551-8
- | ISBN 10:
- 0-596-10551-7
|
-
Michael Barr Michael Barr is a leading authority on the design of embeddedcomputer systems. He has provided expert testimony in court, appearedon the PBS show "American Business Review", and been quoted innewspaper articles. Barr is also the author of more than fortytechnical articles, co-author of the "Embedded Systems Dictionary",and a founder of EmbeddedGurus.net. For three and a half years heserved as editor-in-chief of Embedded Systems Programming magazine. Mr. Barr also founded Netrino, LLC. The firm helps product companiesdevelop embedded software faster in three ways: by teaching bestpractices, by consulting with system designers, and by outsourcingfirmware implementation. Netrino's engineers have designed ordeveloped software that runs millions of products worldwide, fromconsumer electronics to medical devices. Anthony Massa has over a decade of experience in embedded softwaredevelopment. He has worked on the architecture and development ofsoftware for several products in use today, including satellite andcable modems, wireless radios, set-top boxes, and head-endtransmission equipment. Anthony has written several articles inleading software development magazines focusing on embedded softwaredevelopment and is author of the book Embedded SoftwareDevelopment with eCos. Anthony is Chief Engineer of Software at Elintrix(http://www.elintrix.com), a provider of wireless networked and signalprocessing products. He holds a dual B.S./B.A. degree in electricalengineering from the University of San Diego. View Michael Barr's full profile page. -
Anthony Massa Anthony Massa has over a decade of experience in embedded software development. He has worked on the architecture and development of software for several products in use today, including satellite and cable modems, wireless radios, set-top boxes, and head-end transmission equipment. Anthony has written several articles in leading software development magazines focusing on embedded software development and is author of the book Embedded Software Development with eCos. Anthony is co-founder and Chief Engineer of Software at Elintrix (http://www.elintrix.com), a provider of wireless networked and signal processing products. He holds a dual B.S./B.A. degree in electrical engineering from the University of San Diego. View Anthony Massa's full profile page. |
Colophon The insects on the cover of Programming Embedded Systems with C and GNU Development Tools, Second Edition, are ticks. There are approximately 850 species of these small to microscopic, blood-feeding parasites distributed worldwide. They are particularly abundant in tropical and subtropical regions. There are two main families of ticks: hard ticks, whose mouth parts are visible from above, and soft ticks, whose mouth parts are hidden.In both hard and soft ticks, the mouth is made up of three major parts: the palps, the chelicerae, and the hypostome. It is the hypostome that is inserted into the host's skin while the tick is feeding. A series of backward-facing projections on the hypostome make it difficult to remove the tick from the skin. Most ticks also secrete a sticky substance that glues them into place. This substance dissolves when the tick is done feeding. Their external body surface expands from 200 to 600 percent to accommodate the blood that is ingested.Ticks go through three life stages: larva, nymph, and adult. At each stage they feed on a mammal, reptile, or bird host. Ticks wait for a host by perching on leaves or other surfaces with their front two legs extended. When a host brushes up against them they latch on and attach themselves. Adult female hard ticks lay a single batch of thousands of eggs and then die. Adult male ticks also die after a single mating.As parasites go, ticks can be very nasty. They transmit more disease than any other blood-sucking parasite, including Lyme disease, Rocky Mountain spotted fever, and relapsing fever. They can also cause excessive blood loss. Some ticks secrete nerve poisons that can potentially cause death. A tick can be removed from skin by grasping it with a tweezer or a special tick-removing device as close to the skin as possible, and pulling in one steady motion. Do not squeeze the tick. Immediately flush it down the toilet-or place it in a sealed container and hold onto it for one month, in case you develop symptoms of a disease.The cover image is a 19th-century engraving from the Dover Pictorial Archive. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed.The production editors for Book Title, eMatter Edition were Ellie Cutler and Jeff Liggett. Linda Walsh was the product manager. Kathleen Wilson provided design support. Lenny Muellner, Mike Sierra, Erik Ray, and Benn Salter provided technical support. This eMatter Edition was produced with FrameMaker 5.5.6. |
|
Description
|
Table of Contents
|
Product Details
|
About the Author
|
Colophon
|
 |
|
 |
|
|
|
Recommended for You
|
Recently Viewed
|
 |
|
By Russ Miles, Kim Hamilton
April 2006
Ebook: $35.99
Print & Ebook: $49.49
Print: $44.99
By Richard Monson-Haefel, Bill Burke
May 2006
By Steven Feuerstein, Bill Pribyl
August 2005
|
Customer Reviews
8/23/2009 (4 of 5 customers found this review helpful) By ajay_embd from Undisclosed 6/20/2008 (2 of 2 customers found this review helpful) 3.0'Very good' if it wasn't for the the sub-standard hardware sales channel By Anonymous from Undisclosed 6/18/2008 (4 of 4 customers found this review helpful) By FordyUK from Undisclosed 5/21/2008 (2 of 2 customers found this review helpful) 4.0So far the book is reads well but the board price skyrocketed.... By Robert from Undisclosed 3/7/2008 (3 of 3 customers found this review helpful) 4.0Programming Embedded Systems By Martin from Undisclosed 7/24/2007 (1 of 1 customers found this review helpful) 4.0Got me up and running right away By Anonymous from Undisclosed 12/16/2006 (1 of 1 customers found this review helpful) 4.0Great Introduction to Embedded Systems Programming. By Joshua Benuck from Undisclosed
|
|
|