Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...

Top Sellers in this Category

Head First Design Patterns

Head First Design Patterns
by Eric Freeman; Elisabeth Robson; Kathy Sierra; Bert Bates

Regular Expressions Cookbook

Regular Expressions Cookbook
by Jan Goyvaerts; Steven Levithan

The Ruby Programming Language, 1st Edition

The Ruby Programming Language, 1st Edition
by David Flanagan; Yukihiro Matsumoto

Head First Object-Oriented Analysis and Design

Head First Object-Oriented Analysis and Design
by Brett McLaughlin; Gary Pollice; David West

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 of people 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 with Programming 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 book apply.

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 server computers

  • Basic debugging techniques--a critical skill when working with minimally endowed embedded systems

  • Handling different types of memory

  • 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

  • Working examples for eCos and embedded Linux

So whether you're writing your first embedded program, designing the latest generation of hand-held whatchamacalits, or managing the people who do, this book is for you. Programming Embedded Systems will help you develop the knowledge and skills you 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

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.0 out of 5 rating Based on 7 Ratings

Great Introduction to Embedded Systems Programming. - 2006-12-16
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book gives an excellent overview of programming embedded systems. It provides numerous examples of real-world hands-on embedded programming. I'd recommend that you have experience in C. Experience with operating systems concepts (such as interrupt service routines) would also be helpful.

Unlike usual programming books, you won't be able to pick up the book, download something, and start working. You'll need to have an embedded system that you can use. The authors use a system from Arcom that will run you about $300. I've not used it and was very wary about it when I first started reading, but as I read through the various examples I gained a great appreciation for the system. It looks like a great way to gain hands-on experience with embedded programming.

Before getting this book I read through the Lego Mindstorm NXT documentation and felt very lost. I didn't understand the symbols on the schematics and they used strange acronyms (like I2C and PWM). I also have an Iguanaworks USB infrared transceiver. I bought it to use in a MythTV system I am building. This book has enabled me to understand the schematics of both the Mindstorm and the transceiver as well as the documentation of both systems. I now feel ready to do my own embedded systems programming.

That said, I did not like everything in this book. They gloss over areas that I felt would have helped me (such as how to use a JTAG adapter and how to create an interrupt service routine under Linux). There are areas where the writing does not flow well and is redundant. The book switched from using an embedded x86 processor in the first edition to using an ARM processor in the second and there are still references to the old processor.

Even with its faults I am glad I got this book. It filled in many of the gaps that I have as a software engineer who is wanting to learn about embedded systems programming. I feel a whole new world has just been opened up to me and I can't wait to jump in.

Good book, bad development kit - 2008-09-22
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Presents a good introduction to embedded system programming; no complaints there. However, their choice of development kit is poor. The Arcom (now EuroTech) kit is $600, rather than the $300 stated in the book. And it took almost 3 weeks for them to respond to a quote request. Fortunately, there are kits available from other vendors (BiPom, Olimex, etc.) which can be substituted for less than $300. However, the impracticality of using the Arcom kit robs the book of its purpose of being a hands-on, guided tutorial.

Good Introductory Book to 32-bit Embedded Programming - 2009-03-23
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Embedded system requires very diversified skillsets and I don't believe all of them can be covered in one book. In my opinion, the skilset of embedded system programming can be loosely grouped into two categories which are 8-bit and 32-bit. Engineers writing software for 8-bit microcontroller would usually be more involved in hardware details such as keypad debouncing, soft I2C etc. On the other hand, their 32-bit counterpart would spend more time designing more complex software that may includes bootloader, structured programming and RTOS. This book is more appropriate for those who intend to use 32-bit processor i.e. ARM rather than 8-bit microcontrollers i.e. 8051 and PIC.

I had quite some years of experience developing PIC/8051 firmware on Windwos platform, but did not had any experience on Unix. I found the book is particular useful in introducing building project on Unix platform, it is brief, but that's exactly what I wanted - short and simple.

Chapters on hardware, tool chain, memory, interrupts and RTOS are quite fundamental but could come handy to beginner in embedded world despite there are many other books that excel in these areas. However, I found Chapter 7 "Peripherals" is well written to teach you how to write a device driver. I believe this is something new to learn for engineers with either software or hardware background. Hardware engineers tend to access the hardware registers directly. On the other hand, softawre guys may not be familiar with low-level hardware. The authors talked about the device driver philosophy and elaborate on how to use struct and bitfield to provide hardware abstraction. Finally, a serial port device driver is presented as an example.

As a conclusion, this is a very good introductory book to 32-bit embedded programming, or better still if you use Unix/Linux/eCOS. For those who want to learn deeper about RTOS and hardware (say, how to write soft I2C, keypad/button debounce, LCD driver), you wouldn't gain much from this book.

Learning Tool for a Foundation Course - 2008-05-06
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
If you are just getting into embedded systems and you want to understand the myriad of interacting concepts, this book is a good start. You will get a solid overview of the basic elements, such as hardware, software tools and techniques, memory and peripherals, processing controls and design strategies.

As with any embedded systems book, there has to be some alignment with specific hardware and application examples. The author uses these examples to tie together embedded elements, but the integration is a bit choppy.

The book is organized as a general introduction to embedded systems. About half the book describes the system elements and about half provides full system examples. A single book cannot cover all topologies and development platforms, so I wouldn't recommend it for someone who is trying to solve a specific problem on his/her embedded application. For cases like that, your vendors and FAEs are probably your best bet.

So if you are trying to learn embedded systems development, this is a great resource. If you intend to use it to guide a current project or debug an embedded problem, it may become more of a distraction.

Possibly a good book if updated - 2009-10-03
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I purchased this book in an effort to learn how to program embedded systems. When I opened the book I quickly realized that the true strength of this book's potential lies in it's ability to pattern it's teaching off of an embedded development kit that I would need to purchase separately.
I was okay with this and called the dev kit manufacturer from the appendix - arcom and tried to purchase the hardware development kit so I could follow along with the book.

The Arcom distributor for my area indicated that the kit used by this book for this second edition was not only obsoleted but end of lifed and not available for purchase.

This made me quite sad since without the hardware development environment this book becomes practically useless. That is a real shame. Perhaps the authors simply need to locate a dev kit that is available to their readers and do an update?

As a previous embedded developer and hardware engineer I could probably go through the text and learn a handful of techniques, but embedded programming for me has always required some hardware platform.
This is such a shame....

After being a loyal Seattle Amazon customer for so many years, I felt so strongly that this is my very first review after literally dozens and dozens of Amazon purchases. This is the very first time I felt my money was unfortunately wasted.

Browse Similar Topics

Top Level Categories:
Hardware

Sub-Categories:
Hardware > Embedded

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.