
A Few Words About Hardware 11
C++. In addition, I will cover those features of C++ that are most useful for embed-
ded software development and use them in the later examples. Assembly lan-
guage will be discussed in certain limited contexts, but will be avoided whenever
possible. In other words, I will mention assembly language only when a particular
programming task cannot be accomplished in any other way.
I feel that this mixed treatment of C, C++, and assembly most accurately reflects
how embedded software is actually developed today and how it will continue to
be developed in the near-term future. I hope that this choice will keep the discus-
sion clear, provide information that is useful to people developing actual systems,
and include as large a potential audience as possible.
A Few Words About Hardware
It is the nature of programming that books about the subject must include exam-
ples. Typically, these examples are selected so that they can be easily experi-
mented with by interested readers. That means readers must have access to the
very same software development tools and hardware platforms used by the author.
Unfortunately, in the case of embedded programming, this is unrealistic. It simply
does not make sense to run any of the example programs on the platforms avail-
able to most readers—PCs, Macs, and Unix workstations.
Even selecting a standard embedded platform is difficult. As ...