“An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints” (Michael Barr, 2007) Computer system is embedded as part of a complete device often including hardware an mechanical parts. Actually, many devices that we use today are controlled by embedded systems. For example, ninety-eight percent of all microprocessors are manufactured as components of embedded systems.

When comparing the properties of typically embedded computers with those of general-purpose counterparts, we can find that the embedded computers have low power consumption, small size, rugged operating ranges, and low per-unit cost. But the consequence is the limited processing resources so that they are significantly more difficult to program and to interact with. Nevertheless, according to C. Alippi (2014), if one builds intelligence mechanisms on top of the hardware, taking advantage of possible existing sensors and the existence of a network of embedded units, one can both optimally manage available resources at the unit and network levels as well as provide augmented functions, well beyond those available. For instance, one can design intelligent techniques to manage power consumption of embedded systems.

Embedded systems are commonly found in consumer, cooking, industrial, automotive, medical, commercial and military applications. They are also employed by telecommunications systems from telephone switched for the network to cellphones at the end user. Computer networking uses dedicated routers and network brides to route data. Consumer electronics include personal digital assistants, also referred to PDAs, mp3 players, mobile phones, videogame consoles, digital cameras, DVD players, GPS receivers, and printers. Moreover, household appliances, such as microwave ovens, washing machines and dishwashers, include embedded systems to provide flexibility, efficiency and features。 Advanced HVAC systems use networked thermostats to more accurately and efficiently control temperature that change by time of day and season.

Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some may also have real-time performance constraints that must be met, for reasons such as safety and usability; others may have low of no performance requirements, allowing the system hardware to be simplified to reduce costs. Some embedded systems are mass-produced, benefiting from economies of scale.

Embedded debugging may be performed at different levels, depending on the facilities available. Because an embedded system is often composed of a wide variety of elements, the debugging strategy may vary. For instance, debugging a software centric embedded system is different from debugging an embedded system where most of the processing is performed by peripherals (DSP, FPGA, co-processor).

Links:
https://en.wikipedia.org/wiki/Embedded_system#Debugging
https://en.wikipedia.org/wiki/Real-time_computing

https://en.wikipedia.org/wiki/Microcontroller

Questions:
Is embedded system a subject of science of engineering?
Why does embedded system have low power consumption?
What is the future of development of embedded system?