【系统架构设计师】操作系统 - 特殊操作系统 ① ( 嵌入式操作系统 | 嵌入式系统 组成层级 | 嵌入式系统 核心要素 | 嵌入式系统 特点 | 交叉开发环境 | 低功耗设计 )
一、嵌入式系统1、嵌入式系统 组成层级2、嵌入式系统 核心要素3、嵌入式系统 特点4、硬件抽象层二、嵌入式操作系统1、嵌入式操作系统 特点2、交叉开发环境三、低功耗设计1、硬件低功耗设计2、软件低功耗设计
·
文章目录
一、嵌入式系统
1、嵌入式系统 组成层级
嵌入式系统 组成层级 : 由 底层 到 上层 顺序列出 ;
- 嵌入式硬件平台 : 是 系统最底层 , 核心运算 与 控制 载体 , 由 CPU、存储器、基础电路 等组成 ;
- 支撑硬件 : 扩展系统功能的物理外设 , 如 : I/O 设备 ( 输入设备 : 传感器 / 输出设备 : 执行器 )、通信模块 ( WIFI / 蓝牙 / 总线 ) 等 ;
- 嵌入式操作系统 : 硬件与软件间的桥梁 , 资源调度核心 , 由 内核、驱动层 等组成 ;
- 支撑软件 : 辅助应用开发的工具与环境 , 如 : 中间件 ( 协议栈 / 数据库 )、开发工具 ( 交叉编译工具链 / 调试器 / 仿真器 ) 、库函数 ;
- 应用软件 : 直接 面向用户需求的功能实现层 ;
嵌入式系统 各层级之间的关系 :
- 应用软件 调用 支撑软件 ;
- 支撑软件 依赖 嵌入式操作系统 ;
- 操作系统 管理 嵌入式硬件平台 和 支撑硬件 ;

应用软件 → 调用 支撑软件 → 依赖 操作系统 → 管理 硬件平台和支撑硬件 应用软件 \xrightarrow{\text{调用}} 支撑软件 \xrightarrow{\text{依赖}} 操作系统 \xrightarrow{\text{管理}} 硬件平台 和 支撑硬件 应用软件调用支撑软件依赖操作系统管理硬件平台和支撑硬件
2、嵌入式系统 核心要素
嵌入式系统 的 核心要素 : 嵌入式系统是 隐蔽嵌入、功能专一、具备计算能力 的智能化单元 , 广泛存在于 工业、消费电子 及 物联网 等领域 ;
- 隐蔽嵌入 : 无法独立存在 , 作为更大系统的一部分嵌入到设备中 , 通常不可见或无需用户直接操作 ; 受功耗、体积、成本限制,需优化资源 ; 需快速响应外部事件 ;
- 功能专一 : 针对特定功能定制 , 非通用计算设备 ; 软硬件按需求裁剪 ; 去除冗余功能 , 专注核心任务 ; 在固定场景下长期运行 ;
- 具备计算能力 : 具备计算机核心能力 , 但形态灵活 ;
3、嵌入式系统 特点
嵌入式系统 特点 :
- 系统专用型强 : 针对特定功能定制 , 不是 通用计算设备 ; 系统功能单一 , 仅完成预设任务 ; 软硬件可裁剪 , 可根据需求移除冗余功能 ; 可在 固定场景中 持续稳定运行 ;
- 系统实时性强 : 严格满足任务时间约束 ; 硬实时 超时即失效 , 软实时 允许偶尔延迟 ;
- 软硬件依赖性强 : 软硬件深度耦合 ; 特定芯片需定制固件 ; 算法匹配硬件特性 ; 功能需软硬件共同实现 ;
- 处理器专用 : 按场景选则芯片型号 ; 如 : 穿戴设备 使用低功耗 MCU , 摄像头类设备 采用 高性能 SoC , 信号处理设备 使用 DSP / FGPA 芯片 ;
- 多种技术紧密结合 : 涉及跨学科集成 , 硬件层 涉及 传感器、通信模块、电源管理 技术 , 软件层 涉及到 RTOS、驱动程序、AI推理框架 等技术 ;
- 系统透明性 : 嵌入式系统运行 对 用户 透明 , 在用户无感下运行 ; 后台运行 隐蔽交互 , 不需要用户 UI 界面 ; 基于预设逻辑执行 , 自动决策 ; 通过 OTA 远程更新固件 ;
- 系统资源受限 : 在 有限条件下优化系统 , 如 : 硬件限制 ( 内存 / 算力 )、功耗约束、成本限制 ;
4、硬件抽象层
硬件抽象层 HAL : 又称为 " 板级支撑包 " , HAL 层 处于 底层硬件 与 操作系统内核 之间 , 在该层定义了各种 便于系统移植的 宏定义 , 在各个平台之间相互移植的时候 , 只需要修改 HAL 层 宏定义 即可 ;
- HAL 层 将 操作系统 与 底层硬件平台 隔开 ;
- 由于 HAL 层的存在 , 软件设计调试 , 硬件设计调试 可以并行执行 ;
- HAL 层 与 硬件紧密相关 , 可以 对 操作系统 隐藏 硬件的多样性 ;
- 设备驱动管理 / 进程调度管理 / 文件管理 / 内存管理 / 作业管理 是 操作系统的工作 , 与 HAL 层无关 ;
二、嵌入式操作系统
1、嵌入式操作系统 特点
嵌入式操作系统 ( Embedded OS ) 特点 :
- 微型化 : 在有限资源下实现最小化占用 ; 如 : 轻量内核 , 内核代码精简 , 低存储需求 ;
- 代码质量高 : 可靠性要求高 , 确保长期稳定运行 , 需要经过 严格测试 和 高效优化 , 避免 内存泄漏 与 冗余计算 ;
- 专业化 : 场景专业定制 , 针对垂直领域深度优化 ;
- 实时性强 : 确定性响应 , 严格满足任务时限 ;
- 可裁剪 / 可配置 : 模块化设计 , 按需增减功能 ; 通过宏定义开关组件 配置内核 ; 外设驱动裁剪 , 仅保留必需驱动 ;
2、交叉开发环境
交叉开发环境 :
- 宿主机 : 开发者的开发平台 , 一般都是 x86 芯片 ;
- 目标机 : 嵌入式系统 运行的 设备 , 一般都是 ARM 芯片 ;
- 交叉编译 : 嵌入式开发 需要 搭建 交叉开发环境 , 目的是 在 x86 系统中 编译 arm 系统 运行的程序 ;
- 连接方式 : 宿主机 与 目标机 之间必须 建立 物理线路 上的链接 , 不能只建立逻辑连接 , 可以使用 网络 / USB / 串口 等多种连接方式 ;
- 调试器 : 使用 调试器 调试程序 , 调试器 一般安装在 宿主机上 , 调试完毕后 进行交叉编译 安装到 宿主机 ;

