Embedded Systems Design: An Introduction to Processes, Tools, and Techniques

Embedded systems represent target platforms that are usually specific to a single task. This specificity means the system design can be highly optimized because the range of tasks the device must perform is well bounded. In other words, you wouldn t use your PC to run your coffee machine (you might, but that s beside the point). Unlike your desktop processor, the 4-bit microcontroller that runs your coffee machine costs less than $1 in large quantities. It does exactly what it s supposed to do to make your coffee. It doesn t play Zelda, nor does it exchange data with an Internet service provider (ISP), although that might change soon. Because the functionality of the device is so narrowly defined, you must find the optimal processing element (CPU) for the design. Given the several hundred choices available and the many variations within those choices, choosing the right CPU can be a daunting task.
Although choosing a processor is a complex task that defies simple optimization (see Figure 2.1) in all but the simplest projects, the final choice must pass four critical tests:
Considerations for choosing the right microprocessor for an embedded application.
Is it available in a suitable implementation?
Is it capable of sufficient performance?
Is it supported by a suitable operating system?
Is it supported by appropriate and adequate tools?
Is the Processor Available in a Suitable Implementation? Cost-sensitive projects might require an off-the-shelf, highly integrated part. High-performance applications might require gate-to-gate delays that are...