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. Embedded Hardware
- • Processor: MCU, DSP, ARM, RISC-V.
- • Memory: ROM/Flash (stores programs), RAM (runs data).
- • Peripherals: Timers, I/O interfaces, sensors, communication modules.
- • 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. Requirement analysis (determine functionality, real-time, and reliability requirements).
- 2. Hardware selection (MCU/DSP/ARM, memory configuration).
- 3. System design (determine whether to use RTOS, task division).
- 4. Software development (firmware, drivers, applications).
- 5. Joint debugging and testing (hardware/software collaborative verification).
- 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. Embedded systems are dedicated, real-time, resource-constrained, and highly reliable computer systems.
- 2. Composed of hardware (processors, memory, peripherals) and software (firmware, RTOS, applications).
- 3. Embedded operating systems emphasize miniaturization, real-time performance, and customizability.
- 4. Development requires specialized tools such as cross-compilation and hardware debugging.
- 5. Widely applicable across consumer electronics, automotive, industrial, aerospace, and medical fields.