
Preface xiii
does expect that you are willing to learn a little bit about hardware along the way.
This is, after all, a part of the job of an embedded programmer.
While writing this book, I had two types of readers in mind. The first reader is a
beginner—much as I was when I graduated from college. She has a background in
computer science or engineering and a few years of programming experience. The
beginner is interested in writing embedded software for a living but is not sure just
how to get started. After reading the first five chapters, she will be able to put her
programming skills to work developing simple embedded programs. The rest of
the book will act as her reference for the more advanced topics encountered in the
coming months and years of her career.
The second reader is already an embedded systems programmer. She is familiar
with embedded hardware and knows how to write software for it but is looking
for a reference book that explains key topics. Perhaps the embedded systems pro-
grammer has experience only with assembly language programming and is rela-
tively new to C and C++. In that case, the book will teach her how to use those
languages in an embedded system, and the later chapters will provide the
advanced material she requires.
Whether you fall into one of these categories or not, I hope this book provides the
information you are looking for in a format that is friendly and ...