嵌入式系统架构设计
嵌入式系统架构设计
本博客地址:https://security.blog.csdn.net/article/details/136745118
一. 嵌入式系统硬件
1、传统嵌入式系统主要硬件包括:
●
微处理器
:微控制器(MCU),微处理器(MPU)
●
存储器
:RAM、ROM
●
总线
:内总线,外总线。
●
定时器/计数器(Timer)
●
看门狗(WatchDog)
●
I/O 接口
:串口,网络,USB,JTAG
●
外部设备
:UART,LED
2、嵌入式处理器可以分为:
● 微处理器(MPU)。特点是体积小,重量轻,成本低,可靠性高,但技术保密性差。
● 微控制器(MCU)。特点是单片化,体积小,功耗低,成本低,可靠性更高。
● 信号处理器(DSP)。特点是系统结构和指令采用特殊设计,通常采用哈佛结构,编译效率高,指令执行速度也高。
● 图形处理器(GPU)。专注于浮点运算,弥补了 CPU 运算速度不足。
● 片上系统(SoC)。采用了片内再编程技术,可使片上系统内硬件的功能像软件一样通过编程来配置,从而可以实时地进行灵活而方便的修改和开发。
3、存储器就是一种存储程序和数据用的时序逻辑电路。存储器分类为:
随机存取存储器(RAM)
、
只读存储器(ROM)
4、随机存取存储器(RAM)的特点是一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。
5、根据组成元件的不同,RAM 内存又可分为以下 18 种:
● 动态随机存取存储器(DRAM);
● 静态随机存取存储器(SRAM);
● 视频内存(VRAM);
● 快速页切换模式动态随机存取存储器(FPM DRAM);
● 延伸数据输出动态随机存取存储器(EDO DRAM);
● 爆发式延伸数据输出动态随机存取存储器(BEDO DRAM);
● 多插槽动态随机存取存储器(MDRAM);
● 窗口随机存取存储器(WRAM);
● 高频动态随机存取存储器(RDRAM);
● 同步动态随机存取存储器(SDRAM);
● 同步图形随机存取存储器(SGRAM);
● 同步爆发式静态随机存取存储器(SB SRAM);
● 管线爆发式静态随机存取存储器(PB SRAM);
● 二倍速率同步动态随机存取存储器(DDR SDRAM);
● 同步链环动态随机存取存储器(SLDRAM);
● 同步缓存动态随机存取存储器(CDRAM);
● 第二代同步双倍速率动态随机存取存储器(DDRII);
● 直接内存总线动态随机存取存储器(DRDRAM)。
6、只读存储器(ROM)在元件正常工作的情况下,其中的代码数据将永久保存,并且不能够进行修改。ROM 一般应用于 PC 系统程序码和主机板 BIOS 上。
7、ROM可以分为以下 5 种:
● 掩模型只读存储器(MASK ROM);
● 可编程只读存储器(PROM);
● 可擦可编程只读存储器(EPROM);
● 电可擦可编程只读存储器(EEPROM);
● 快闪存储器(Flash Memory)。
8、总线是功能部件间传输信息的公共通信干线。总线的拓扑结构有
星型
、
树状
、
环型
、
总线型
和
交叉开关型
等 5 种。总线的类型可以按照
计算机所传输的信息种类
、
按连接部件
进行划分。
9、按照计算机所传输的信息种类可以分为:
数据总线
、
地址总线
、
控制总线
。
10、按连接部件分类为:
●
片内总线
:内部总线,连接 ALU、寄存器、指令部件等芯片内部元件。
●
系统总线
:内部总线,又称板级总线,连接微控制器/处理器,主存,I/O 接口。
●
局部总线
:内部总线,连接少量组件用于交换数据。
●
通信总线
:外部总线,又称外设总线,连接外部设备或外部系统。
11、看门狗为嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序跑飞时重新启动系统。它的基本原理是由计数器自动计数,程序定期将其重置,如果系统卡死或程序跑飞,计数器溢出,进入中断处理,在设定时间间隔内,系统保留状态后复位重启。
二. 嵌入式系统软件
1、嵌入式操作系统(EOS)是指用于嵌入式系统的操作系统。与通用的操作系统相比,嵌入式操作系统具有:
可剪裁性
,
可移植性
,
强实时性
,
强紧凑性
,
高质量代码
,
强定制性
,
标准接口
,
强稳定性
,
弱交互性
,
强确定性
,
操作简捷、方便
,
较强的硬件适应性
,
可固化性的特点
。
2、嵌入式操作系统分为
面向控制、通信领域
以及
面向消费电子产品
两类。
3、操作系统内核架构包括:
●
宏内核
。用于管理用户程序和硬件间的系统资源,在宏内核中用户服务和内核服务在同一空间中实现,代码耦合度非常高,内核的功能组件代码可以互相调用。
●
微内核
。微内核管理所有系统资源,在微内核中用户服务和内核服务在不同空间中实现,系统结构清晰,代码量少。
4、任务管理。任务是嵌入式操作系统调度最小单位,类似于计算机操作系统中进程的概念。任务有 3 种工作状态:
执行状态
、
就绪状态
、
阻塞状态
。
5、嵌入式操作系统大都支持
优先级抢占调度算法
和
时间片轮转调度算法
。在实时系统的任务调度中,存在大量的
实时调度方法
,大致可以分为:
离线调度算法
、
在线调度算法
、
抢占调度算法
、
非抢占调度算法
、
静态调度算法
、
动态调度算法
。
6、实时调度算法中还有
强实时调度算法
,具体可以分为:
最早截止时间优先(EDF)调度算法
、
最低松弛度优先(LLF)调度算法
、
单调速率(RMS)调度算法
(根据任务周期确定有限期,周期越短,优先级越高,这种算法被认为是最优的)
7、存储管理。存储管理的主要目的是
解决多个用户使用主存的问题
,存储管理方法主要包括
分区
、
分页
、
分段
、
段页式存储管理
以及
虚拟存储管理
等。
8、任务间通信。它主要为操作系统的应用程序提供多种类型的
数据传输
、
任务同步/异步操作
等手段。
9、嵌入式数据库具有
嵌入式
、
实时性
、
移动性
、
伸缩性
的特点。嵌入式数据库可以按照如下方式分类:
● 按嵌入对象分为:
软件嵌入数据库
、
设备嵌入数据库
、
内存数据库
。
● 按系统结构分为:
嵌入数据库
、
移动数据库
、
小型 C/S 结构数据库
。
● 按存储位置分为:
基于内存的数据库系统
(典型产品是 eXtremeDB 嵌入式数据库)、
基于文件的数据库
(典型产品是 SQLite)、
基于网络的数据库
(B/S数据库、C/S数据库、云数据库等)。
10、数据库管理系统与嵌入式数据库使用对比
对比页 | 数据库管理系统 | 嵌入式数据库 |
---|---|---|
操作用户 | 允许非开发人员操作 | 只允许应用程序访问和控制 |
访问控制 | 数据与程序分离,便于访问控制 | 应用程序负责访问和控制 |
发布部署 | 独立安装、部署和管理 | 与应用程序一同发布 |
11、除了具有与通用数据库相似的功能外,嵌入式数据库还具有的功能包括:
足够高效的数据存储机制
、
数据安全控制(锁机制)
、
实时事务管理机制
、
数据库恢复机制(历史数据存储)
。
12、嵌入式中间件是在嵌入式系统中处于嵌入式应用和操作系统之间层次的中间软件,其主要作用是
对嵌入式应用屏蔽底层操作系统的异构性
,常见功能有
网络通信
、
内存管理
和
数据处理
等。典型的嵌入式中间件有
消息中间件
、
分布式对象中间件
。
13、嵌入式系统软件开发环境的特点是:
集成开发环境
,
交叉开发
,
开放式架构
,
可扩展性
,
可操作性
,
可移植性
,
可配置性
,
实时性
,
可维护性
,
用户界面友好
。
三. 嵌入式系统软件架构设计方法
1、嵌入式系统软件架构设计方法有:
基于架构的软件设计开发方法(ABSD)
、
属性驱动的软件设计方法(ADD)
、
实时系统设计方法(DARTS)
。
2、属性驱动的软件设计方法(ADD)是把一组
质量属性
(可用性、性能、安全性等)场景作为输入,利用对质量属性实现与架构设计之间的关系的了解(如体系结构风格、质量战术等)对软件架构进行设计的一种方法。采用 ADD 方法进行软件开发时,需要经历
评审
、
选择驱动因子
、
选择系统元素
、
选择设计概念
、
实体化元素和定义接口
、
草拟视图
和
分析评价等
7 个阶段。
3、实时系统设计方法(DARTS)基于传统结构化分析方法,扩展了行为建模部分。DARTS 方法分为 5 个部分:
用实时结构化分析方法开发系统规范
、
将系统划分为多个并发任务
、
定义任务间接口
、
设计每个任务
、
设计过程的成果
。
4、DARTS 方法的优势如下:
● 强调将系统分解为并发任务,并提供确认任务的标准。
● 提供定义任务间接口的指南。
● 强调用任务架构图的重要性。
● 提供从实时结构化分析规格到实时结构化设计的转换。
5、DARTS 方法的不足如下:
● DARTS 使用信息隐藏技术封装数据存储,封装性不好。
● 如果实时结构化分析阶段完成得不好,那么任务的结构化工作就会更加困难。
四. 鸿蒙操作系统
1、鸿蒙操作系统架构采用了
分布式设计理念
,实现了
分布式软总线
、
分布式设备系统的虚拟化
、
分布式数据管理
和
分布式任务调度
4 种分布式能力。
2、鸿蒙操作系统的架构是一种
层次式架构
,由
内核层
、
系统服务层
、
应用框架层
、
应用层
组成
● 内核层。内核层采用
微内核
设计,内核层中的内核抽象层屏蔽多内核差异,对上层提供基础内核能力,如
进程/线程管理
、
内存管理
、
文件系统
、
网络管理
、
外设管理
等。驱动子系统则提供统一
外设访问能力
、
驱动开发框架
、
驱动管理框架
。
● 系统服务层。属于核心能力集合的部分,为应用程序提供服务。
● 应用框架层。为应用服务提供多语言用户程序框架、能力框架,以及各种硬件服务对外开放的 API。
● 应用层。包括系统应用和第三方非系统应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
3、鸿蒙操作系统架构具有 4 个技术特性:
● 分布式架构用于终端操作系统,实现跨终端无缝协同体验。
● 确定时延引擎和高性能进程间通信技术,实现系统的流畅。
● 基于微内核架构,重塑终端设备的可信安全。
● 统一集成开发环境,一次开发,多端部署,实现跨终端生态共享。
五. 面向安全攸关系统的跨领域系统架构(GENESYS)
1、GENESYS 是一种跨领域的通用嵌入式架构平台。GENESYS 采用
消息交换
方式实现软硬件构件的抽象级别的提升,使得构件在接口规范基础上可以被重用,而不需要知道构件的内部实现。GENESYS 设计了
故障或错误的隔离框架
,构件在瞬态故障引起失效后,可选择性地重启和用构件复制来屏蔽瞬态和永久错误。同时 GENESYS 可以减少构件的功率需求或者在不需要时(功率门)完全关闭构件。因此 GENESYS 的出现解决了
复杂性管理
、
系统健壮性
、
能量有效使用
3 个方面的挑战。
2、GENESYS 架构主要提供了 3 组服务,即
领域无关服务
、
领域专用服务
和
应用专用服务
。
3、
领域无关服务
包括
核心服务
和
选择服务
,如
嵌入式系统中的全局时间和消息传输等服务
为核心服务。
信息安全服务
、
外部存储器管理器
或者
Internet 网关服务
等属于选择服务。
4、
领域专用服务
是由
领域特有的服务子集
加上
待开发领域特征的特定服务
组合。GENESYS 架构从硬件、软件的观点遵循了面向构件的风格,分离了计算与通信,将计算构件和通信设施作为独立构件进行设计。
5、GENESYS 架构的主要特征及优势包括:
●
精确的构件定位
。具体体现为
简单化
、
跨领域重用
、
规模的经济型
、
健壮性
、
可降低系统集成工作量
这 5 个特征。
●
开放性
。体现为具有
可集成性
、
可升级性
、
可扩展性
、
遗产系统集成
、
降低成本
这 5 个特征。
●
三级集成
。具有
芯片级集成
、
设备级集成
、
系统级集成
的集成。
●
分层的服务
。体现具有
可重用性
、
领域定位
、
工效经济型
的特性
●
确定的核心
。体现在具有
及时性
、
降低复杂性
、
可测试性
、
认证
、
故障掩蔽
的特征。
●
标准的互联集成
。体现在
对远程访问的保护
、
降低集成工作难度
、
常规人机交互
、
具有安全性
4 个方面。
六. 物联网操作系统软件架构
1、物联网操作系统通常包括
芯片层
、
终端层
、
边缘层
、
云端层
等多个层面内容。
2、物联网操作系统使用的软件以及技术主要有:
开源物联网操作系统(FreeRTOS)
、
公共服务组件
、
定制性服务组件
。
3、公共服务组件有:
网络协议
、
外设支持
、
可移植操作系统接口 POSIX
。
4、定制性服务组件有:
消息队列遥测传输协议(MQTT)
,
安全超文本传输协议(HTTPS)
,
消息标准 PKCS #11 支持
,
安全套件
等。
5、物联网操作系统主要特征有:
内核实时性
、
内核尺寸伸缩性
、
架构可扩展性
、
高可靠性
、
低功耗
。