系统架构设计师(四):嵌入式系统

系统架构设计师(四):嵌入式系统

引言

本文对应《系统架构设计师教程》(以下简称官方教材 )第二章 2.4 嵌入式系统及软件及第十六章**嵌入式系统架构设计理论与实践 **的内容。在实际考试中,嵌入式系统在选择、案例等模块都会涉及。本章内容由于超纲题较多,故本文主要聚焦选择题,非嵌入式开发开关的人员,考试时,不建议选择嵌入式案例。

嵌入式系统概述

嵌入式系统由嵌入式处理器(嵌入式CPU)、相关支撑硬件、嵌入式操作系统、支撑软件及应用软件组成。

嵌入式体系结构一般采用冯诺依曼体系结构或哈弗结构。

冯诺依曼结构

  • 将程序指令存储器和数据存储器合并在一起的存储结构,程序指令存储地址和数据存储地址指向同一个存储器的不同物理地址。
  • 采用单一地址和数据总线,程序指令和数据宽度相同。
  • 处理器执行指令时,先从存储器中取出指令码,再去操作数执行指令,需要花费几个甚至是几十个周期,容易出现瓶颈问题。

哈弗结构

  • 是一种并行体系结构,将程序和数据存储在不同数据空间,每个存储器独立编址、独立访问。
  • 程序存储和数据存储分别对应一套独立的数据总线和地址总线。这种独立的数据总线和地址总线,允许在一个周期内获得指令和操作数,从而提高了效率。

嵌入式系统设计

嵌入式硬件

  • 微处理器MPU:由通用计算机中的CPU演变而来,具有32位及以上处理器,只保留和嵌入式应用紧密相连的功能硬件,去除其他的冗余功能,以最低的功耗和资源实现嵌入式应用的特殊要求,常见的有ARM、MIPS、POWER PC等。
  • 微控制器MCU:又称单片机,与MPU相比,MCU最大的优点在于单片化,体积小,从而使功耗和成本下降,可靠性提高。
  • 数字信号处理器DSP:专门用于信号处理,对系统结构和指令进行了特殊设计(通常采用哈弗结构),使其适合于执行DSP算法,编译效率高,指令执行速度快,比最快的CPU还快10-50倍。
  • 片上系统SOC:追求产品系统最大包容的集成器件,实现了软硬件无缝结合,在处理器片内嵌入操作系统的代码模块。
  • 图形处理器GPU:专门用于处理图像、图形和并行计算任务的处理器。

下面以一个表格进行完整地展示:

类型 简称 核心特点 常见代表
微处理器 MPU 由通用CPU演变,32位及以上,保留关键功能,去除冗余,低功耗 ARM, MIPS, PowerPC
微控制器 MCU 单片化,体积小,集成度高,功耗与成本低,可靠性高 各类单片机(如STM32)
数字信号处理器 DSP 专为信号处理设计,常用哈佛结构,指令执行快,适合算法密集型任务 TI C6000系列
片上系统 SoC 高集成度,软硬件紧密结合,常在芯片内嵌入操作系统模块 手机SoC(如骁龙、麒麟)
图形处理器 GPU 专用于图形、图像处理及并行计算,具有高度并行计算能力 NVIDIA, AMD系列

嵌入式软件

嵌入式软件的特性

  • 规模较小
  • 开发难度大
  • 实时性和可靠性要求高
  • 需固化存储

嵌入式软件分类

  • 系统软件:控制和管理嵌入式系统资源。
  • 应用软件:嵌入式中的上层软件,定义主要功能和用途。与用户交互,面向特定领域,如车机软件、手机软件。
  • 支撑软件:辅助软件开发的工具软件,如系统分析工具、在线仿真工具。
  • 板级支持包BSP:介于主板硬件和驱动层程序之间的一层。

BSP关键点

功能:硬件初始化、设备驱动、中断服务、引导操作系统

特点:硬件相关、操作系统相关

内容:BootLoader(引导加载程序) + 设备驱动

嵌入式软件的组成

  • 嵌入式处理器
  • 相关支撑硬件
  • 嵌入式操作系统
  • 支持软件
  • 应用软件

嵌入式操作系统

嵌入式操作系统的层级结构

硬件层 → 抽象层 → 操作系统层 → 中间件层 → 应用层

嵌入式数据库系统EDBMS

EDBMS的特性

  • 设备随时移动性
  • 网络频繁断接
  • 网络条件多样化
  • 通信能力不对称

EDBMS的组成

  • 主数据库
  • 同步数据库
  • 嵌入式数据库
  • 连接网络

EDBMS要解决的问题

  • 数据一致性(复制性)问题
  • 高效的事务处理能力
  • 数据安全性等问题

嵌入式操作系统分类

嵌入式操作系统(EOS)

特点:微型化、代码质量高、专业化、实时性强、可裁剪和可配置

实时操作系统(RTOS)

特点:确定性、可预测性、及时响应、高可靠

分类:强实时(必须按时完成) / 弱实时(尽快完成)

代表:VxWorks、QNX、Nucleus

非实时操作系统

代表:Android、iOS、ROS

安全攸关系统

对安全性有极高要求的系统(如航空、医疗)

非安全攸关系统

对实时安全要求不高的通用系统

嵌入式软件设计

交叉开发:宿主机(开发机)与目标机(嵌入式设备)分离

交叉编译:在宿主机生成目标机可执行代码

交叉调试:调试器在宿主机,被调试程序在目标机运行

DO-178B协议

指导航空电子软件开发的行业标准,强调 过程证据

主要过程:

  1. 软件计划过程
  2. 软件开发过程(需求 → 设计 → 编码 → 集成)
  3. 软件综合过程(验证 + 配置管理 + 质量保证 + 审定联络)
相关推荐
风123456789~1 小时前
【架构专栏】第15章 面向服务架构设计 2/3
系统架构
风123456789~1 小时前
【架构专栏】第15章 面向服务架构设计 1/3
系统架构
智慧物业老杨3 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
数安旭说12 小时前
从“堆叠工具”到“一体化治理”:端点安全的技术演进与实践观察
网络安全·系统架构·数据安全·企业安全·端点安全·防泄密·一体化管理
Liaiyang6616 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
珠海西格电力16 小时前
零碳园区管理系统“智慧大脑”功能对园区运营成本的影响有哪些?
大数据·人工智能·安全·系统架构·能源
风123456789~18 小时前
【架构设计】第14章 云原生架构设计 2/2
系统架构
跨境数据猎手21 小时前
从零搭建多平台二手ERP中台:闲鱼、淘宝、京东、拼多多、Mercari统一调度架构
大数据·系统架构·团队开发
政企项目老覃1 天前
金融转账“幽灵失败“排查实录:从本地消息表到 Seata TCC 的选型与权衡
数据库·程序人生·性能优化·数据分析·系统架构
风123456789~1 天前
【架构设计】第13章 层次式架构设计 2/2
系统架构