学前说两句
嵌入式技术在整个架构师软考中占比也不是太高,而且和其它的章节关联度不是太高,我当时准备了鸿蒙操作系统,也没有考,这个章节还是比较简单的,主要是看几遍刷刷题就好了,不需要理解啥。
课程概要

嵌入式系统概述


硬件抽象层是为了解耦操作系统和硬件层之间的关系,抽象硬件层
中间件层:屏蔽底层操作系统层
板级支持包:易抑制
嵌入式组成部件(硬件)


典型架构
层次架构

递归架构

层次化模式架构核心知识
- 核心结构
- 分层依赖:高层抽象依赖低层具体实现,通过接口交互。例如应用层调用操作系统API,操作系统管理硬件驱动。
- 双类型分类 :
- 封闭型:严格限制层间调用(如只能调用同层或下一层),确保高移植性(如嵌入式系统跨平台适配)。
- 开放型:允许跨多层调用,优化性能(如实时系统直接访问硬件加速模块)。
- 关键优势
- 模块化清晰,故障隔离(如某层故障不影响其他层)。
- 接口标准化,降低开发复杂度(如POSIX标准接口)。
递归模式架构核心知识
- 核心机制
- 双向开发流 :
- 自顶向下:从系统级需求分解为子系统(如先定义网络模块,再细化协议栈)。
- 自底向上:从基础组件构建高级功能(如先实现传感器驱动,再集成环境监测系统)。
- 包含关系迭代:通过重复嵌套对象/子系统实现复杂功能(如嵌套的异常处理机制)。
- 双向开发流 :
- 关键优势
- 灵活适应需求变化(如快速调整算法模块位置)。
- 协作式开发支持(如多个团队并行开发不同层级模块)。
嵌入式系统的发展历史

| 历史阶段 | 一句话说明 | 核心差异点 |
|---|---|---|
| 单片微型计算机(SCM) | 将CPU、存储器、I/O接口集成于单一芯片,实现基础计算与控制功能 | 首次实现"芯片级系统"概念,奠定嵌入式物理基础 |
| 微控制器(MCU) | 集成ADC/DAC、定时器等外设并引入低功耗设计,提升系统可靠性 | 从"纯计算"转向"计算+外设"集成,支持复杂控制场景 |
| 片上系统(SoC) | 集成GPU/DSP/基带处理器等专用模块,支持多媒体处理与异构计算 | 从"通用计算"转向"专用计算"集成,实现片上异构架构 |
| 联网嵌入式 | 集成TCP/IP协议栈与无线通信模块,支持物联网协议与云端交互 | 从"单机运行"转向"设备-云端"双向通信,构建物联网基础 |
| 智能云化 | 集成AI加速单元并支持边缘-云端协同,实现实时智能决策 | 从"被动响应"转向"主动智能",形成"端-边-云"三级架构 |
嵌入式微处理器




SOC不只是一款有运算能力的芯片
嵌入式操作系统
嵌入式操作系统的定义

按时间敏感度进行分类


还有一个特点就是固化,可裁剪、可配置是说可定制化

没有明确在什么时间内处理完成
嵌入式操作系统调度算法


按安全进行分类

操作系统内核架构
微内核和宏内核

操作系统的空间分为用户空间和内核空间
按照内核空间的复杂程度可以分为宏内核和微内核,可以看到,宏内核(单体内核)内部的功能很多,而微内核的功能不多,然后把一部分功能放到了用户空间来做了。
优缺点


微内核代码量少,一般不会相互调用的,而且性能偏低
为什么说微内核适合于分布式系统呢?

在微内核中,客户进程通过核心态请求到用户态中的服务器,是一种B/S架构,所以可以分布式调用。
鸿蒙系统内核架构



鸿蒙系统使用的是微内核
嵌入式数据库
特点

按照数据存储位置进行分类





嵌入式软件开发



中断和查询是IO数据传输方式的两种。中断情况下微处理器的效率会更高一些

