In the world of embedded systems, one doesn’t often find megabytes of memory, rather, the largest percentage of embedded systems use just a few kilobytes of memory. Sometimes we come across systems described as embedded systems where the system has a hard disk, several megabytes of main memory and other features common to desktop PC type systems. Many of these kinds of systems even use PC-type microprocessors in what amounts to a small form-factor PC.

This paper doesn’t presume to suggest that PCs are not embedded systems. Rather, this paper focuses on those embedded systems that use low-cost, low-power, small memory footprints and where a memory management unit is not required, whether due to the simplicity of the overall system design, or due to the limited physical memory located on the system board. These systems are, for the purposes of this paper, embedded systems.