As with most things in the world of software, should you foolishly ask the question ‘what is an embedded system?’ you will quickly find yourself at the epicentre of quite the heated discussion. In the red corner, you have the bare metal believers, opting for no OS and low power processors. In the blue corner, the followers of what are effectively PC equivalents running Linux and everything in between. If you filter out all the toing and froing, an embedded system can simply be defined as a controller that provides one, or very few, specific functions within a larger system.
At the centre of these systems, there will be a processing unit. While ordinary microprocessors are undoubtedly still popular, especially for use in more complex systems, microcontrollers have become an equally popular choice. What’s the difference between these two I hear you ask? Well, where microprocessors utilise external chips for memory and peripheral interfaces, with a microcontroller all of these things are already integrated.
The origin of microprocessors and microcontrollers dates back to the early 1960s with the development of the MOS integrated circuit, a chip fabricated from MOSFETs (metal-oxide-semiconductor field-effect transistors). These chips developed at a rapid pace, and before the end of the decade, large scale integration saw a single chip integrate with hundreds of transistors. Recognising that several chips could contain a complete computer processor system, engineers began to apply this to computing.