INTRODUCTION 导论:
A. Overview 概述:
a. Definition 定义:
- Definition 定义:
Embedded Systems 嵌入式系统, 是作为设备或更大系统的一部分, 围绕特定功能设计的计算系统, 通过处理器、存储器、接口与软件协同完成计算、通信或控制任务
- Core Question 核心问题:
在规定的时间、功耗、存储、成本与可靠性约束下, 如何让硬件与软件共同完成设备功能
- Position 定位:
主归计算机系统, 研究设备内的专用计算、实时运行与软硬件协作, 同时连接电气工程中的电子电路、传感、驱动和控制
- Scope 范围:
系统可以采用裸机、RTOS 或通用操作系统;实时要求因应用而异, 传感器、执行器与网络连接按功能需要配置
- Boundary 边界:
本页侧重硬件平台、外设、中断、固件、实时性与系统集成;电子器件及功能电路设计见 ELECTRONIC CIRCUITS 电子电路, 控制算法的建模、稳定性和设计见 CONTROL SYSTEM 控制系统;软件树中的 EMBEDDED & IOT 嵌入式与物联网侧重开发实践、联网应用与软件交付
b. Core Constraints 核心约束:
- Time and Resources 时间与资源:
按应用规定截止时间、吞吐量与存储预算;提高平均速度不等于保证最坏情况下及时响应
- Power, Cost and Size 功耗、成本与尺寸:
功耗决定供电、续航与散热要求;成本和尺寸限制器件、存储、连接器与结构选择
- Reliability and Security 可靠性与安全:
考虑长时间运行、环境扰动、故障恢复与恶意输入;功能安全与信息安全承担不同目标

