软考架构师-嵌入式系统
一、嵌入式系统是什么?
1. 通俗理解
你可以把嵌入式系统理解成:
藏在设备里面的“专用小电脑”。
它不是像 PC 那样什么都能干,而是专门为了完成某个任务而设计的。
比如:
智能空调里的控制系统 汽车里的发动机控制单元 智能手环里的计步和心率系统 洗衣机里的控制板 路由器里的系统 工业设备里的控制器这些设备内部都有“嵌入式系统”。
2. 标准定义
嵌入式系统是:
以特定应用为中心,以计算机技术为基础,软硬件可裁剪、可配置,集成在一起的专用计算机系统。
关键词:
特定应用 计算机技术 软硬件一体 可裁剪 可配置 专用系统也就是说,它不是通用计算机,而是“专机专用”。
二、嵌入式系统由哪些部分组成?
嵌入式系统一般由 5 个部分组成:
1. 嵌入式处理器 2. 相关支撑硬件 3. 嵌入式操作系统 4. 支撑软件 5. 应用软件1. 嵌入式处理器
处理器相当于嵌入式系统的“大脑”。
它负责执行程序、处理数据、控制设备。
嵌入式处理器通常要求:
体积小 功耗低 可靠性高 适应恶劣环境处理器的三个等级
根据使用环境和工艺,嵌入式处理器可以分为:
等级 | 工作温度范围 | 应用场景 |
民用级 | 0℃~70℃ | 普通消费电子产品 |
工业级 | -40℃~85℃ | 工业控制设备 |
军用级 | -55℃~150℃ | 军工、航天、特殊装备 |
为什么分等级?
因为嵌入式系统经常工作在恶劣环境中,例如:
高温 寒冷 电磁干扰 震动 烟尘 潮湿比如:
家用路由器:民用级即可 工厂控制器:工业级更合适 导弹、卫星、军用雷达:军用级2. 相关支撑硬件
除了处理器以外,还需要很多硬件支持。
例如:
存储器 定时器 总线 I/O 接口 电源 时钟 传感器 通信接口如果把处理器比作大脑,那么这些支撑硬件就是:
记忆器官:存储器 时间器官:定时器 神经系统:总线 手脚接口:I/O 接口 能量来源:电源 心跳节律:时钟3. 嵌入式操作系统
嵌入式操作系统是管理硬件和软件资源的系统软件。
它和 Windows、Linux 这类通用操作系统不同,通常要求:
实时性 可裁剪性 安全性 可靠性 低功耗例如:
FreeRTOS RT-Thread uC/OS VxWorks QNX 嵌入式 Linux4. 支撑软件
支撑软件是帮助应用开发的软件层。
它通常运行在操作系统之上,以“库”的形式被应用软件调用。
例如:
通信协议栈 图形库 数据库 文件库 网络库 算法库通俗理解:
支撑软件就是给应用软件提供现成能力的“工具箱”。
5. 应用软件
应用软件是为了完成某个具体任务而开发的程序。
例如:
空调温度控制程序 汽车刹车控制程序 智能手环心率检测程序 无人机飞控程序 医疗仪器数据采集程序嵌入式系统最终的价值,主要体现在应用软件上。
三、嵌入式系统有什么特点?
可以记成下面几个关键词:
专用 融合 软硬一体 资源少 固化 专用工具 小便宜快 安全可靠1. 专用性强
嵌入式系统通常不是通用的,而是面向特定应用。
例如:
电饭煲嵌入式系统:专门控制煮饭 汽车 ABS 系统:专门控制刹车 智能电表:专门采集电量它往往还会连接多种传感器,例如:
温度传感器 压力传感器 加速度传感器 光传感器 湿度传感器2. 技术融合
嵌入式系统不是单一技术,而是多种技术的结合。
它融合了:
计算机技术 通信技术 半导体技术 电子技术 自动控制技术 具体行业应用技术例如一辆智能汽车里面就涉及:
发动机控制 刹车控制 车载网络 传感器融合 通信模块 显示屏 操作系统这些技术紧密结合,很难拆开。
3. 软硬一体,软件为主
嵌入式系统既有硬件,也有软件。
但现代嵌入式系统越来越依赖软件来实现功能。
例如:
同样一块硬件 通过不同软件配置 可以实现不同功能所以嵌入式设计强调:
在通用版本基础上裁剪冗余 高效设计 按需配置4. 资源受限
嵌入式系统通常资源很少。
可能只有:
很小的 RAM 很小的 Flash 较低的 CPU 频率 有限的功耗预算例如:
PC 内存可能是 16GB 嵌入式设备内存可能只有 64KB 或 1MB所以嵌入式开发必须非常节省资源。
5. 程序代码固化在 ROM 中
嵌入式系统的程序通常不放在硬盘里,而是固化在:
ROM Flash EEPROM中。
这样做的好处是:
上电即可运行 执行速度快 可靠性高 不容易被随意修改比如洗衣机一通电就开始运行程序,不需要像电脑一样先加载操作系统很久。
6. 需要专门开发工具和环境
嵌入式系统开发不是直接在目标设备上写代码。
通常是:
在电脑上写代码 编译成目标设备能运行的程序 下载到设备中运行调试所以需要专门开发工具。
7. 体积小、价格低、实时性强
嵌入式系统通常要求:
体积小 价格低 功耗低 性能价格比高 系统配置要求低 实时性强例如智能手表必须:
小 轻 省电 便宜 响应快8. 对安全性和可靠性要求高
很多嵌入式系统一旦出错,后果很严重。
例如:
汽车刹车系统失效 飞机控制系统故障 医疗设备停止工作 工业机械失控所以嵌入式系统必须高度重视:
安全性 可靠性 稳定性 容错能力四、嵌入式系统怎么分类?
1. 按是否要求实时性分类
可以分为:
嵌入式实时系统 嵌入式非实时系统2. 什么是实时系统?
实时系统是指:
必须在规定时间内完成功能并做出响应的系统。
注意:实时不等于“快”。
实时的关键是:
必须按时完成 超时就算失败例如:
汽车安全气囊必须在碰撞后几毫秒内弹出 如果晚了几秒,即使最终弹出了,也没有意义3. 强实时和弱实时
实时系统又可以分为:
类型 | 含义 | 例子 |
强实时系统 Hard Real-Time | 必须严格在规定时间内完成,超时会导致严重后果 | 安全气囊、飞行控制、刹车系统 |
弱实时系统 Weak Real-Time | 尽量及时响应,但偶尔延迟可以接受 | 视频播放、网页响应、普通交互系统 |
强实时系统例子
汽车 ABS 飞机飞控 导弹制导 工业运动控制如果超时,可能发生事故。
弱实时系统例子
智能音箱响应 视频播放 电子相册 普通触摸屏界面稍微慢一点,通常不会造成严重后果。
4. 按安全性要求分类
可以分为:
安全攸关系统 非安全攸关系统5. 什么是安全攸关系统?
安全攸关系统是指:
如果系统功能不正确或者失效,会导致人员伤亡、财产损失等严重后果的系统。
例如:
飞机控制系统 汽车刹车系统 医疗监护设备 核电站控制系统 轨道交通信号系统这些系统出错可能造成生命危险,所以属于安全攸关系统。
五、嵌入式软件的组成和特点
1. 目标机和宿主机
这是嵌入式开发中非常重要的概念。
1. 目标机
目标机就是:
最终运行程序的设备。
例如:
开发一个智能手表程序 智能手表就是目标机2. 宿主机
宿主机就是:
用来开发程序的电脑。
例如:
你在 Windows 或 Linux 电脑上写代码 这台电脑就是宿主机3. 两者关系
通常:
宿主机:开发程序 目标机:运行程序它们之间可以通过:
串口 网络 JTAG 接口 USB连接。
4. 为什么需要交叉开发?
因为宿主机和目标机的处理器架构往往不同。
例如:
宿主机是 x86 架构电脑 目标机是 ARM 架构设备电脑不能直接运行 ARM 程序,所以需要:
交叉编译器 交叉链接器 源代码调试器交叉编译器
把源代码编译成目标机可以运行的程序。
例如:
在 x86 电脑上编译出 ARM 程序交叉链接器
把多个目标文件链接成可执行程序。
源代码调试器
用于调试目标机上的程序。
六、嵌入式软件的层次结构
嵌入式系统从细节上可以分为 5 层:
1. 硬件层 2. 抽象层 3. 操作系统层 4. 中间件层 5. 应用层1. 硬件层
硬件层是最底层。
包括:
处理器 存储器 总线 I/O 接口 电源 时钟它是整个系统的物理基础。
2. 抽象层
抽象层的作用是:
把底层硬件封装起来,让上层不用直接操作复杂硬件。
主要包括:
HAL:硬件抽象层 BSP:板级支持包HAL:硬件抽象层
HAL 是 Hardware Abstraction Layer。
它为上层提供统一的硬件访问接口。
例如:
上层只需要调用“读温度” 不用关心温度传感器接在哪个 I2C 地址BSP:板级支持包
BSP 是 Board Support Package。
它是一种硬件驱动软件,为操作系统提供硬件管理支持。
例如:
初始化 CPU 初始化内存 初始化串口 初始化中断 初始化时钟可以理解为:
BSP 是让操作系统在这块具体板子上跑起来的“适配包”。
3. 操作系统层
操作系统层包括:
嵌入式操作系统 文件系统 图形用户接口 网络系统 通用组件这些模块通常可以配置。
例如一个简单设备可能只需要:
内核 任务调度 定时器而一个复杂设备可能需要:
文件系统 网络协议栈 图形界面 USB 支持4. 中间件层
中间件是连接不同应用或不同系统组件的桥梁。
常见中间件有:
嵌入式数据库 OpenGL 消息中间件 Java 中间件 虚拟机 VM DDS/CORBA Hadoop通俗理解:
中间件就是“公共功能平台”,让应用不用重复造轮子。
5. 应用层
应用层是最终完成业务功能的软件。
例如:
温度控制程序 电机控制程序 图像识别程序 通信管理程序七、嵌入式软件的主要特点
可以记成:
可剪裁 可配置 强实时 安全性 可靠性 高确定性1. 可剪裁性
嵌入式系统资源有限,不能把所有功能都放进去。
所以系统功能必须能剪裁。
例如:
不需要图形界面,就去掉 不需要网络功能,就去掉 不需要文件系统,就去掉实现方法包括:
静态编译 动态库 控制函数流程2. 可配置性
系统应该可以根据不同产品需求进行配置。
例如:
同一套软件 通过不同配置表 适配不同型号设备实现方法包括:
数据驱动 静态编译 配置表3. 强实时性
很多嵌入式系统必须及时响应。
例如:
电机控制必须在固定周期内完成 刹车系统必须立即响应实现方法包括:
表驱动 配置 静态和动态结合 汇编语言优化4. 安全性 Safety
安全性是指系统不能造成危险。
例如:
医疗设备不能误输出高电压 汽车系统不能错误刹车或错误加速设计方法包括:
编码标准 安全保障机制 FMECA 故障模式、影响及危害性分析FMECA 是什么?
FMECA 是:
故障模式、影响及危害性分析简单说就是提前分析:
哪里可能坏? 坏了有什么影响? 危害有多严重? 怎么预防?5. 可靠性
可靠性是指系统长时间稳定工作的能力。
例如:
工业设备连续运行一年不出错 汽车电子系统多年稳定工作设计方法包括:
容错技术 余度技术 鲁棒性设计容错技术
系统出现部分错误时,仍能继续工作。
余度技术
关键部分做备份。
例如:
双控制器 三模冗余一个坏了,另一个还能接管。
鲁棒性设计
系统在异常输入、异常环境下也不容易崩溃。
6. 高确定性
高确定性是指系统行为可预测。
例如:
什么情况下做什么响应 多长时间完成 结果是否一致设计方法包括:
静态分配资源 越界检查 状态机 静态任务调度八、嵌入式系统低功耗设计
嵌入式设备经常由电池供电,所以低功耗很重要。
例如:
智能手表 传感器节点 远程监测设备低功耗设计主要技术有:
编译优化技术 软硬件协同设计 算法优化1. 编译优化
通过编译器优化代码,让程序执行更快、更省电。
例如:
减少指令数 优化循环 减少内存访问2. 软硬件协同设计
有些功能用软件做很慢、很耗电,可以用硬件加速。
例如:
加密算法用硬件加密模块 图像处理用 GPU 或专用加速器3. 算法优化
算法本身要高效。
例如:
减少不必要计算 降低采样频率 使用更简单但够用的算法九、嵌入式系统硬件体系结构
传统嵌入式系统主要由以下部件组成:
嵌入式微处理器 存储器 总线逻辑 定时/计数器 看门狗电路 I/O 接口 外部设备十、嵌入式微处理器分类
这一部分考试很容易考。
可以分为:
MPU MCU DSP GPU SoC1. MPU:微处理器
MPU 是 Microprocessor Unit。
它通常只是处理器芯片,需要外接存储器和外设。
特点:
集成度相对较低 需要外围电路 可靠性高 功能较强常见例子:
Am186/88 386EX SC-400 PowerPC 68000 MIPS ARM 系列可以理解为:
MPU 更像“通用处理器芯片”,需要搭配电路板使用。
2. MCU:微控制器
MCU 是 Microcontroller Unit,也叫单片机。
它把很多东西集成在一个芯片里。
例如:
CPU RAM ROM/Flash 定时器 I/O 接口 ADC UART SPI I2C特点:
单片化 体积小 功耗低 成本低 可靠性高常见例子:
MCS-51 系列 MCS-96/196/296 MC68HC05/11/12/16 ARM Cortex-M 系列可以理解为:
MCU 是一个“芯片级的小电脑”。
MPU 和 MCU 的简单区别
类型 | 集成度 | 外部器件 | 适合场景 |
MPU | 较低 | 需要较多外围芯片 | 复杂系统、高性能控制 |
MCU | 很高 | 外围较少即可工作 | 小型控制、低成本设备 |
3. DSP:数字信号处理器
DSP 是 Digital Signal Processor。
它专门用于高速数字信号处理。
特点:
采用哈佛结构 适合大量数据运算 适合乘加运算 适合实时信号处理常见应用:
音频处理 语音处理 图像处理 通信信号处理 雷达信号处理常见系列:
TMS320C2000 TMS320C5000 TMS320C6000 TMS320C8000 DSP56000可以理解为:
DSP 是专门做数学运算的“高速计算处理器”。
4. GPU:图形处理器
GPU 是 Graphics Processing Unit。
它最初用于图形处理,现在也大量用于 AI 和深度学习。
特点:
浮点运算能力强 多核并行计算能力强 适合大规模数据并行处理常见应用:
图形渲染 游戏 图像处理 深度学习 人工智能训练和推理可以理解为:
GPU 是擅长“同时做很多简单计算”的处理器。
5. SoC:片上系统
SoC 是 System on Chip。
它把很多功能集成在一个芯片里。
例如:
CPU GPU DSP 内存控制器 存储器 接口控制器 IP 核还可能包含:
操作系统 用户软件常见例子:
手机芯片 智能电视芯片 车载芯片 树莓派使用的 Broadcom 芯片可以理解为:
SoC 是“一个芯片就是一个完整系统”。
十一、存储器分类
存储器是嵌入式系统的重要组成部分。
主要分为:
RAM:随机存取存储器 ROM:只读存储器1. RAM:随机存取存储器
RAM 的特点:
可读可写 掉电后数据丢失 需要持续供电RAM 分为:
DRAM SRAM1. DRAM:动态随机存取存储器
DRAM 用电容存储信息。
特点:
集成度高 容量大 成本低 速度较慢 需要定期刷新常用作:
主存例如电脑内存条很多就是 DRAM。
2. SRAM:静态随机存取存储器
SRAM 用晶体管自锁方式保存状态。
特点:
速度快 不需要刷新 集成度低 容量小 成本高常用作:
高速缓存 CacheDRAM 和 SRAM 对比
类型 | 速度 | 容量 | 成本 | 是否刷新 | 常见用途 |
DRAM | 较慢 | 大 | 低 | 需要刷新 | 主存 |
SRAM | 快 | 小 | 高 | 不需要刷新 | Cache |
2. ROM:只读存储器
ROM 的特点:
掉电后数据不丢失 通常用于存放固件、程序、常量教材中提到:
ROM 读取速度比 RAM 快这里考试按教材理解即可。
ROM 常见类型:
MROM PROM EPROM EEPROM Flash1. MROM:掩膜型只读存储器
特点:
制造时通过掩膜写入数据 适合大批量生产 成本低 数据不可修改缺点:
一旦做出来就不能改适合:
程序固定、大批量生产的产品2. PROM:可编程只读存储器
特点:
可以用专用设备一次性烧录 适合少量制造缺点:
只能写一次3. EPROM:可擦可编程只读存储器
特点:
可以写入 可以用紫外线擦除 然后重新写入缺点:
擦除不方便4. EEPROM:电可擦可编程只读存储器
特点:
可以通过电压擦除和重写 比 EPROM 方便缺点:
擦除速度较慢5. Flash:快闪存储器
Flash 是现在非常常见的存储器。
特点:
可以联机擦写 擦写次数较多 速度较快缺点:
相对其他 ROM,读取速度可能较慢常见应用:
U 盘 固态硬盘 嵌入式程序存储 手机存储ROM 类型速记
类型 | 是否可改 | 擦除方式 | 特点 |
MROM | 不可改 | 不能改 | 出厂固定,大批量便宜 |
PROM | 一次写入 | 不能擦 | 少量制造 |
EPROM | 可擦写 | 紫外线 | 可重复写,但不方便 |
EEPROM | 可擦写 | 电压 | 电擦除,速度较慢 |
Flash | 可擦写 | 电压 | 擦写快,应用广 |
十二、总线逻辑
总线是各个硬件之间传输信息的公共通道。
1. 按传输信息种类分类
总线可以分为:
数据总线 地址总线 控制总线数据总线
传输实际数据。
例如:
CPU 读取传感器数值 CPU 向存储器写入数据地址总线
指定访问哪个存储单元或哪个设备。
例如:
CPU 要访问 RAM 中地址 0x1000 的数据控制总线
传输控制信号。
例如:
读信号 写信号 中断请求 时钟信号 复位信号2. 按连接部件分类
可以分为:
片内总线 系统总线/板级总线 局部总线 通信总线片内总线
连接芯片内部各元件。
例如:
CPU 内部 ALU、寄存器、Cache 之间的连接系统总线或板级总线
连接计算机系统的核心组件。
例如:
CPU 内存 I/O 控制器局部总线
连接局部少数组件。
例如某些高速外设接口。
通信总线
主机连接外设的总线。
例如:
USB UART SPI I2C CAN3. 按数据传输方向分类
可以分为:
单工总线 双工总线双工总线又分为:
半双工 全双工单工总线
只能一个方向传输。
例如:
A → B不能反向。
半双工总线
可以双向传输,但不能同时。
例如:
对讲机一方说话时,另一方不能同时说。
全双工总线
可以同时双向传输。
例如:
电话双方可以同时说话。
4. 按信号类型分类
可以分为:
并行总线 串行总线并行总线
同时传输多位数据。
例如:
8 位、16 位、32 位数据线同时传优点:
一次传输数据多缺点:
线多 一致性要求高 传输距离较近串行总线
一位一位传输数据。
例如:
USB UART SPI I2C优点:
线少 距离可以较远 成本低缺点:
同一时刻传输位数少但现代高速串行总线速度也可以非常高。
十三、看门狗电路
看门狗是嵌入式系统中非常重要的安全机制。
1. 看门狗是什么?
看门狗是一种系统恢复机制。
它的作用是:
防止程序跑飞、死锁或卡死。
2. 通俗理解
你可以把看门狗想象成一只“值班狗”。
程序正常运行时,必须定期去“喂狗”。
如果程序卡死了,忘记喂狗,看门狗就会叫。
看门狗叫了以后,通常会:
重启 MCU 或者触发中断3. 看门狗组成
看门狗主要由:
输入端 寄存器 计数器 狗叫模块组成。
输入端
程序通过输入端“喂狗”。
寄存器
用于设置看门狗参数。
例如:
超时时间 复位方式 中断方式计数器
计算是否超时。
狗叫模块
超时后决定如何处理。
常见处理方式:
产生中断 系统复位 重启 MCU4. 看门狗工作流程
正常情况:
程序运行 定期喂狗 计数器清零 不会超时异常情况:
程序死锁 忘记喂狗 计数器超时 触发复位 系统重启十四、安全攸关软件的安全性设计
1. 什么是安全攸关软件?
IEEE 定义:
安全攸关软件是“用于一个系统中,可能导致不可接受的风险的软件”。
通俗说:
如果这个软件出错,可能造成严重事故,那它就是安全攸关软件。
例如:
飞机飞控软件 汽车刹车软件 医疗设备控制软件 核电控制软件2. DO-178B 标准
DO-178B 是机载软件相关标准。
它的目的是:
为机载系统和设备的软件提供指导,使软件能够在满足适航安全性要求的情况下完成预期功能。
简单说:
飞机上的软件不能随便写 必须按照严格流程开发、验证和管理3. DO-178B 的软件生命周期
DO-178B 将软件生命周期分为三大过程:
1. 软件计划过程 2. 软件开发过程 3. 软件综合过程1. 软件计划过程
主要解决:
怎么做? 按什么标准做? 谁来做? 如何验证?2. 软件开发过程
软件开发过程又分为 4 个子过程:
软件需求过程 软件设计过程 软件编码过程 集成过程可以理解为:
先明确需求 再进行设计 然后写代码 最后集成3. 软件综合过程
软件综合过程又分为 4 个子过程:
软件验证过程 软件配置管理过程 软件质量保证过程 审定联络过程软件验证过程
验证软件是否满足需求,是否正确。
软件配置管理过程
管理版本、修改、文档和代码变更。
软件质量保证过程
保证开发过程符合规范。
审定联络过程
与审查、认证机构进行沟通和审定。
4. DO-178B 软件安全等级
DO-178B 根据软件在系统中的重要程度,将软件安全等级分为 A~E 五级。
等级 | 影响程度 | 含义 |
A | 灾难级 | 软件失效可能导致灾难性后果 |
B | 危害级 | 软件失效可能造成严重危害 |
C | 严重级 | 软件失效会造成较严重后果 |
D | 不严重级 | 软件失效影响较小 |
E | 没有影响级 | 软件失效没有影响 |
举例理解
系统 | 可能等级 |
飞机飞行控制系统 | A |
发动机控制系统 | A 或 B |
机载导航显示 | B 或 C |
客舱娱乐系统 | D 或 E |
十五、整体知识框架总结
可以把这一章内容整理成一张大图:
嵌入式系统 │ ├── 定义 │ └── 以特定应用为中心的专用计算机系统 │ ├── 组成 │ ├── 嵌入式处理器 │ ├── 支撑硬件 │ ├── 嵌入式操作系统 │ ├── 支撑软件 │ └── 应用软件 │ ├── 特点 │ ├── 专用性强 │ ├── 技术融合 │ ├── 软硬一体 │ ├── 资源受限 │ ├── 程序固化 │ ├── 专门开发工具 │ ├── 小、便宜、实时性强 │ └── 安全可靠要求高 │ ├── 分类 │ ├── 实时系统 │ │ ├── 强实时 │ │ └── 弱实时 │ └── 非实时系统 │ ├── 安全性分类 │ ├── 安全攸关系统 │ └── 非安全攸关系统 │ ├── 嵌入式软件 │ ├── 硬件层 │ ├── 抽象层 │ ├── 操作系统层 │ ├── 中间件层 │ └── 应用层 │ ├── 硬件体系结构 │ ├── 处理器 │ │ ├── MPU │ │ ├── MCU │ │ ├── DSP │ │ ├── GPU │ │ └── SoC │ ├── 存储器 │ │ ├── RAM │ │ │ ├── DRAM │ │ │ └── SRAM │ │ └── ROM │ │ ├── MROM │ │ ├── PROM │ │ ├── EPROM │ │ ├── EEPROM │ │ └── Flash │ ├── 总线 │ │ ├── 数据总线 │ │ ├── 地址总线 │ │ ├── 控制总线 │ │ ├── 片内总线 │ │ ├── 系统总线 │ │ ├── 局部总线 │ │ └── 通信总线 │ └── 看门狗 │ └── 安全攸关软件 ├── IEEE 定义 └── DO-178B ├── 软件计划过程 ├── 软件开发过程 ├── 软件综合过程 └── A~E 安全等级十六、考试高频重点
如果这是为了考试,可以重点记下面这些:
1. 嵌入式系统定义关键词
特定应用 计算机技术 软硬件可裁剪 专用计算机系统2. 嵌入式系统组成
处理器 支撑硬件 操作系统 支撑软件 应用软件3. 处理器等级温度
民用级:0~70℃ 工业级:-40~85℃ 军用级:-55~150℃4. 实时系统定义
在规定时间内完成功能并做出响应5. 强实时和弱实时
强实时:超时会导致严重后果 弱实时:偶尔延迟可以接受6. 安全攸关系统
失效会导致人员伤亡或财产损失7. 宿主机和目标机
宿主机:开发环境 目标机:运行环境8. 交叉开发工具
交叉编译器 交叉链接器 源代码调试器9. 嵌入式软件层次
硬件层 抽象层 操作系统层 中间件层 应用层10. HAL 和 BSP
HAL:硬件抽象层 BSP:板级支持包11. 处理器分类
MPU MCU DSP GPU SoC12. 存储器分类
RAM:DRAM、SRAM ROM:MROM、PROM、EPROM、EEPROM、Flash13. 总线分类
数据总线 地址总线 控制总线以及:
片内总线 系统总线 局部总线 通信总线14. 看门狗作用
防止程序跑飞或死锁 超时不喂狗就复位15. DO-178B 等级
A:灾难级 B:危害级 C:严重级 D:不严重级 E:没有影响级十七、最简记忆版
你可以用下面这段话快速记住整段内容:
嵌入式系统是面向特定应用的专用计算机系统,由处理器、支撑硬件、操作系统、支撑软件和应用软件组成。它的特点是专用性强、资源受限、软硬件结合、程序固化、可靠性高,并常具有实时性。
嵌入式系统可分为实时系统和非实时系统,实时系统又分为强实时和弱实时;从安全性看,可分为安全攸关系统和非安全攸关系统。
嵌入式软件开发通常在宿主机上完成,通过交叉编译工具生成目标机可执行程序。软件结构包括硬件层、抽象层、操作系统层、中间件层和应用层。
硬件体系结构包括处理器、存储器、总线、定时器和看门狗等。处理器包括 MPU、MCU、DSP、GPU、SoC;存储器包括 RAM 和 ROM;总线按功能分为数据、地址和控制总线。看门狗用于程序异常时自动恢复。
安全攸关软件失效可能导致严重后果,DO-178B 将软件安全等级分为 A~E 五级,A 级最严重,E 级无影响。
