So far, we've discussed many different ways of programming a single microcontroller unit (MCU). But what if the task at hand requires more processing than a single-core MCU can supply? What if the mechanical constraints of the system dictate the use of multiple MCUs physically distributed in the system while working together to complete a task? What about cases where reliability is paramount and a single failed processor results in a catastrophic system failure? All of these cases require the use of more than one processing core and, in some cases, more than one MCU.
This chapter explores multi-core and multi-processor solutions and their different applications. First, we'll take a look at the different design requirements that might drive a multi-core/processor solution. We'll then dive a bit deeper into the different ways...