一、嵌入式系统概述
1.1、基本定义
核心概念 :嵌入式系统是以应用为中心 、以计算机技术为基础 ,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。
严格要求 :需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。
物理形态:主要完成信号控制功能,体积小、结构紧凑,作为部件埋藏于所控制的装置中。
1.2、组成架构(分层模型)
一般嵌入式系统由嵌入式处理器 、相关支撑硬件 、嵌入式操作系统 、支撑软件 以及应用软件组成。具体分层如下:
-
应用层:工业控制、军事、物联网、移动设备应用等。
-
中间件层:DDS/CORBA、Hadoop、数据库(DB)、OpenGL、JAVA虚拟机等。
中间件层的价值:架构师视角下在嵌入式系统中,中间件解决了异构网络环境下的互操作性问题。
-
操作系统层:
- 内核功能:任务管理、存储管理、通信管理、时间管理。
- 可配置组件:文件系统、设备管理、GUI、网络管理等。
-
抽象层(关键层) :包含硬件抽象层 (HAL) 和 板级支持包 (BSP)。
- 重点:此层使得系统**"易移植"**。
-
硬件层:微嵌入式处理器、A/D、D/A、I/O、ROM、SDRAM、通用接口等。
1.3、嵌入式系统初始化过程
系统启动流程严格遵循以下顺序: 片级初始化 (Chip Level) →\rightarrow→ 板级初始化 (Board Level) →\rightarrow→ 系统级初始化 (System Level)
| 阶段 | 英文 | 核心任务 | 典型操作 |
|---|---|---|---|
| 1. 片级初始化 | Chip Level | CPU内部初始化 | 设置CPU核心寄存器、状态寄存器、中断向量表基址等。纯汇编实现。 |
| 2. 板级初始化 | Board Level | 外围硬件初始化 | 初始化串口、内存控制器(SDRAM)、定时器、中断控制器。完成硬件环境准备。 |
| 3. 系统级初始化 | System Level | 软件环境初始化 | 加载操作系统内核、创建任务、初始化中间件和应用程序。 |
1.4、板级支持包 (BSP)
定义:介于主板硬件和操作系统之间的一层软件。
功能 :屏蔽硬件差异,为OS提供统一接口。BSP是操作系统能够运行在不同硬件平台上的关键。
考点:BSP包含两部分:
- 启动代码 (Bootloader):负责初始化硬件。
- 驱动程序:与硬件直接交互的底层驱动。
1.5、硬件抽象层 (HAL)
作用:进一步抽象,使上层软件(甚至驱动)不依赖具体硬件细节。
架构价值:体现**"易移植"**,HAL/BSP 的设计质量直接决定了嵌入式软件的可移植性和复用性。
1.6、结构化图表
嵌入式系统初始化过程
(1) 片级初始化
Chip Level
(2) 板级初始化
Board Level
(3) 系统级初始化
System Level
嵌入式系统分层架构
硬件层 Hardware
微嵌入式处理器
ROM / SDRAM
A/D D/A I/O
通用接口
应用层 Application
工业控制
军事应用
物联网
移动设备
中间件层 Middleware
DDS/CORBA
Hadoop
数据库 DB
OpenGL
Java VM
操作系统层 OS
可配置组件 Configurable
文件系统
GUI
网络管理
内核 Kernel
任务管理
存储管理
通信管理
时间管理
抽象层 Abstraction
硬件抽象层 HAL
核心特性: 易移植
板级支持包 BSP
二、嵌入式硬件
2.1、组成部件
从传统意义上讲,嵌入式系统主要由以下部件组成:
- 嵌入式微处理器:控制器 (MCU)
- 存储器:RAM/ROM
- 内 (外) 总线逻辑
- 定时/计数器
- 看门狗电路 :
- 定义/作用:定时器溢出则中断,系统复位处理。
- I/O接口 :
- 包括:串口、网络、USB。
- JTAG接口:用来进行CPU调试的常用接口。
- 外部设备:UART、LED等。
- 其他部件
2.2、核心部件:微处理器 (MCU)
MCU (Micro Controller Unit) :将CPU、存储器、外设(GPIO, Timer, A/D)集成在单一芯片上。
- 特点:成本低、功耗低、体积小。
- 场景:工业控制、家电(单片机)。
2.3、核心部件:微控制器 (MPU)
MPU (Micro Processor Unit) :功能更强,但通常需要外部接存储器和外设芯片。
- 特点:性能强,运行复杂OS(如Linux, Android)。
- 场景:手机、路由器、智能网关。
2.4、关键可靠性设计:看门狗
这是嵌入式系统中保证高可靠性的标配组件,是架构设计中必须考虑的"容错机制"。
原理:WDT 本质上是一个倒计时计数器。软件必须在倒计时结束前"喂狗"(重置计数器)。
故障恢复:如果软件死锁或跑飞(进入死循环),无法"喂狗",WDT 计数溢出。
复位 (Reset):这是最核心的动作,强制重启系统,恢复到初始状态。
考点:考试中常考"看门狗的作用是什么?"------答案通常是**"防止程序跑飞/死锁,自动复位系统"**。
2.5、调试接口:JTAG
定义:国际标准测试协议(IEEE 1149.1)。
片上调试:设置断点、查看寄存器。
边界扫描 (Boundary Scan):在不接触芯片引脚的情况下,测试芯片间的连接情况(用于生产测试)。
架构决策 :在设计硬件接口时,必须预留 JTAG 接口以便于开发和产线测试,但在最终量产的高安防产品中,可能需要禁用 JTAG 以防止黑客读取固件。
2.6、结构化图表
外设与接口
可靠性与调试
存储体系
总线系统
核心处理单元
调试控制
溢出则复位
嵌入式微处理器 MCU/MPU
系统总线 System Bus
RAM 运行内存
ROM/Flash 固件存储
看门狗电路 Watchdog
JTAG 调试接口
定时/计数器
I/O接口: USB/网络
外部设备: LED/UART
三、嵌入式典型架构
3.1、层次化模式架构
3.1.1、主要设计思想
定义:依赖于概念的抽象,不同使用者可关注到架构的不同层面的细节。
1)当系统存在高层次抽象,且这些抽象需要具体的低层概念进行实现时使用。
2)结构包含主要的元素(域/包)和它的接口,以及约束条件。
3.1.2、层次化模式分类
3.1.2.1、封闭型 (Closed)
一层中的对象只能调用同一层 或下一个底层 的对象提供的方法。封装、移植性较好。
CEO(顶层)想找 保洁阿姨(底层),必须先找 部门经理(中间层),经理再找主管,主管再找阿姨。
优点 :如果我想换掉"部门经理",CEO不用变,阿姨不用变,只要新经理能承上启下就行。这就是移植性好,耦合低。
缺点:传话太慢,效率低。
3.1.2.2、开放型 (Open)
一层中的对象可以调用 同一层或低于该层的任意一层**的对象提供的方法。**性能较好。
CEO(顶层)可以直接打电话给 保洁阿姨(底层)。
优点 :传话快,性能好(省去了中间层的函数调用开销)。
缺点 :如果保洁阿姨换了,CEO的电话簿得改;如果中间层变了,大家的关系全乱了。代码维护难,耦合高。
3.1.3、层次化模式模型
开放型架构 (Open)
跨层直调: 快!
跨层直调: 快!
应用层
中间件层
操作系统层
硬件层
封闭型架构 (Closed)
只能调用下一层
只能调用下一层
只能调用下一层
应用层
中间件层
操作系统层
硬件层
特点: 维护方便
移植性强
结构清晰
特点: 性能极佳
紧耦合
牵一发动全身
3.2、递归模式架构
3.2.1、主要设计思想
系统包含了子系统,子系统又包含了更小的构件。
自顶向下 :像建筑师。先画大楼外观图(系统),再设计房间(子系统),最后设计砖块(构件)。
自底向上 :像乐高玩家。先找一块块积木(构件),拼成一个车轮(子系统),最后拼出一辆车(系统)。
3.2.2、递归模式的工作流
自底向上 (Bottom-Up)
(1) 确定域中关键类/构件
(2) 组合成子系统
(3) 映射到系统层级
由小到大
靠经验
自顶向下 (Top-Down)
(1) 识别系统层级
(2) 分解为子系统
(3) 实现具体构件
由大到小
保需求
递归架构结构: 像俄罗斯套娃
大系统 System
子系统 SubSystem
构件 Component
特征: 简单的包容关系重复应用
四、嵌入式系统发展历程
4.1、五个阶段
第一阶段 :单片微型计算机 (SCM) 阶段,即单片机时代。早期代表是 Intel 8048/8051。特点是"计算简单、无OS、纯汇编"。
第二阶段 :微控制器 (MCU) 阶段。侧重于控制。将外设(ROM/RAM、定时器、中断)高度集成,稳定性极大提升。MCU 是目前工业控制领域的主力军。
第三阶段 :片上系统 (SoC) 。SoC 不仅仅是芯片,而是一个系统 。它采用了软硬协同设计方法,将处理器、总线、逻辑电路、存储器甚至模拟信号模块集成在一个芯片上。特征是体积最小、功耗最低、可靠性最高。IP核复用(IP Reuse)是其关键技术。
第四阶段 :以 Internet 为基础的嵌入式系统。嵌入式设备有了 TCP/IP 协议栈,可以联网(物联网雏形)。
第五阶段 :在智能化、云技术 推动下的嵌入式系统。现在的设备(如智能音箱、自动驾驶)不仅要联网,还要有边缘计算 能力。硬件上开始集成 NPU (神经网络处理单元),软件上依赖云端协同。
4.2、关键词速记表
| 阶段 | 英文缩写 | 核心特征 (Keywords) | 典型代表 |
|---|---|---|---|
| 1 | SCM | 独立单片机,计算弱,无OS | 8051 |
| 2 | MCU | 对象化控制,外设集成 | STM32, AVR |
| 3 | SoC | 软硬协同,IP核,高集成 | 手机芯片(Snapdragon, Kirin) |
| 4 | Internet | 网络化,TCP/IP,互联 | 早期智能家居 |
| 5 | AI/Cloud | 智能化,边缘计算,云协同 | 自动驾驶,智能机器人 |
4.3、演化图
嵌入式系统五阶段演进
(1) SCM时代
(2) MCU时代
(3) SoC时代
(4) 网络化
(5) 智能化
单片机
无OS
微控制器
集成外设
片上系统
软硬协同
以Internet为基
连接性
云技术+AI
边缘计算