Defining embedded systems

If you tell somebody that you work with embedded systems, they won’t know whether you work with digital watches or nuclear power plants. According to the Netrino Embedded Systems Glossary, an embedded system is “a combination of computer hardware and software, and perhaps addition mechanical or other parts, designed to perform a dedicated function. In some cases, embedded systems are part of a larger system or product, as in the case of an antilock braking system in a car.”The direct counterpart to an embedded system is a general-purpose computer, which is an integrated device that can perform any number of tasks. Embedded systems are less adaptable, but power any number of devices that people interact with every day. Embedded system engineering is focused on reducing cost while improving reliability. The speed with which new versions of embedded systems reach the market is one of the focuses of MerlinProject.com.An early example of an embedded system is the Apollo Guidance Computer, developed in the early 1960s, which allowed for onboard control, guidance, navigation, and other features on the Apollo spacecraft. Even though the system was capable of doing various tasks, it was still an embedded system because the main purpose of the spacecraft was, obviously, going into space, a task which the computer could not accomplish on its own. Another early embedded system was the guidance system for the Minuteman missile.What’s come in the past is important, but equally important is where we are today, and the direction we are headed in the future. Embedded systems are used in MP3 players, GPS devices, DVD players, microwave ovens, heating and cooling systems, transportation systems, and more.Engineers are regularly using assemblers, compilers, and debuggers to create the software that drives embedded systems. These systems usually have to run for years without errors, so engineers often avoid unreliable components that may break down, like switches or disk drives. If these embedded systems are being employed in outer space or under the sea, it’s even more important that they work as intended. However, this does not mean that developers have to get everything right the first time. The tenets of Iterative and Incremental development and agile software development suggest that developers can go through several “iterations” before the finished product appears.