思维导图
# 嵌入式技术 - 核心知识思维导图
│
├── 0️⃣ 嵌入式系统概述 (★★)
│ ├── 基本概念
│ │ ├── 以应用为中心,计算机技术为基础
│ │ ├── 软硬件可配置、可裁剪
│ │ ├── 满足功能、可靠性、成本、体积、功耗要求
│ │ └── 作为部件埋藏于控制装置中
│ ├── 组成
│ │ ├── 嵌入式处理器
│ │ ├── 相关支撑硬件
│ │ ├── 嵌入式操作系统
│ │ ├── 支撑软件
│ │ └── 应用软件
│ ├── 嵌入式中间件
│ │ └── 作用:抽象底层硬件,屏蔽硬件差异
│ ├── 典型架构
│ │ ├── 层次化模式架构
│ │ │ ├── 封闭型:一层只能调用同层或下一层(封装性好,移植性强)
│ │ │ └── 开放型:一层可调用任意层(性能高,耦合度高)
│ │ └── 递归模式架构
│ │ ├── 自顶向下:从系统整体拆分为子系统
│ │ └── 自底向上:从功能域构建抽象
│ └── 初始化过程
│ ├── 片级初始化:CPU内核、寄存器、中断向量
│ ├── 板级初始化:内存、时钟、外设等板级硬件
│ └── 系统级初始化:OS启动、任务/服务创建
│
├── 1️⃣ 嵌入式硬件 (★★)
│ ├── 发展历程
│ │ ├── 第一阶段:单片微型计算机(SCM)
│ │ ├── 第二阶段:微控制器(MCU)
│ │ ├── 第三阶段:片上系统(SoC)
│ │ ├── 第四阶段:以Internet为基础(联网嵌入式)
│ │ └── 第五阶段:智能化、云技术推动(AIoT)
│ └── 嵌入式微处理器
│ ├── MPU(微处理器):仅CPU,需外配存储器和I/O
│ ├── MCU(微控制器/单片机):集成CPU、RAM、ROM、I/O
│ ├── DSP(数字信号处理器):哈佛结构,擅长数学计算
│ ├── GPU(图形处理器):并行计算强,峰值可达100 TFlops以上
│ └── SoC(片上系统)
│ ├── 不只是一块处理器,而是一个微小型系统
│ ├── CPU是大脑
│ ├── SoC包含:大脑(CPU)、心脏(总线/DMA)、眼睛和手(外设接口)
│ ├── 集成微处理器、模拟IP核、数字IP核、存储器
│ └── 面向特定用途的标准产品(ASSP)
│
├── 2️⃣ 嵌入式操作系统 (★★★)
│ ├── 定义与特点
│ │ ├── 负责软硬件资源分配、任务调度
│ │ ├── 包含:底层驱动、内核、设备接口、通信协议、图形界面等
│ │ ├── 微型化
│ │ ├── 代码质量高
│ │ ├── 专业化
│ │ ├── 实时性强
│ │ ├── 可裁剪、可配置
│ │ └── 可固化(程序固化在ROM中)
│ ├── 系统分类
│ │ ├── 按时间敏感度
│ │ │ ├── 嵌入式非实时系统(如老式手机)
│ │ │ └── 嵌入式实时系统(RTOS)
│ │ └── 按安全性要求
│ │ ├── 安全攸关系统(汽车、医疗)
│ │ └── 非安全攸关系统(普通家电)
│ ├── 实时操作系统实时性评价指标
│ │ ├── 中断响应和延迟时间
│ │ ├── 任务切换时间
│ │ └── 信号量混洗时间(任务间同步的开销)
│ ├── 实时操作系统调度算法
│ │ ├── 时间片轮转
│ │ ├── 优先级调度(非抢占)
│ │ │ ├── 为每个任务分配固定优先级
│ │ │ └── 按优先级高低排队运行
│ │ ├── 抢占式优先级调度
│ │ │ ├── 高优先级任务可抢占低优先级
│ │ │ └── 优先级由任务紧急程度决定
│ │ ├── RMS(单调速率调度)
│ │ │ └── 周期越短,优先级越高(固定优先级)
│ │ ├── EDF(最早截止期优先)
│ │ │ └── 截止时间越早,优先级越高(动态优先级)
│ │ └── LLF(最低松弛度优先)
│ │ └── 松弛度 = 截止期 - 当前时间 - 剩余执行时间
│ └── 操作系统内核架构
│ ├── 核心概念:内核是操作系统核心,管理资源
│ ├── 单体内核(宏内核)
│ │ ├── 功能:图形、驱动、文件系统全在内核中
│ │ ├── 优点:函数直接调用,效率高
│ │ ├── 缺点:庞大、稳定性差、安全性低
│ │ └── 代表:Linux内核(早期/传统)
│ └── 微内核
│ ├── 功能:只实现IPC、调度、内存管理等基本功能
│ ├── 特点:服务和驱动在用户态(服务化)
│ ├── 代表:鸿蒙、QNX、L4
│ ├── 优点:结构清晰、可裁剪、安全稳定、高可靠
│ └── 缺点:传统实现效率较差(IPC/上下文切换开销),现代微内核已大幅优化
│
├── 3️⃣ 鸿蒙操作系统 (★★★)
│ ├── 概述:华为研发的面向全场景的分布式操作系统
│ ├── 技术特性
│ │ ├── 分布式架构(软总线)
│ │ ├── 确定时延引擎 + 高性能IPC
│ │ ├── 基于微内核架构的可信安全
│ │ └── 统一IDE,一次开发多端部署
│ └── 架构层次(自下而上)
│ ├── 内核层
│ │ ├── 微内核设计(LiteOS-A)
│ │ └── 内核抽象层(支持多内核,含Linux)
│ ├── 系统服务层
│ ├── 框架层
│ └── 应用层
│
├── 4️⃣ 嵌入式数据库 (★)
│ ├── 特点
│ │ ├── 嵌入式(无需独立数据库服务器进程)
│ │ ├── 实时性
│ │ ├── 移动性
│ │ └── 伸缩性
│ └── 分类
│ ├── 基于内存的数据库(MDB):速度快,掉电易失
│ ├── 基于文件的数据库(FDB)
│ │ ├── 以文件方式存储,安全性低
│ │ └── 满足空间/时间受限场景(如SQLite)
│ └── 基于网络的数据库(NDB)
│ ├── 客户端 + 通信协议 + 远程服务器
│ ├── 无需解析SQL(客户端小巧)
│ └── 注意:不正确的是"以文件方式存储"
│
├── 5️⃣ 嵌入式系统设计 (★)
│ ├── 软件开发与调试
│ │ ├── JTAG:国际标准测试协议(调试/烧录接口)
│ │ ├── 仿真器/烧录器
│ │ └── 串口调试输出
│ ├── 功耗控制
│ │ ├── 软硬件协同设计
│ │ ├── 编译优化
│ │ ├── 减少持续运行时间(算法优化)
│ │ ├── 用"中断"代替"查询"(避免空转)
│ │ └── 电源有效管理(调频/休眠/动态电压调节)
│ ├── 常见考点:Bootloader(U-Boot)、看门狗、中断处理流程
│ └── 内存管理:MMU、虚拟地址与物理地址映射(部分RTOS无MMU)
│
└── 6️⃣ 习题与考点提示 (★★★)
├── 嵌入式中间件作用:抽象底层硬件(正确)
├── 典型架构:层次化 + 递归模式(正确)
├── GPU峰值性能:100 TFlops以上(正确)
├── 实时操作系统特点:不包括"通用性"(正确)
├── 实时系统响应时间:被控对象允许的时间范围内(正确)
├── 微内核特征:不包括"功能代码互相调用,性能很高"(正确)
├── 鸿蒙内核:微内核(基本正确,注意实际实现中存在多内核)
├── NDB特征:不包括"以文件方式存储"(正确)
├── 补充考点:Bootloader的作用(硬件初始化→加载OS)
├── 补充考点:看门狗定时器(防止系统死锁)
├── 补充考点:中断响应流程(保护现场→执行ISR→恢复现场)
└── 补充考点:任务间通信方式(信号量、消息队列、事件标志组)
嵌入式技术 - 核心知识思维导图
│
├── 0️⃣ 嵌入式系统概述 (★★)
│ ├── 基本概念
│ │ ├── 以应用为中心,计算机技术为基础
│ │ ├── 软硬件可配置、可裁剪
│ │ ├── 满足功能、可靠性、成本、体积、功耗要求
│ │ └── 作为部件埋藏于控制装置中
│ ├── 组成
│ │ ├── 嵌入式处理器
│ │ ├── 相关支撑硬件
│ │ ├── 嵌入式操作系统
│ │ ├── 支撑软件
│ │ └── 应用软件
│ ├── 嵌入式中间件
│ │ └── 作用:抽象底层硬件
│ ├── 典型架构
│ │ ├── 层次化模式架构
│ │ │ ├── 封闭型
│ │ │ │ └── 一层中的对象只能调用同一层或下一底层(封装移植性好)
│ │ │ └── 开放型
│ │ │ └── 一层中的对象可以调用任意一层(性能好)
│ │ └── 递归模式架构
│ │ ├── 自顶向下
│ │ │ └── 从系统层级开始,标识结构对象,分为子系统,向下推进
│ │ └── 自底向上
│ │ └── 专注于域的构造,实现子系统级的抽象
│ └── 初始化过程
│ ├── 片级初始化
│ ├── 板级初始化
│ └── 系统级初始化
│
├── 1️⃣ 嵌入式硬件 (★★)
│ ├── 发展历程
│ │ ├── 第一阶段:单片微型计算机(SCM)
│ │ ├── 第二阶段:微控制器(MCU)
│ │ ├── 第三阶段:片上系统(SoC)
│ │ ├── 第四阶段:以Internet为基础
│ │ └── 第五阶段:智能化、云技术推动
│ └── 嵌入式微处理器
│ ├── MPU(微处理器)
│ ├── MCU(微控制器,单片机)
│ ├── DSP(信号处理器,哈佛结构)
│ ├── GPU(图形处理器)
│ │ └── 峰值性能可高达100 TFlops以上
│ └── SoC(片上系统)
│ ├── 不只是一块处理器芯片
│ ├── 是一个微小型系统
│ ├── CPU是大脑
│ ├── SoC包含:大脑、心脏、眼睛和手
│ ├── 集成微处理器、模拟IP核、数字IP核、存储器
│ └── 面向特定用途的标准产品
│
├── 2️⃣ 嵌入式操作系统 (★★★)
│ ├── 定义与特点
│ │ ├── 负责软硬件资源分配、任务调度
│ │ ├── 包括底层驱动、内核、设备接口、通信协议、图形界面等
│ │ ├── 微型化
│ │ ├── 代码质量高
│ │ ├── 专业化
│ │ ├── 实时性强
│ │ ├── 可裁剪、可配置
│ │ └── 可固化
│ ├── 系统分类
│ │ ├── 按时间敏感度
│ │ │ ├── 嵌入式非实时系统
│ │ │ └── 嵌入式实时系统
│ │ └── 按安全性要求
│ │ ├── 安全攸关系统
│ │ └── 非安全攸关系统
│ ├── 实时操作系统实时性评价指标
│ │ ├── 中断响应和延迟时间
│ │ ├── 任务切换时间
│ │ └── 信号量混洗时间
│ ├── 实时操作系统调度算法
│ │ ├── 时间片轮转
│ │ ├── 优先级调度
│ │ │ ├── 系统为每个任务分配一个相对固定的优先顺序
│ │ │ └── 调度程序根据优先级的高低排序
│ │ ├── 抢占式优先级调度
│ │ │ ├── 在优先级算法的基础上,允许高优先级抢占低优先级任务
│ │ │ └── 根据紧急程度确定该任务的优先级
│ │ ├── RMS(单调速率调度)
│ │ │ └── 任务周期越短,优先级越高
│ │ ├── EDF(最早截止期调度)
│ │ │ └── 根据任务截止时间头端来确定优先级
│ │ └── LLF(最低松弛度优先)
│ │ └── 根据任务截止时间末端来确定优先级
│ └── 操作系统内核架构
│ ├── 核心概念:操作系统内核是操作系统的核心,管理各种资源
│ ├── 单体内核(宏内核)
│ │ ├── 将图形、设备驱动及文件系统等功能全部在内核中实现
│ │ ├── 优点:效率高
│ │ └── 缺点:内核庞大,稳定性安全性差
│ └── 微内核
│ │ ├── 只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外
│ │ ├── 代表:鸿蒙操作系统
│ │ ├── 优点:结构清晰、可裁剪、安全稳定
│ │ └── 缺点:性能偏低
│
├── 3️⃣ 鸿蒙操作系统 (★★★)
│ ├── 技术特性
│ │ ├── 分布式架构
│ │ ├── 确定时延引擎 + 高性能IPC
│ │ ├── 基于微内核架构的可信安全
│ │ └── 统一IDE,一次开发多端部署
│ └── 架构层次
│ ├── 内核层(微内核设计)
│ ├── 系统服务层
│ ├── 框架层
│ └── 应用层
│
├── 4️⃣ 嵌入式数据库 (★)
│ ├── 特点
│ │ ├── 嵌入式
│ │ ├── 实时性
│ │ ├── 移动性
│ │ └── 伸缩性
│ └── 分类
│ ├── 基于内存的数据库(MDB)
│ ├── 基于文件的数据库(FDB)
│ │ └── 安全性低,但满足空间/时间要求
│ └── 基于网络的数据库(NDB)
│ ├── 客户端 + 通信协议 + 远程服务器
│ ├── 无需解析SQL,客户端小
│ └── 不正确的是:以文件方式存储
│
├── 5️⃣ 嵌入式系统设计 (★)
│ ├── 软件开发与调试
│ │ └── JTAG(国际标准测试协议)
│ └── 功耗控制
│ ├── 软硬件协同设计
│ ├── 编译优化
│ ├── 减少持续运行时间(算法优化)
│ ├── 用"中断"代替"查询"
│ └── 电源有效管理
│
└── 6️⃣ 习题与考点提示 (★★★)
├── 嵌入式中间件作用:抽象底层硬件
├── 典型架构:层次化 + 递归模式
├── GPU峰值性能:100 TFlops以上
├── 实时操作系统特点:不包括"通用性"
├── 实时系统响应时间:被控对象允许的时间范围内
├── 微内核特征:不包括"功能代码互相调用,性能很高"
├── 鸿蒙内核:微内核,不是宏内核
└── NDB特征:不包括"以文件方式存储"