===
35岁女程序员备考系统架构师(第四篇)
本章考情:一般占2-3分,50%超纲内容,重点掌握核心概念
阅读时间:10-12分钟 | 难度:⭐⭐⭐⭐ | 技术深度:进阶
前言
嵌入式技术是硬件和软件的交汇点,虽然分值不高,却是架构师考试的重要知识点。本文将嵌入式技术的核心考点系统梳理,配合直观图表,帮助快速掌握。
💡 技术原理解码:为什么要理解嵌入式?
非科班友好解释:嵌入式 vs 传统软件
传统软件开发:
plaintext
你的电脑(Intel CPU)→ 编译 → 在你的电脑运行
嵌入式软件开发:
plaintext
你的电脑(Intel CPU)→ 交叉编译 → 嵌入式设备(ARM)运行
核心原因: 嵌入式设备的CPU架构和PC不同,不能直接用PC的编译器!
一、嵌入式系统概述
1.1 核心定义
嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁减的软、硬件集成于一体的专用计算机系统,需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。
1.2 系统组成
组成部分
说明
考试重点
嵌入式处理器
核心部件,需抵抗恶劣环境
温度等级、处理器类型
相关支撑硬件
存储器、定时器、总线、I/O接口
存储器分类
嵌入式操作系统
管理计算机资源,具备实时性
EOS特点
支撑软件
提供开发、调试能力
交叉开发
应用软件
完成特定目标的软件
应用场景
1.3 8大核心特性
python
# 嵌入式系统8大特性
embedded_system_features = {
"专用性强": "面向特定应用,小型化",
"技术融合": "多技术集成,知识密集",
"软硬一体": "以软件为主,IP核驱动",
"资源少": "成本低,结构简单",
"代码固化": "固化在非易失存储器",
"需专门工具": "需开发环境和工具",
"高性价比": "体积小、价格低、实时性强",
"安全可靠": "对安全性和可靠性要求高"
}
1.4 宿主机 vs 目标机
核心概念:
- 宿主机环境 = 开发环境(PC机或工作站)
- 目标机环境 = 运行环境(嵌入式系统)
重要: 嵌入式系统的开发和运行是分离的!
二、嵌入式系统五层架构
2.1 架构图解
plaintext
┌─────────────────┐
│ 应用层 │ 具体应用软件
├─────────────────┤
│ 中间件层 │ 连接应用与系统
├─────────────────┤
│ 操作系统层 │ EOS、文件系统、GUI
├─────────────────┤
│ 抽象层 │ BSP板级支持包
├─────────────────┤
│ 硬件层 │ CPU、存储器、I/O
└─────────────────┘
2.2 各层详解
硬件层:
- 微处理器、存储器(ROM、SDRAM、Flash)
- I/O接口(A/D、D/A、I/O)
- 通用设备、总线、电源、时钟
抽象层:
- 板级支持包(BSP)
- 硬件驱动软件
- 为操作系统提供硬件管理支持
操作系统层:
- 嵌入式操作系统
- 文件系统
- 图形用户接口
- 网络系统
中间件层:
- 管理计算机资源和网络通信
- 连接两个独立应用的桥梁
应用层:
- 不同的应用软件
- 完成特定应用目标
三、嵌入式微处理器分类
3.1 分类体系
plaintext
嵌入式处理器
├── 按字长分类
│ ├── 4位/8位/16位 = MCU(嵌入式微控制器)
│ └── 32位/64位 = MPU(嵌入式微处理器)
└── 按用途分类
├── MCU(微控制器)
├── MPU(微处理器)
├── DSP(数字信号处理器)
└── SoC(片上系统)
3.2 四种处理器对比
类型
特点
典型应用
考试频率
MCU
单片化,外设丰富,体积小
工业控制,主流应用
⭐⭐⭐⭐⭐
MPU
32位+高性能,价格高
ARM、MIPS、Power PC
⭐⭐⭐⭐
DSP
哈佛结构,流水线处理
数字滤波、FFT、谱分析
⭐⭐⭐
SoC
软硬无缝结合,片内嵌入OS
专用目标集成电路
⭐⭐⭐
记忆口诀:
MCU单片控制,MPU高性能算力,DSP信号处理,SoC系统集成
3.3 工作温度等级(必考)
等级
温度范围
应用场景
考试频率
记忆方法
民用级
0℃ ~ 70℃
普通电子产品
⭐⭐
记住0和70
工业级
-40℃ ~ 85℃
工业设备
⭐⭐⭐⭐⭐
记住-40和85
军用级
-55℃ ~ 150℃
军事装备
⭐⭐⭐
记住-55和150
真题示例: 芯片工作温度范围在-45℃~85℃是工业级
四、嵌入式存储器
4.1 ROM分类矩阵
类型
全称
特点
擦除方式
可修改性
成本
应用场景
Mask ROM
Mask ROM
掩模型,成本低
-
❌ 永久固化
最低
固件
PROM
Programmable ROM
一次可编程
-
❌ 只能写一次
低
预编程
EPROM
Erasable PROM
有透明窗口
紫外线
⚠️ 紫外线擦除
中
开发调试
EEPROM
Electrically EPROM
电可擦
电信号
✓ 可电改写
较高
即插即用
Flash Memory
Flash Memory
快闪
电信号
✓ 板上修改
中等
通用
记忆技巧:
python
rom_classification = {
"Mask": "最便宜(永久)",
"PROM": "一次写",
"EPROM": "有窗口(紫外线)",
"EEPROM": "电擦除",
"Flash": "最常用(板上修改)"
}
4.2 存储层次结构
plaintext
寄存器 → Cache → 主存(RAM) → 辅存(ROM)
速度最快 速度最慢
容量最小 容量最大
成本最高 成本最低
五、嵌入式操作系统(EOS)
5.1 EOS分类
实时操作系统(RTOS)
- VxWorks
- Nucleus
- uC/OS-II
- 嵌入式Linux
- Windows Embedded
非实时操作系统
- Android
- iOS
- WinCE
5.2 EOS vs 通用操作系统
维度
EOS
通用OS
考试重点
微型化
✓ 代码小巧
✗ 功能丰富
代码质量高
实时性
✓ 强实时
✗ 弱实时
实时性强
可裁减
✓ 灵活配置
✗ 功能固定
可裁减和可配置
专业化
✓ 适应多种平台
✗ 通用性强
专业化
5.3 实时系统(必考)
硬实时 vs 软实时:
类型
定义
保证方式
响应特性
应用场景
硬实时
规定时间内必须完成
系统设计保证
可预测性
航空、医疗
软实时
按优先级尽可能快完成
优先级调度
尽可能快
多媒体
确定性 vs 可预测性:
- 可预测性: 系统运行前功能、响应特性可预测
- 确定性: 给定条件在确定时间给出确定结果
💡 技术原理解码:硬实时 vs 软实时
硬实时 = 红绿灯倒计时
- 必须精确到秒,否则就车祸
- 系统设计保证在规定时间内完成
软实时 = 外卖送达时间
- 30-40分钟都行,晚了给优惠券
- 按优先级调度,尽可能快完成
六、嵌入式软件开发
6.1 交叉开发环境
plaintext
┌─────────────┐ ┌─────────────┐
│ 宿主机 │ 通信连接 │ 目标机 │
│ (开发环境) │<--------->│ (运行环境) │
├─────────────┤ ├─────────────┤
│ 交叉编译器 │ │ 实时操作系统 │
│ 调试器 │ │ 目标程序 │
│ 开发工具 │ │ │
└─────────────┘ └─────────────┘
通信方式:
- 以太网
- USB
- 串口
6.2 交叉编译
定义: 在一个平台上生成可在另一个平台执行的代码
为什么需要交叉编译?
bash
# 交叉编译示例
gcc main.c -o main # 本机编译
arm-linux-gcc main.c -o main # 交叉编译(目标机是ARM)
原因:
- 不同的CPU有不同的指令系统
- 宿主机(PC)编译→目标机(嵌入式)运行
6.3 交叉调试
调试流程:
plaintext
调试器(宿主机)
↓ [串口/网络通信]
被调试程序(目标机)
vs 传统调试:
- 传统:调试器和被调试程序在同一台机器
- 嵌入式:交叉调试,跨设备通信
七、安全攸关标准(DO-178B)
7.1 DO-178B三要素
python
class DO178B:
def __init__(self):
self.目标 = 66 # 根据安全等级不同
self.过程 = ["软件计划", "软件开发", "软件综合"]
self.数据 = ["文档", "代码", "报表", "记录"]
7.2 安全等级分类(必考)
等级
失效状态
目标数量
记忆方法
考试频率
A级
灾难性的(无法安全飞行)
66
A=All(66个目标)
⭐⭐⭐⭐⭐
B级
危害性的
65
B=Big(65个目标)
⭐⭐⭐⭐
C级
严重的
56
C=Catastrophe(56个目标)
⭐⭐⭐
D级
不严重的
28
D=Dangerous(28个目标)
⭐⭐
E级
没有影响的
-
E=Excellent(0目标)
⭐
记忆技巧: A(66) > B(65) > C(56) > D(28) > E(0)
7.3 DO-178B vs CMMI
对比维度
DO-178B
CMMI
考试重点
视角
适航审定
过程改进
视角不同
关注点
安全性
组织能力
安全性是重点
范围
聚焦软件
系统+软件+硬件
聚焦软件
精确度
更具体
较抽象
DO-178B更具体
结论: DO-178B目标更清晰,要求更具体,针对安全攸关软件。
八、历年真题解析
真题1(2019年)
芯片的工作温度范围在-45℃~85℃是( )级别的芯片
- A. 军用级
- B. 民用级
- C. 通用级
- D. 工业级
答案:D
解析:
- 民用级:0~70℃
- 工业级:-40~85℃
- 军用级:-55~150℃
真题2(2020年)
以下关于嵌入式系统的说法中,正确的是( )
- A. 嵌入式系统是软硬一体,以软件为主,且通用的
- B. 嵌入式系统开发和编译调试可以在一台设备上完成
- C. 嵌入式系统通常屏蔽操作系统的复杂性,直接运行特定的应用程序
- D. 嵌入式系统分为硬件层、抽象层、操作系统层、应用层等4层
答案:C
解析:
- A错误:嵌入式系统是专用的,不是通用的
- B错误:开发和运行分离(交叉开发)
- D错误:是5层架构(还有中间件层)
真题3(2021年)
嵌入式处理器叙述中,错误的是( )
- A. MPU在安全性和可靠性等方面进行增强
- B. MCU典型代表是单片机,体积小从而使功耗和成本下降
- C. DSP处理器适合数字信号处理
- D. SOC是一个有专用目标的集成电路
答案:A
解析:
MPU的特点是:
- 保留嵌入式相关功能
- 去除冗余功能
- 以最低功耗和资源实现应用
- 不是在安全性和可靠性方面增强
九、备考策略
9.1 高频考点总结
plaintext
嵌入式技术高频考点
├── 五层架构(硬件层→抽象层→操作系统层→中间件层→应用层)
├── 处理器分类(MCU/MPU/DSP/SoC)
├── 温度等级(工业级:-40~85℃)
├── ROM分类(Mask/PROM/EPROM/EEPROM/Flash)
├── 实时系统(硬实时/软实时)
└── DO-178B安全等级(A/B/C/D/E)
9.2 记忆口诀
处理器分类:
python
processor_memory = {
"MCU": "单片控制",
"MPU": "高性能算力",
"DSP": "信号处理",
"SoC": "系统集成"
}
温度等级:
plaintext
民用0-70
工业-40-85(记住-40和85)
军用-55-150
安全等级:
plaintext
A灾66 B危65 C严56 D轻28
9.3 60天冲刺计划
阶段
时间
重点内容
目标
基础阶段
15天
理解五层架构、嵌入式系统特性
掌握基础概念
分类阶段
20天
掌握MCU/MPU/DSP/SoC分类、温度等级、ROM分类
分类记忆
刷题阶段
15天
历年真题、DO-178B标准
提升准确率
模拟阶段
10天
综合模拟、错题复盘
查漏补缺
🚀 职场应用:这个知识点怎么用到工作中?
嵌入式五层架构 → 系统设计思维
plaintext
嵌入式架构 软件系统架构
─────────────────────────────────
硬件层 = 基础设施(数据库、服务器)
抽象层 = 中间件(缓存、消息队列)
操作系统层= 框架层(Spring、Django)
中间件层 = 业务抽象(公共服务)
应用层 = 具体业务(订单、支付)
理解了嵌入式架构,就能更好地理解软件系统的分层设计!
十、技术要点总结
10.1 嵌入式系统核心本质
python
embedded_system_essence = {
"专用性": "硬件裁剪 + 软件剪裁",
"分离性": "宿主机开发 + 目标机运行",
"实时性": "确定性 + 可预测性",
"安全性": "代码审定 + 安全攸关"
}
10.2 嵌入式软件 vs 传统软件
对比维度
嵌入式软件
传统软件
考试重点
开发
交叉开发
同平台开发
交叉开发
存储
固化存储
磁盘存储
代码固化
实时性
强实时
弱实时
强实时性
安全性
高要求
一般
安全可靠性
十一、写在最后
嵌入式技术虽然分值不高,但却是硬件和软件结合的重要知识点。
对于35岁的非科班程序员来说,理解嵌入式系统的"专用性"本质,记住五层架构和处理器分类,应对考试绰绰有余。
备考核心:理解专用性、记住五层、分类掌握