<aside>
Running Example 贯穿示例:
- Device 设备:
采用简化 MCU 温度控制器作为教学模型, 包含模拟温度传感器、ADC、定时器、输出驱动与日志接口
- Path 路径:
温度传感器 → 信号调理与 ADC → 数据处理 → 控制计算 → 输出驱动 → 被控对象
- Conditions 条件:
假设控制周期为 10 ms, 日志为低优先级活动;周期仅用于展示机制, 实际应依据对象动态、测量链路与应用要求设计
- Boundary 边界:
本例说明设备上的采样、执行与故障处理;控制规律、稳定性及功率电路细节通过相关学科衔接
</aside>
I. FOUNDATIONS 基础:
A. Electronics and Digital Logic 电子与数字逻辑:
a. Circuit Foundations 电路基础:
- Logic Levels 逻辑电平:
输入高低电平由器件阈值决定, 不能仅按标称供电电压判断接口兼容;检查输出能力、输入范围与电平转换需求
- Pull-up and Pull-down 上拉与下拉:
用电阻给未被主动驱动的输入提供确定电平;阻值在功耗、噪声裕量与上升时间之间取舍
- Clock and Reset 时钟与复位:
时钟组织状态更新, 复位将系统带入规定初态;异步输入需考虑同步与亚稳态, 机械按键还需去抖
- Decoupling and Integrity 去耦与完整性:
去耦为快速变化的负载提供局部电流路径;电源完整性关注供电波动, 信号完整性关注波形、串扰与反射
B. Computer Architecture 计算机架构:
a. Processing Model 处理模型:
- CPU and ISA CPU 与指令集:
CPU 执行 ISA 定义的操作, 通过总线访问存储器和外设;基本数据通路与 I/O 机制见 COMPUTER ORGANIZATION 计算机组成
- Memory-Mapped I/O 内存映射 I/O:
将外设控制、状态和数据寄存器映射到地址空间, 软件通过规定宽度的访问与设备交互;读写可能触发副作用
- Interrupt and DMA 中断与 DMA:
中断使 CPU 响应异步事件, DMA 在配置后执行数据搬运;平台的总线、缓存与存储组织影响延迟及数据可见性
- Architecture Boundary 架构边界:
ISA、微架构、存储层次与性能取舍见 COMPUTER ARCHITECTURE 计算机架构;本页关注它们对设备功能和约束的影响
C. Programming Foundations 编程基础:
a. Systems Programming 系统编程:
- C/C++ and Data Structures C/C++ 与数据结构:
理解对象生命周期、指针、数组边界、结构体、环形缓冲区与状态机;根据内存和时间预算选择数据结构
- Bit Operations 位运算:
用掩码选择、设置或清除位;寄存器的只读、写一清零及保留位规则决定哪些读改写操作合法
- Cross Toolchain 交叉工具链:
在宿主机上为目标平台编译、汇编和链接, 生成固件镜像;链接脚本安排代码、数据、堆和栈的地址
- Language Limits 语言限制:
固定宽度整数仍需处理溢出、截断、符号与对齐;volatile 用于表达需按规则发生的访问, 不自动提供原子性、互斥或内存同步
<aside>
Input Example 输入示例:
- Circuit 电路:
按键将 GPIO 接地, 上拉电阻将未按下时的输入保持为高电平;按下时读到低电平
- Debounce 去抖:
机械触点可能在一次按下中多次跳变, 可用定时采样确认稳定状态;去抖与输入同步处理不同问题
</aside>
<aside>
Bit Mask Example 位掩码示例:
- Conditions 条件:
假设普通可读写寄存器的 bit 3 是功能使能位, 其他位允许读改写且无并发访问
- Operation 操作:
设置位使用
reg |= (1u << 3), 清除位使用 reg &= ~(1u << 3)
- Limit 限制:
写一清零寄存器或存在并发访问时不能直接套用此写法, 应查阅寄存器语义并使用适当机制
</aside>
II. HARDWARE PLATFORMS 硬件平台:
A. MCU, MPU and SoC MCU、MPU 与 SoC:
a. Platform Selection 平台选型:
- MCU 微控制器:
通常在单芯片内集成 CPU、存储器与控制外设, 适合资源受约束的设备控制;集成范围依型号而异
- MPU 微处理器:
此处指 Microprocessor Unit, 通常面向更复杂的软件与计算需求, 常配合外部存储;不要与 Memory Protection Unit 内存保护单元混淆
- SoC 系统级芯片:
描述多种系统功能的片上集成, 与 MCU/MPU 并非互斥分类;SoC 可包含处理器、通信模块、加速器和外设
- DSP and FPGA DSP 与 FPGA:
DSP 面向信号处理计算, FPGA 可配置硬件逻辑与并行数据路径;可作为独立平台或 SoC 中的部件
- Selection Criteria 选型条件:
按计算量、接口数量、实时要求、功耗、成本、工具支持、可升级性和供应链约束选择平台
B. Memory and Storage 存储与外存:
a. Memory Technologies 存储技术:
- Flash and EEPROM Flash 与 EEPROM:
用于断电保持的程序或参数存储;关注擦写粒度、寿命、写入时间与掉电一致性
- SRAM and DRAM SRAM 与 DRAM:
SRAM 常用于片上运行数据, DRAM 可提供更大容量但需要控制器与刷新;具体容量和访问成本由平台决定
- Memory Map 存储映射:
将启动介质、程序区、数据区、外设和保留区域映射到地址空间;镜像布局须与启动和链接配置一致
- Runtime Budget 运行时预算:
分别统计静态数据、任务栈、堆、缓冲区与安全余量;Flash 容量充足不代表 RAM 足够
C. Clock, Reset and Power 时钟、复位与电源:
a. Supporting Circuits 支撑电路:
- Clock Tree 时钟树:
晶振或内部振荡器提供时钟源, PLL 和分频器形成 CPU 与外设时钟;切换时钟会影响定时器和通信参数
- Reset and Sequencing 复位与时序:
电源树和上电顺序满足器件要求, 复位监督处理不稳定供电;软件启动应检查复位原因
- Low-Power States 低功耗状态:
睡眠和更深休眠通过关闭时钟或电源节省能量, 同时改变状态保持、唤醒来源与恢复延迟
- Energy Budget 能耗预算:
平均功耗结合活跃比例、休眠功耗与唤醒开销评价;降低瞬时功耗不一定降低一次任务的总能耗
III. PERIPHERALS & INTERFACES 外设与接口:
IV. FIRMWARE 固件:
V. REAL-TIME SYSTEMS 实时系统:
VI. SENSING, ACTUATION & CONTROL 感知、执行与控制:
VII. SYSTEM INTEGRATION 系统集成:
VIII. RELIABILITY & SECURITY 可靠性与安全: