Embedded Systems and Software – Review Notes for Senior System Architect Examination

Essential Notes · Chapter 2.4 Embedded Systems and Software

2.4.1 Definition and Characteristics of Embedded Systems

Definition

An Embedded System is a dedicated computer system that is application-centric, based on computer technology, with customizable hardware and software, and meets strict requirements for functionality, reliability, cost, size, and power consumption in application systems.

In simple terms: an embedded system is not a general-purpose PC, but rather a computer system embedded in specific devices to perform dedicated tasks.

Main Characteristics

  • Specialization: Designed for specific applications.
  • Real-time: Must complete tasks within specified time limits.
  • Resource-constrained: Limited storage and computing capabilities.
  • High reliability: Typically operates in unattended, long-term stable scenarios.
  • Miniaturization and low power consumption: Adapted to the environment of embedded devices.

👉 Example: Baseband processors in smartphones, automotive ECUs, control chips in home appliances, industrial control systems.

2.4.2 Components of Embedded Systems

Embedded systems generally consist of embedded hardware + embedded software:

  1. 1. Embedded Hardware
  • • Processor: MCU, DSP, ARM, RISC-V.
  • • Memory: ROM/Flash (stores programs), RAM (runs data).
  • • Peripherals: Timers, I/O interfaces, sensors, communication modules.
  • 2. Embedded Software
    • Firmware: Programmed into Flash/ROM, directly drives hardware.
    • Embedded Operating Systems (RTOS): Such as VxWorks, FreeRTOS, μC/OS-II.
    • Middleware and Applications: Protocol stacks (TCP/IP, Bluetooth), control logic, UI interfaces.

    2.4.3 Embedded Operating Systems

    Functions

    • • Provides task management, memory management, and driver interfaces.
    • • Ensures real-time performance and high reliability.

    Characteristics

    • • Occupies minimal resources, with a customizable kernel.
    • • Supports real-time scheduling with predictable response times.
    • • Manages multiple tasks and inter-task communication (semaphores, message queues).

    Common Embedded Operating Systems

    • • Commercial: VxWorks, QNX.
    • • Open-source: FreeRTOS, RTEMS, Zephyr.
    • • Specialized: Embedded Linux (powerful, suitable for complex applications).

    2.4.4 Embedded Software Development

    Development Process

    1. 1. Requirement analysis (determine functionality, real-time, and reliability requirements).
    2. 2. Hardware selection (MCU/DSP/ARM, memory configuration).
    3. 3. System design (determine whether to use RTOS, task division).
    4. 4. Software development (firmware, drivers, applications).
    5. 5. Joint debugging and testing (hardware/software collaborative verification).
    6. 6. System deployment and maintenance.

    Typical Development Tools

    • • Embedded C/C++ languages.
    • • Cross-compilation toolchain (Cross Compiler).
    • • JTAG debuggers, emulators.

    2.4.5 Application Areas

    • Consumer Electronics: Smartphones, smart homes, wearable devices.
    • Automotive Electronics: ECUs, ADAS, in-car entertainment systems.
    • Industrial Control: CNC machine tools, robots, sensor networks.
    • Aerospace and Military: Flight control systems, navigation, radar.
    • Medical Devices: Heart rate monitors, ventilators.

    2.4.6 Key Points for Architects to Focus On

    • Resource constraints: Need for memory optimization and low-power design.
    • Real-time: Task scheduling and interrupt latency must be predictable.
    • Reliability: Fault tolerance and redundancy design.
    • Security: Embedded devices are often IoT nodes, requiring attention to security measures.

    Summary

    1. 1. Embedded systems are dedicated, real-time, resource-constrained, and highly reliable computer systems.
    2. 2. Composed of hardware (processors, memory, peripherals) and software (firmware, RTOS, applications).
    3. 3. Embedded operating systems emphasize miniaturization, real-time performance, and customizability.
    4. 4. Development requires specialized tools such as cross-compilation and hardware debugging.
    5. 5. Widely applicable across consumer electronics, automotive, industrial, aerospace, and medical fields.

    Leave a Comment