软考-系统架构师-嵌入式系统(一)

一、嵌入式系统概述

1.1、基本定义

核心概念 :嵌入式系统是以应用为中心 、以计算机技术为基础 ,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。

严格要求 :需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。

物理形态:主要完成信号控制功能,体积小、结构紧凑,作为部件埋藏于所控制的装置中。

1.2、组成架构(分层模型)

一般嵌入式系统由嵌入式处理器 、相关支撑硬件 、嵌入式操作系统 、支撑软件 以及应用软件组成。具体分层如下:

  1. 应用层:工业控制、军事、物联网、移动设备应用等。

  2. 中间件层:DDS/CORBA、Hadoop、数据库(DB)、OpenGL、JAVA虚拟机等。

    中间件层的价值:架构师视角下在嵌入式系统中,中间件解决了异构网络环境下的互操作性问题。

  3. 操作系统层:

    • 内核功能:任务管理、存储管理、通信管理、时间管理。
    • 可配置组件:文件系统、设备管理、GUI、网络管理等。
  4. 抽象层(关键层) :包含硬件抽象层 (HAL) 和 板级支持包 (BSP)。

    • 重点:此层使得系统**"易移植"**。
  5. 硬件层:微嵌入式处理器、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包含两部分:

  1. 启动代码 (Bootloader):负责初始化硬件。
  2. 驱动程序:与硬件直接交互的底层驱动。

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

边缘计算

相关推荐
佛祖让我来巡山10 小时前
系统架构师基础知识点概览汇总
软考高级·软考·系统架构师
无心水4 天前
22、数学与经济管理(运筹学) 核心考点与学习笔记
人工智能·笔记·学习·架构师·软考·软考架构师·软考系统架构师
无心水8 天前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师
东城居士9 天前
理解Linux RTC驱动
linux·嵌入式系统
无心水10 天前
6、软件工程 核心考点与学习笔记
笔记·学习·软件工程·软考高级·架构师·软考·软考系统架构设计师
无心水10 天前
5、信息安全技术基础知识 核心学习笔
人工智能·学习·软考高级·架构师·软考·高级架构师·软考架构师
无心水10 天前
8、系统架构设计基础知识 核心考点与学习笔记
笔记·学习·系统架构·架构师·软考·软考架构师·软考高级架构师
Misnearch12 天前
第7章 面向对象技术
java·开发语言·软考
东城居士13 天前
理解Linux LCD驱动编程
linux·嵌入式系统·1024程序员节
鱼头研学社17 天前
在职备考高项报班避坑:“客服说加微信发报价“到“官网自助下单“,中间差了啥
项目管理·软考·高项·备考