ABSTRACT
Speed of input and output (I/O) devices mismatches that of the processor. We
need to synchronize the activities of processor and I/O devices to have an efficient
embedded system. In the absence of synchronization, one possibility is that the
processor is highly underutilized when the I/O is too slow, while it can potentially
lead to data loss in the case of too fast I/O device. There is an inherent need to
synchronize the processor with the I/O devices. This chapter first describes different
methods that can be employed for synchronization of input and output devices with
that of processor execution. Later part of the chapter is dedicated to interrupt based
synchronization, where we specifically present how Cortex-M processor uses interrupts
for this job.