【系统架构设计师】嵌入式系统架构设计理论与实践
·
一、嵌入式系统概述
(一)嵌入式系统发展历程

(二)嵌人式系统硬件体系结构
1.传统嵌入式系统
典型嵌入式系统硬件组成结构如下图所示:
传统嵌入式系统主要硬件包括:
(1)微处理器:微控制器(Micro Control Unit,MCU),微处理器(Micro Processor Unit,MPU),信号处理器 (Digital Signal Processor,DSP),图形处理器 (Graphics Processing Unit,GPU),片上系统 (System on Chip,SoC)。
- 微处理器 (MPU): 将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能。与工业控制计算机相比,其优点在于体积小,重量轻,成本低以及可靠性高,但是电路板上必须包括ROM、RAM、 总线接口、各种外设等器件,降低了系统的可靠性,技术保密性也较差。嵌入式微处理器目前主要有:Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。
- 微控制器 (MCU): 又称单片机。微处理器一般以某一种微处理内核为核心,每一种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置和封装。与MPU相比,MCU 的最大优点在于单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。微控制器比较有代表性的通用系列包括:8501, P51XA,MCS-251,MCS-96/196/296,C166/167, MC68HC05/11/12/16,68300和数目众多的ARM系列。
- 信号处理器 (DSP):DSP处理器对系统结构和指令进行了特殊设计(通常, DSP采用一种哈佛结构),使其适合于执行DSP算法,编译效率高,指令执行速度也高。 DSP处理器比 较有代表性的产品是 TI 公司生产的TMS320 系列(包括用于控制的 C2000系列,移动通信的C5000 系列,以及性能更高的C6000系列和C8000 系列)和Freescale 公司生产的 DSP56000系列,另外 PHILIPS公司近年也推出了基于可重置嵌入式 DSP结构的采用低成本,低功耗技术制造的R.E.A.L DSP处理器。
- 图形处理器 (GPU):GPU是图形处理单元的缩写,是一种可执行渲染3D 图形等图像的半导体芯片(处理器)。 GPU可用于个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的为处理器。它可减少对CPU 的依赖,并进行部分原本 CPU 的工作,尤其是在3D 图形处理中, GPU采用了核心技术(如:硬件T&L、 纹理压缩等)保证了快速3D 渲染能力。
- 片上系统 (SoC): 各种通用处理器内核作为SoC设计公司的标准库,与许多其他嵌入 式系统的外设一样,成为VLSI 设计中的一种标准的器件,用标准的VHDL等语言描述,存储在器件库中,用户只需要定义出整个应用系统。除个别无法集成的器件以外,整个嵌入式系统大部分都可集成到一块或几块芯片中。
(2)存储器:RAM(Random Access Memory, 随机存取存储器)、ROM(Read Only Memory, 只读存储器)。
随机存取存储器(Random Access Memory,RAM)。它的特点是一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。根据组成元件的不同,RAM 内存又可分为以下 18 种:①动态随机存取存储器(Dynamic RAM,DRAM);这是最普通的 RAM, 一个电子管与一个电容器组成一个位存储单元, DRAM将每个内存位作为一个电荷保存在位存储单元中,用电容的充放电来做储存动作,但因电容本身有漏电问题,因此必须每几微秒就要刷新一次,否则数据会丢失。存取时间和放电时间一致,约为2~4ms。 因为成本比较便宜,通常都用作计算机内的主存储器。②静态随机存取存储器(Static RAM,SRAM);静态,指的是内存里面的数据可以长驻其中而不需要随时进行存取。每6个电子管组成一个位存储单元,因为没有电容器,因此无须不断充电即可正常运作,因此它可以比一般的动态随机处理内存处理速度更快更稳定,往往用作高速缓存。③视频内存(Video RAM,VRAM);它的主要功能是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负担。它采用双数据口设计,其中一个数据口是并行式的数据输出入口,另一个是串行式的数据输出口,多用于高级显卡中的高档内存。④快速页切换模式动态随机存取存储器((Fast Page Mode DRAM, FPM DRAM);改良版的 DRAM, 大多数为72Pin或30Pin 的模块。传统的 DRAM在存取一位的数据时,必须送出行地址和列地址各一次才能读写数据。而FRM DRAM 在触发了行地址后,如果 CPU 需要的地址在同一行内,则可以连续输出列地址而不必再输出行地址了。由于一般的程序和数据在内存中排列的地址是连续的,这种情况下输出行地址后连续输出列地址就可以得到所需要的数据。 FPM将记忆体内部隔成许多页 (Pages), 从512B 到数 “KB” 不等,在读取一连续区域内的数据时,就可以通过快速页切换模式来直接读取各Page 内的资料,从而大大提高读取速度。在1996年以前,在486时代和PENTIUM时代的初期,FPM DRAM被大量使用。⑤延伸数据输出动态随机存取存储器(Extended Data Out DRAM,EDO DRAM);这是继 FPM之后出现的一种存储器,一般为72Pin、168Pin 的模块。它不需要像FPM DRAM那样在存取每一位数据时必须输出行地址和列地址并使其稳定一段时间,然后才能读写有效的数据,而下一位的地址必须等待这次读写操作完成才能输出。因此它可以大大缩短等待输出地址的时间,其存取速度一般比FPM模式快15%左右。它一般应用于中档以下的 Pentium 主板标准内存,后期的486系统开始支持EDO DRAM, 到1996年后期,EDO DRAM 开始执行。⑥爆发式延伸数据输出动态随机存取存储器(Burst Extended Data Out DRAM,BEDO DRAM);这是改良型的 EDO DRAM, 是由美光公司提出的,它在芯片上增加了一个地址计数器来追踪下一个地址。它是突发式的读取方式,也就是当一个数据地址被送出后,剩下的三个数据每一个都只需要一个周期就能读取,因此一次可以存取多组数据,速度比EDO DRAM快。但支持 BEDO DRAM 内存的主板很少,只有极少几款提供支持(如 VIA APOLLO VP2), 因此很快就被DRAM 取代了。⑦多插槽动态随机存取存储器(Multi-Bank DRAM,MDRAM);MoSys公司提出的一种内存规格,其内部分成数个类别不同的小储存库 (BANK), 即由数个独立的小单位矩阵所构成,每个储存库之间以高于外部的资料速度相互连接,一般应用于高速显示卡或加速卡中,也有少数主机板用于L 2 高速缓存中。⑧窗口随机存取存储器(Window RAM,WRAM);韩国 Samsung公司开发的内存模式,是VRAM 内存的改良版,不同之处是它的控制线路有一二十组的输入/输出控制器,并采用 EDO的资料存取模式,因此速度相对较快,另外还提供了区块搬移功能 (BitBlt), 可应用于专业绘图工作。⑨高频动态随机存取存储器(Rambus DRAM,RDRAM);Rambus 公司独立设计完成的一种内存模式,速度一般可以达到500~530MB/s, 是 DRAM 的10倍以上。但使用该内存后内存控制器需要作相当大的改变,因此它们一般应用于专业的图形加速适配卡或者电视游戏机的视频内存中。⑩同步动态随机存取存储器(Synchronous DRAM,SDRAM);这是一种与 CPU 实现外频Clock同步的内存模式,一般都采用168Pin 的内存模组,工作电压为3.3V。 所谓Clock同步是指内存能够与 CPU同步存取资料,这样可以取消等待周期,减少数据传输的延迟,因此可提升计算机的性能和效率。⑪同步图形随机存取存储器 (Synchronous Graphics RAM,SGRAM);SDRAM 的改良版,它以区块Block(32bit) 为基本存取单位,减少内存整体读写的次数,另外还针对绘图需要而增加了绘图控制器,并提供区块搬移功能 (BitBlt), 效率明显高于SDRAM。⑫同步爆发式静态随机存取存储器(Synchronous Burst SRAM,SB SRAM);一般的 SRAM是非同步的,为了适应CPU越来越快的速度,需要使它的工作时脉变得与系统同步,这就是SB SRAM产生的原因。⑬管线爆发式静态随机存取存储器(Pipeline Burst SRAM,PB SRAM);CPU 外频速度的迅猛提升对与其相搭配的内存提出了更高的要求,管线爆发式SRAM取代同步爆发式SRAM成为必然的选择,因为它可以有效地延长存取时脉,从而有效提高访问速度。⑭二倍速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM);作为SDRAM 的换代产品,它具有两大特点:其一,速度比 SDRAM快一倍;其二,采用了DLL(Delay Locked Loop, 延时锁定回路)提供一个数据滤波信号。这是目前内存市场上的主流模式。⑮同步链环动态随机存取存储器(Synchronize LinkDRAM,SLDRAM);这是一种扩展型 SDRAM结构内存,在增加了更先进同步电路的同时,还改进了逻辑控制电路。⑯同步缓存动态随机存取存储器(Cached DRAM,CDRAM);这是三菱电气公司首先研制的专利技术,它是在DRAM芯片的外部插针和内部DRAM之间插入一个 SRAM作为二级Cache使用。当前,几乎所有的 CPU 都装有一级Cache来提高效率,随着CPU时钟频率的成倍提高, Cache不被选中对系统性能产生的影响将会越来越大,而Cache DRAM 所提供的二级 Cache正好用以补充CPU一级Cache之不足,因此能极大地提高 CPU 效率。⑰第二代同步双倍速率动态随机存取存储器(Double Data Rate Synchronous DRAM,DDRII);DDRⅡI是 DDR原有的 SLDRAM联盟于1999年解散后将既有的研发成果与DDR整合之后的未来新标准。 DDRⅡI 的详细规格目前尚未确定。⑱直接内存总线动态随机存取存储器(Direct Rambus DRAM,DRDRAM)。DRDRAM 是下一代的主流内存标准之一,由Rambus 公司所设计发展出来,是将所有的接脚都连接到一个共同的 Bus, 这样不但可以减少控制器的体积,还可以增加资料传送的效率。
只读存储器(Read Only Memory,ROM)。ROM 在元件正常工作的情况下,其中的代码数据将永久保存,并且不能够进行修改。ROM 一般应用于 PC 系统程序码和主机板 BIOS 上。ROM可以分为以下 5 种:①掩模型只读存储器(MASK ROM);制造商为了大量生产 ROM 内存,需要先制作一颗有原始数据的 ROM或 EPROM作为样本,然后再大量复制,这一样本就是MASK ROM, 而烧录在 MASK ROM中的资料永远无法做修改。它的成本比较低。②可编程只读存储器(Programmable ROM,PROM);这是一种可以用刻录机将资料写入的ROM 内存,但只能写入一次,所以也被称为“一次可编程只读存储器” (One Time Programming ROM,OTP-ROM)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的 PROM 在出厂时数据全为0, 则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。③可擦可编程只读存储器(Erasable Programmable,EPROM);这是一种具有可擦除功能,擦除后即可进行再编程的 ROM 内存,写入前必须先把里面的内容用紫外线照射它的 I C卡上的透明视窗的方式来清除掉。这一类芯片比较容易识别,其封装中包含有“石英玻璃窗”,一个编程后的 EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住,以防止遭到阳光直射。④电可擦可编程只读存储器(Electrically Erasable Programmable,EEPROM);功能与使用方式与EPROM 一样,不同之处是清除数据的方式,它是以约20V 的电压来进行清除的。另外它还可以用电信号进行数据写入。这类ROM 内存多应用于即插即用 (PnP) 接口中。⑤快闪存储器(Flash Memory)。这是一种可以直接在主机板上修改内容而不需要将IC拔下的内存,当电源关掉后储存在里面的资料并不会流失掉,在写入资料时必须先将原本的资料清除掉,然后才能再写入新的资料,缺点为写入信息的速度太慢。
(3)总线:内总线,外总线。
(4)定时器/计数器(Timer)。
(5)看门狗(WatchDog)
(6)I/O 接口:串口,网络,USB,JTAG。
(7)外部设备:UART,LED。
2.总线
总线是功能部件间传输信息的公共通信干线。总线的拓扑结构有星型、树状、环型、总线型和交叉开关型等 5 种。总线的类型可以按照计算机所传输的信息种类、按连接部件进行划分。
(1)按照计算机所传输的信息种类可以分为:
数据总线:用于处理器与 RAM 间传输待处理和待存储的数据。
地址总线:用于传输 RAM 中存储数据的地址。
控制总线:用于传输处理器控制单元信号到周边设备。
(2)按连接部件分类。
片内总线:内部总线,连接 ALU、寄存器、指令部件等芯片内部元件。
系统总线:内部总线,又称板级总线,连接微控制器/处理器,主存,I/O 接口。
局部总线:内部总线,连接少量组件用于交换数据。
通信总线:外部总线,又称外设总线,连接外部设备或外部系统。
各类总线在嵌入式系统的位置:
3.看门狗
看门狗为嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序跑飞时重新启动系统。它的基本原理是由计数器自动计数,程序定期将其重置,如果系统卡死或程序跑飞,计数器溢出,进入中断处理,在设定时间间隔内,系统保留状态后复位重启。
(三)嵌入式软件架构概述
嵌入式系统的软件架构是随着嵌入式系统发展而发展起来的。随着嵌入式系统智能化发展,嵌入式软件架构得到了快速发展。在保持原层次架构的基础上,采纳了众多非嵌入式系统的软件架构,如事件驱动架构、微服务架构等。由于嵌入式系统的专用性,其架构和目标系统是紧密结合的,通常没有统一的架构,要根据嵌入式系统的应用目标的需求,在根据系统的复杂程度、功能大小,来采用不同架构设计方法。目前,比较典型的嵌入式软件架构有两种:层次化模式架构和递归模式架构。
二、嵌入式系统软件架构原理与特征
(一)两种典型的嵌入式系统架构模式
1.层次化模式架构
层次化模式架构主要设计思想是:
(1)当一个系统存在高层次的抽象,这些抽象的表现形式是一个个的抽象概念,而这些抽象概念需要具体的低层概念进行实现时,就可采用层次化模式。
(2)分层模式结构只包含了一个主要的元素(域包)和它的接口,以及用来说明模式结构的约束条件。
(3)层次化模式可以分为两种:封闭型和开放性。封闭型的特征是:一层中的对象只能调用同一层或下一个底层的对象提供的方法。而开放型一层中的对象可以调用同一层或低于该层的任意一层的对象提供的方法。这两种的优缺点在于:开放型的性能较好,但由于破坏了封装,所以移植性不如封闭型的系统。
2.递归模式架构
● 自顶向下: 自顶向下的工作流从系统层级开始并标识结构对象,这些对象提供实现协作的服务。在实时系统和嵌入式系统中,大多数情况下是基于某个标准方法,将系统分成一个个子系统。当开发人员逐步降低抽象层级,向下推进时,容易确保开发者的工作没有偏离用例中所规定的需求。
● 自底向上: 自底向上专注于域的构造——首先确定域中的关键类和关系。这种方法之所以可行是因为:开发者以往有丰富的开发经验,并能将其他领域所获得的知识映射到当前开发所在的域中。通过这种方法,最终开发者会到达子系统级的抽象。
(二)嵌入式操作系统
1.嵌入式操作系统的定义及特点
嵌入式操作系统(Embedded Operating System,EOS)是指用于嵌入式系统的操作系统。与通用的操作系统相比,嵌入式操作系统具有:可剪裁性,可移植性,强实时性,强紧凑性,高质量代码,强定制性,标准接口,强稳定性,弱交互性,强确定性,操作简捷、方便,较强的硬件适应性,可固化性的特点。
2.嵌入式操作系统的分类
嵌入式操作系统的通常分为两类,一类是面向控制、通信等领域的嵌入式实时操作系统。如 WindRive 公 司VxWorks、ATI 公司 Nucleus等;另一类是面向消费电子产品的非实时嵌入式操作系统,这类产品包括移动电话、机顶盒、电子书等,操作系统包括Google 公司的 Android、Apple公司的 iOS, 以及Microsoft 公司的WinCE等。
3.嵌入式操作系统的一般架构
主要存在4种结构:整体结构、层次结构、客户/服务器结构和面向对象结构。
4.嵌入式操作系统的基本功能
(1)操作系统内核架构包括:
1)宏内核。用于管理用户程序和硬件间的系统资源,在宏内核中用户服务和内核服务在同一空间中实现,代码耦合度非常高,内核的功能组件代码可以互相调用。
2)微内核。微内核管理所有系统资源,在微内核中用户服务和内核服务在不同空间中实现,系统结构清晰,代码量少。
(2)任务管理。任务是嵌入式操作系统调度最小单位,类似于计算机操作系统中进程的概念。任务有 3 种工作状态:
1)执行状态:任务获得处理机,程序在处理机中执行。
2)就绪状态:任务已获得处理机以外资源,待获得处理机即可执行。
3)阻塞状态:执行状态任务因等待事件发生无法执行而放弃处理机。
嵌入式操作系统大都支持优先级抢占调度算法和时间片轮转调度算法。在实时系统的任务调度中,存在大量的实时调度方法,大致可以分为:
1)离线调度算法:系统运行前确定调度信息,如时间驱动,确定性,缺乏灵活性。
2)在线调度算法:系统运行中动态获得调度信息,如优先级驱动,灵活性较大。
3)抢占调度算法:运行任务可能被打断,更复杂,更耗资源。
4)非抢占调度算法:运行任务不被打断。
5)静态调度算法:任务优先级在设计时确定,不变化,简单,缺乏灵活性。
6)动态调度算法:任务优先级在运行中确定,不断变化,灵活,耗资源。
实时调度算法中还有强实时调度算法,具体可以分为:
1)最早截止时间优先(Earliest Deadline First,EDF)调度算法:根据任务截止时间确定优先级,截止时间越早,其优先级越高。
2)最低松弛度优先(Least Laxity First,LLF)调度算法:根据任务紧急或松弛程度确定优先级,紧急程度越高,优先级越高。
3)单调速率(Rate Monotonic Scheduling,RMS)调度算法:根据任务周期确定有限期,周期越短,优先级越高。这种算法被认为是最优的。
(3)存储管理。存储管理的主要目的是解决多个用户使用主存的问题,存储管理方法主要包括分区、分页、分段、段页式存储管理以及虚拟存储管理等。
(4)任务间通信。任务间通信管理也是嵌入式操作系统的关键功能之一。它主要为操作系统的应用程序提供多种类型的数据传输、任务同步/异步操作等手段。
5.典型嵌入式操作系统
(三)嵌入式数据库
1.嵌入式数据库的定义及特点
嵌入式数据库是嵌入式系统的重要组成部分,这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库具有嵌入式、实时性、移动性、伸缩性的特点。
2.嵌入式数据库的分类
嵌入式数据库可以按照如下方式分类:
(1)按嵌入对象分为:软件嵌入数据库、设备嵌入数据库、内存数据库。
(2)按系统结构分为:嵌入数据库、移动数据库、小型 C/S 结构数据库。
(3)按存储位置分为:①基于内存的数据库系统:采用内存存储,属于实时事务最佳技术;
②基于文件的数据库:以文件方式磁盘存储,安全性低;③基于网络的数据库:远程服务器存储,无须解析 SQL,支持更多 SQL 操作,客户端小,便于代码重用。
3.嵌入式数据库架构
数据库管理系统与嵌入式数据库对比见下表:
(1)基于内存的数据库系统。典型产品是 eXtremeDB 嵌入式数据库,它具有:最小化资源消耗、保持极小堆空间、维持极小代码体积、消除额外代码层、提供动态数据结构本地支持等特点。
(2)基于文件的嵌入式数据库系统架构。典型产品是 SQLite,它的特点是:开源的内嵌式关系型数据库、集成在程序中,无须配置管理,服务器客户端同进程,简化管理,减少网络开销、对数据类型有独特处理。
(3)基于网络的嵌入式数据库系统架构。C/S 架构的数据库、B/S 架构的数据库以及云数据库等都属于这种类型。
4.嵌入式数据库主要功能
除了具有与通用数据库相似的功能外,嵌入式数据库还具有的功能包括:足够高效的数据存储机制、数据安全控制(锁机制)、实时事务管理机制、数据库恢复机制(历史数据存储)。
5.典型嵌入式数据库系统
(四)嵌入式中间件
1.嵌入式中间件的定义及特点
嵌入式中间件 (Embedded Middleware) 是在嵌入式系统中处于嵌入式应用和操作系统之间层次的中间软件,其主要作用是对嵌入式应用屏蔽底层操作系统的异构性,常见功能有网络通信、内存管理和数据处理等。
2.嵌入式中间件的分类
● 企业服务总线中间件 (Enterprise Service Bus,ESB):ESB是一种开放的、基于标准的分布式同步/异步信息传递中间件。通过XML、Web服务接口以及标准化基于规则的路由选择文档支持, ESB为企业应用程序提供安全互用性。
● 事务处理 (Transaction Processing,TP) 监控器:为发生在对象间的事务处理提供监控功能,以保证操作成功。
● 分布式计算环境 (Distributed Computing Environment): 指创建运行在不同平台上的分布式应用程序所需的一组技术服务。
● 远程过程调用 (Remote Procedure Call): 指客户机向服务器发送关于运行某程序的请求时所需的标准。
● 对象请求代理 (Object Request Broker,ORB): 为用户提供与其他分布式网络环境中对象通信的接口。
● 数据库访问中间件 (Database Access Middleware): 支持用户访问各种操作系统或应用程序中的数据库。
● 消息传递 (Message passing): 电子邮件系统是该类中间件的其中之一。
● 基于XML的中间件 (XML-Based Middleware):XML允许开发人员为实现Internet中交换结构化信息而创建文档。
4.嵌入式中间件的主要功能
(1)网络通信:嵌入式系统的网络通信中间件是实现整个系统的框架结构和基本的通信接口功能。
(2)存储管理:嵌入式系统的存储管理中间件是实现整个系统数据跨平台、跨介质的存储接口功能。
(3)数据处理:嵌入式系统的数据处理中间件实现了整个分布式系统框架结构和事务间基本互操作的接口功能。
5.典型嵌入式中间件系统
公共对象请求代理结构(CORBA) 和数据分发服务 (Data Distribution Service,DDS)。
(五)嵌入式系统软件开发环境
1.嵌入式系统软件开发环境的定义及特点
(1)嵌入式系统软件开发环境是可帮助用户开发嵌入式软件的一组工具的集合,这种工具的集合被集成为一体,形成一套交叉平台开发方法 (Cross Platform Development,CPD)。
(2)交叉开发方法是指嵌入式软件在一个通用的平台上开发(称为宿主机),而在另一个嵌入式目标平台上运 行(称为目标机)。
(3)嵌入式系统软件开发环境的特点是:集成开发环境,交叉开发,开放式架构,可扩展性,可操作性,可移植性,可配置性,实时性,可维护性,用户界面友好。
2.嵌入式系统软件开发环境的分类
- 模拟器方法是指调试工具和待调试的嵌入式软件都在主机上运行,通过软件手段模拟执行为某种嵌入式处理器编写的源程序。
- 在线仿真器 (ICE) 方法是一种完全仿造调试目标CPU设计的仪器,目标系统对用户来说是完全透明、可控的。
- 监控器方法是指主机和目标机通过某种接口(如:串口)连接,主机上提供调试界面,被调试程序下载到目标机板上运行,通过与运行在目标机板上的监控程序通信,实现软件调试。
- JTAG仿真器是指采用目标板上的JTAG 边界扫描接口进行的软件调试。
3.嵌入式软件开发环境的一般架构
目前大多数嵌入式软件开发环境都是建立在 Eclipse 框架之上的层次化架构,具备开放式、构件化、即插即用等特征。
三、嵌入式系统软件架构设计方法
(一)基于架构的软件设计开发方法的应用
基于架构的软件设计 (Architecture-Based Software Design,ABSD) 方法强调由业务、质量和功能需求的组合驱动软件架构设计。
ABSD是一个自顶向下,递归细化的软件开发方法,它以系统功能的分解为基础,通过选择架构风格实现质量和业务需求,并强调在架构设计过程中使用软件架构模板。
(二)属性驱动的软件设计方法(Attribute -Driven Design,ADD)
ADD 是把一组质量属性(可用性、性能、安全性等)场景作为输入,利用对质量属性实现与架构设计之间的关系的了解(如体系结构风格、质量战术等)对软件架构进行设计的一种方法。这种方法在满足质量属性的基础上建立模块分解过程,通过输入质量场景,利用质量属性战术实现架构设计。采用 ADD 方法进行软件开发时,需要经历评审、选择驱动因子、选择系统元素、选择设计概念、实体化元素和定义接口、草拟视图和分析评价等 7 个阶段。
(三)实时系统设计方法(Design Approach for Real -Time System,DARTS)
DARTS 基于传统结构化分析方法,扩展了行为建模部分。DARTS 方法分为 5 个部分:用实时结构化分析方法开发系统规范、将系统划分为多个并发任务、定义任务间接口、设计每个任务、设计过程的成果。
DARTS 方法的优势如下:
1)强调将系统分解为并发任务,并提供确认任务的标准。
2)提供定义任务间接口的指南。
3)强调用任务架构图的重要性。
4)提供从实时结构化分析规格到实时结构化设计的转换。
DARTS 方法的不足如下:
1)DARTS 使用信息隐藏技术封装数据存储,封装性不好。
2)如果实时结构化分析阶段完成得不好,那么任务的结构化工作就会更加困难。
四、嵌入式系统软件架构案例分析
(一)鸿蒙操作系统架构案例分析
鸿蒙操作系统架构采用了分布式设计理念,实现了分布式软总线、分布式设备系统的虚拟化、分布式数据管理和分布式任务调度 4 种分布式能力。
鸿蒙操作系统的架构是一种层次式架构,由内核层、系统服务层、应用框架层、应用层组成, 如下图 所示。
(1)内核层。内核层采用微内核设计,内核层中的内核抽象层屏蔽多内核差异,对上层提供基础内核能力,如进程/线程管理、内存管理、文件系统、网络管理、外设管理等。驱动子系统则提供统一外设访问能力,驱动开发框架,驱动管理框架。
(2)系统服务层。属于核心能力集合的部分,为应用程序提供服务。
(3)应用框架层。为应用服务提供多语言用户程序框架、能力框架,以及各种硬件服务对外开放的 API。
(4)应用层。包括系统应用和第三方非系统应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
鸿蒙操作系统架构具有 4 个技术特性:(1)分布式架构用于终端操作系统,实现跨终端无缝协同体验。(2)确定时延引擎和高性能进程间通信技术,实现系统的流畅。(3)基于微内核架构,重塑终端设备的可信安全。(4)统一集成开发环境,一次开发,多端部署,实现跨终端生态共享。
(二)面向安全攸关系统的跨领域GENESYS系统架构案例分析
GENESYS 是一种跨领域的通用嵌入式架构平台。GENESYS 采用消息交换方式实现软硬件构件的抽象级别的提升,使得构件在接口规范基础上可以被重用,而不需要知道构件的内部实现。GENESYS 设计了故障或错误的隔离框架,构件在瞬态故障引起失效后,可选择性地重启和用构件
复制来屏蔽瞬态和永久错误。同时 GENESYS 可以减少构件的功率需求或者在不需要时(功率门)完全关闭构件。因此 GENESYS 的出现解决了复杂性管理、系统健壮性、能量有效使用 3 个方面的挑战。
GENESYS 架构主要提供了 3 组服务,即领域无关服务、领域专用服务和应用专用服务(包含中间件),如下图所示。
(1)领域无关服务。包括核心服务和选择服务,如嵌入式系统中的全局时间和消息传输等服务为核心服务。信息安全服务、外部存储器管理器或者 Internet 网关服务等属于选择服务。
(2)领域专用服务是由领域特有的服务子集加上待开发领域特征的特定服务组合。GENESYS架构从硬件、软件的观点遵循了面向构件的风格,分离了计算与通信,将计算构件和通信设施作为
独立构件进行设计。GENESYS 架构的主要特征及优势包括:
1)精确的构件定位。具体体现为简单化、跨领域重用、规模的经济型、健壮性、可降低系统集成工作量这 5 个特征。
2)开放性。体现为具有可集成性、可升级性、可扩展性、遗产系统集成、降低成本这 5 个特征。
3)三级集成。具有芯片级集成、设备级集成、系统级集成的集成。
4)分层的服务。体现具有可重用性、领域定位、工效经济型的特性。
5)确定的核心。体现在具有及时性、降低复杂性、可测试性、认证、故障掩蔽的特征。
6)标准的互联集成。体现在对远程访问的保护、降低集成工作难度、常规人机交互、具有安全性 4 个方面。
(三)物联网操作系统软件架构案例分析
物联网操作系统至今没有一个明确的定义。物联网操作系统通常包括芯片层、终端层、边缘层、云端层等多个层面内容。物联网操作系统使用的软件以及技术主要有:开源物联网操作系统(FreeRTOS)、公共服务组件(网络协议、外设支持、可移植操作系统接口 POSIX 等)定制性服务组件有:消息队列遥测传输协议(MQTT),安全超文本传输协议(HTTPS),加密消息标准 PKCS 支持,安全套件等。物联网操作系统主要特征有:内核实时性、内核尺寸伸缩性、架构可扩展性、高可靠性、低功耗。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)