Characteristics of Embedded Systems

The main characteristics of embedded systems include the following aspects:

  1. Embedded systems typically focus heavily on cost.

The cost of embedded systems is divided into software costs and hardware costs, and can also be divided into development costs and maintenance costs. For a product that includes an embedded software system, reducing costs while meeting quality characteristics such as functionality, performance, and reliability is a significant focus during product development.

  1. Embedded systems usually have real-time requirements.

Embedded systems are generally real-time systems. Real-time performance is typically divided into soft real-time systems and hard real-time systems. Hard real-time systems require that related tasks must be completed within a certain time interval; otherwise, it may lead to system crashes or fatal errors. In contrast, soft real-time systems have time-sensitive tasks where failing to meet response times does not result in extremely severe consequences.

  1. Embedded systems generally use EOS or RTOS.

For more complex embedded systems, an Embedded Operating System (EOS) is generally used to manage the system’s hardware and timing resources. If it is a real-time system, a Real-Time Operating System (RTOS) with real-time characteristics should be used.

For simpler small electronic devices, an operating system may not be used, and software directly manages the system’s hardware and timing resources.

  1. The consequences of embedded system failures are more severe than those of general-purpose computers.

Embedded systems typically employ various safety mechanisms, such as a Watch Dog Timer (WDT), to enhance system reliability.

  1. Embedded systems are often low-power systems.

Embedded systems are often low-power systems because they typically do not have sufficient power supply, and lower power consumption makes heat dissipation easier, enhancing system stability and reliability.

  1. Embedded systems often operate in extreme environments.

Extreme environments generally imply harsh temperatures and high humidity, as well as issues such as vibration resistance, dust resistance, waterproofing, and electromagnetic interference. Therefore, the hardware of embedded systems should generally be industrial or military-grade.

  1. The system resources of embedded systems are very limited compared to general-purpose computers.

Embedded systems generally do not have a clear distinction between system software and application software, do not require overly complex functional design and implementation, and the combination of software systems and hardware is very tight, resulting in relatively limited system resources.

  1. Embedded systems typically store all program object code in ROM.

Non-embedded software code is usually stored on hard drives, while most embedded systems must store all code in ROM.

  1. Embedded software systems can use various types of processors and processor architectures.

Processors available for embedded software systems include microprocessors, microcontrollers, digital signal processors, and System On Chip (SoC). The processor used determines the system architecture.

  1. Embedded systems require specialized development tools and methods for design.

The development tools for embedded systems include both software and hardware. Software includes cross-compilers, simulators, debuggers, and integrated development environments; hardware includes ROM emulators, online simulators, online debuggers, and on-chip debuggers. Embedded microprocessors contain dedicated debugging circuits.

This is:

Embedded software is vastly different, with tightly integrated hardware featuring unique characteristics; understanding these aids development.

References: Design and Development of Embedded Systems, Author: Chen Liankun, Publisher: Tsinghua University Press, Beijing Jiaotong University Press

Author Bio: Wang Xiaoshuang has long been engaged in the promotion, implementation, evaluation, and improvement of GJB5000, created the WeChat public account “Thoughts of Software Engineering,” and has been sharing knowledge and insights on GJB5000, CMMI, and software engineering. Currently dedicated to GJB5000 training, internal and external evaluation, as well as research on software process improvement and software engineering capability enhancement.

Leave a Comment