
14 Chapter 2: Your First Embedded Program
You see, the underlying assumption of the “Hello, World!” example is that there is
some sort of output device on which strings of characters can be printed. A text
window on the user’s monitor often serves that purpose. But most embedded sys-
tems lack a monitor or analogous output device. And those that do have one typi-
cally require a special piece of embedded software, called a display driver, to be
implemented first—a rather challenging way to begin one’s embedded program-
ming career.
It would be much better to begin with a small, easily implemented, and highly
portable embedded program in which there is little room for programming mis-
takes. After all, the reason my book-writing counterparts continue to use the
“Hello, World!” example is that it is a no-brainer to implement. This eliminates one
of the variables if the reader’s program doesn’t work right the first time: it isn’t a
bug in their code; rather, it is a problem with the development tools or process
that they used to create the executable program.
Embedded programmers must be self-reliant. They must always begin each new
project with the assumption that nothing works—that all they can rely on is the
basic syntax of their programming language. Even the standard library routines
might not be available to them. These are the auxiliary functions—like printf and
scanf—that most other programmers ...