
42 Chapter 5: Getting to Know the Hardware
notes about the software design and implementation. A project notebook is valu-
able not only while you are developing the software, but also once the project is
complete. You will appreciate the extra effort you put into keeping a notebook
when you need to make changes to your software, or work with similar hard-
ware, months or years later.
If you still have any big-picture questions after reading the hardware documents,
ask a hardware engineer for some help. If you don’t already know the hardware’s
designer, take a few minutes to introduce yourself. If you have some time, take
him out to lunch or buy him a beer after work. (You don’t even have to talk about
the project the whole time!) I have found that many software engineers have diffi-
culty communicating with hardware engineers, and vice versa. In embedded sys-
tems development, it is especially important that the hardware and software teams
be able to communicate with one another.
Examine the Landscape
It is often useful to put yourself in the processor’s shoes for a while. After all, the
processor is only going to do what you ultimately instruct it to do with your soft-
ware. Imagine what it is like to be the processor: what does the processor’s world
look like? If you think about it from this perspective, one thing you quickly real-
ize is that the processor has a lot of compatriots. These are ...