三、低功耗设计
1、硬件低功耗设计
硬件低功耗设计 :
- 板级电路低功耗 : 电源管理优化 , 减少非必要电路能耗 ; 采用 低功耗元器件选型 ; 采用 电源管理芯片 , 选用高阻值电阻 降低静态功耗 进行 低漏电流设计 ;
- 低功耗处理器 : 采用支持 多模式切换的芯片 , 支持运行/睡眠/停机模式 ; 动态电压频率调节 ; 支持 大核(性能模式)+小核(低功耗协处理器) 异构架构 ;
- 总线低功耗 : 优化总线协议 , 优化总线编码 , 采用格雷码等编码方式减少信号跳变次数 ; 动态速率调节 , 如 : I²C总线空闲时降速至10kHz ; 采用 总线门控 , SPI 通信后自动关闭时钟信号 ;
- 接口驱动电路低功耗 : 驱动级优化 ; 使用 MOSFET 替代继电器 , 降低开关损耗 ; 使用 电平匹配电路 , 避免无效电平转换 ;
- 分区分时供电 : 动态电源管理 ; 电源域划分 , 将系统分为多个独立供电区域 ; 通过 MOS 管或负载开关实现 时序控制 ;
2、软件低功耗设计
软件低功耗设计 :
- 编译优化 : 节省指令开销 ; 使用 Thumb-2 指令集 减少指令周期 , 进行 代码密度优化 ; 寄存器分配优化 , 减少内存访问次数 ;
- 软硬件协同设计 : 将硬件功能交给软件 ; 采用 状态迁移策略 , 通过软件控制硬件进入深度睡眠模式 ; 事件驱动架构 , 用中断唤醒替代轮询 ;
- 算法优化 : 降低算法运行的时间复杂度 ; 定点数替代浮点 , 在精度允许范围内使用Q格式定点运算 ; 数据预处理 , 在休眠期完成数据滤波等预处理 , 缩短唤醒时间 ;
更多推荐
所有评论(0)