Contents

This book is about microcontrollers, in the field of digital control systems.
We will discuss embedded systems, real-time operating systems, and other topics of interest. It is important to realize that embedded systems rarely have display capabilities, and if they do have displays, they are usually limited to small text-only LCD displays. The challenge of programming an embedded system then is that it is difficult to get real-time feedback from the system without a display. It is common to use a simple serial interface for diagnostic purposes, for example by connecting to a PC running terminal software via a RS-232 to USB adapter. Also, embedded systems usually have very strict memory limitations, processor limitations, and speed limitations that must play a factor in designing an embedded system, and programming an embedded computer. This book talks about some of the specific issues involved in programming an embedded computer. It also covers some basic topics such as microprocessor architectures, FPGAs, and some general low-level computing topics. While many of the issues discussed in this book may apply to PCs, and non-embedded computers, this book remains focused on topics that apply to embedded systems only.

This book has incorporated a number of smaller books, stub-books, and half-books that were previously written about this subject.