APP下载

嵌入式软件架构分层的内涵与优缺点

2022-01-10蒙晓燕

无线互联科技 2021年21期
关键词:嵌入式软件嵌入式架构

蒙晓燕

(内蒙古机电职业技术学院,内蒙古 呼和浩特 010070)

0 引言

嵌入式系统关键是以应用为主,将计算机技术作为基础,充分满足用户对成本与功能、体积与功耗等多方面要求的系统。但在过去开发嵌入式系统软件的时候,全部软件涵盖操作系统、应用程序与硬件底层,是共同开发的,不能分开。伴随嵌入式系统软件规模越来越复杂,越来越庞大,该种开发模式愈发暴露出更多的缺点和不足。由于该模式针对不一样的硬件平台需要重新开始,接着开发出新的软件就其要实现的功能大部分相差无几甚而相同,但限制了软件的反复使用,与此同时还增加了开发时间与开发成本。

1 架构分层内涵

伴随社会经济的持续发展与进步,开始涌现出了各种各样的高新技术,这些高新技术在很大程度上有效改善了传统劳动力生产的模式,促使人们在工作岗位上可以更好地释放出自己的潜在能力。与此同时,流水线形式的生产模式能够大大提高相关人员工作熟练程度,有效地减少了在实际工作中不必要出现的经济损失,不仅提高了生产力,还提升了经济效益与社会效益。

分工合作这一概念同样适用于嵌入式软件开发领域。首先,相邻的两个软件模块可以彼此紧密联系;其次,好似金字塔结构,下层软件层并不了解还存在高层次软件层。因此,仅需要满足上述两个特点,即为架构分层,此为软件架构分层思想基础[1]。软件架构分层发挥着重要作用,特别是在开发阶段,采取架构分层理念,可以发挥出显著的优势,因此需要相关人员做出更加深入的研究和探讨。

2 多层软件开发模型分析

2.1 软件开发分层技术

在软件开发中运用分层技术,实则是合理对用户的一切需求展开分析与梳理,把软件系统内每一个功能领域抽象化,明确系统内部每一个层次间的关系,继而简化模块开发过程,把系统开发问题变成了简单软件设计方面的问题。与此同时,其也能够支持系统包含的全部功能。在开展软件系统开发工作的时候,系统场景通常都是非常复杂的,为有效处理问题必须精细化分层,同时每一个层次间的关系、接口对接关系更难设计。分层方式有很多,但软件开发尚未制定出相应的标准。将实现计算机软件全部功能作为基础,要处理每个层次间的问题,将软件实现过程简化,与此同时可以随时为上层提供服务。假设某个层次产生问题,那么仅会对其上一层次和下一层次带来影响,而不会影响到整个系统。再者,所有层次内部在分层时,可以最大限度地实现软件的一切功能。

2.2 嵌入式系统架构分层

通常而言,使用嵌入式系统能够把计算机软件开发由技术层面划分成硬件平台与设备驱动层等多个方面,具体如下:(1)应用层。该层通常开展客户应用需求类工作,涵盖用户功能和人机算法等各种开发工作。(2)硬件平台。通常涵盖了计算机软件的主要部分,如嵌入式微处理器,这种处理器有着很多的外接端口,有利于展开对接。同时也有一部分周边功能电路部分,比方说液晶显示屏和开关等。(3)设备驱动。实现微处理器内外部硬件API,可以有效给底部算法提供API,涵盖了定时器与SPI等微处理器片内外部驱动和API功能的实现,也涵盖了微处理器片外外设温度传感器等驱动与API功能实现。通常而言,设备驱动为单独的部分,将操作平台底层硬件语言作为基础构建硬件抽象层,可有效给上层应用提供对接端口。(4)调动系统。在编写阶段能够合理运用嵌入式操作系统作为基础加以编写。通常而言,一般可以划分成如下几个部分,即嵌入式操作系统以及基础应用裁剪。又或是能够基于已有的调度器展开如管理等专用系统的编写工作。

3 嵌入式软件架构分层优缺点

嵌入式软件开发过程中采用架构分层旨在有效关注“面”,特别是开发软件的时候,可能会遭到各种各样十分复杂的问题,不仅对于软件开发进度有很大的影响,还有可能会加大相关人员的工作量。因此必须要对多种抽象且复杂的问题加以分解,继而针对性处理发生的问题,以此提高软件实用性,加强用户使用体验。

3.1 优点

(1)相关工作人员能够严格按照专业进行明确分工,全身心关注在某个层次。(2)经过层次间的隔离,可以快速用新的实现取代原本某层次的实现,仅需要前后提供的服务接口一致,就可以替换。(3)能够有效避免各层之间的依赖性。(4)易于制定出层标准。(5)可以有效提升软件复用性,减少系统软件开发周期,增强系统软件质量。

3.2 缺点

嵌入式软件架构分层的缺点表现在:(1)分层无法封装全部功能,一部分复杂业务,假设出现功能变动,就会牵扯到全部的层。(2)穿过层次调用,可能会降低效率,对水平分布的层级分划,降低效率十分显著[2]。

4 嵌入式软件架构分层设计方式探索

4.1 层次划分

嵌入式软件架构分层一般在逻辑方面展开垂直层次划分,于物理上展开水平层次划分。此次阐述的架构分层设计方式即分别由两个角度进行双向划分,也就是逻辑层与物理层,逻辑层面被叫作分层构建,物理层面被叫作交互分层。分层构建根据由下至上按秩序涵盖了驱动与基础层、中间与应用层;而交互分层涵盖了人机界面和控制层、实体与接口层。

4.2 层次关系

交互分层每一个层次之间的关系见图1所示,界面层承担的职责为人机交互;控制层承担协调的工作,接收控制命令,对实体展开有效操纵;实体层承担运用逻辑和数据的责任,接口层承担外部系统接口封装的工作。而构建分层中,每一个层次间的关系就是:驱动层承担封装硬件逻辑的工作;基础层用来将驱动封装当作基础服务单元;中间层则是用来将应用与基础环境相关隔离,面向应用提供适当的服务;应用层就是面对应用提供服务,涵盖和硬件没有关系的内容,关键是对处理数据和控制原理等的输出。在这些层次之中,驱动与基础层受环境影响,而应用层与逻辑息息相关,和环境毫无关系[3]。各层次间无法产生循环依赖性,倘若发生了循环依赖性的现象,那么需要使用两种方式进行处理,一种就是进行共享数据区构建;另外一种就是使用观察者模式。

图1 交互分层关系

4.3 层次分析与划分原则

在进行层次正交分析以前,需要对软件两个不一样的维度分层中,层次的内容与层次划分加以有效确定,如此才能够明确每一个层次间的关系。而层次划分原则是:(1)参照正交分层;(2)相同类型开发关注点可分成一层;(3)常常一并复用的分成一层;(4)时常共同变化的划分成一个层次;(5)和外部接口的需要分为一层[4]。

5 架构分层设计实现举措

本文将电机监控系统嵌入式应用软件架构分层当成例子加以阐述说明:电机监控系统是计算机加以控制,而控制单元关键是以键区、网络以及显示屏构建而成;通常使用电流接触器与奥腾转化器开展监控活动,以电机提供动力方面的支持,经过键区和显示屏实现监控活动,促使监控活动顺利进行。

相关操作人员依托键区控制电机,通过材料成分表加以处理,经过奥腾转化器进行实体监控。实体电机把实际状态传递至电流接触器,再传输到材料成分表,与此同时在显示屏上显现出实况。合理运用材料成分表能够以网络和计算机进行连接,同时采用计算机进行具体监控活动[5]。

经过运用嵌入式软件架构分层,可以了解到该种技术具备结构清楚、逻辑纯粹且分工清晰等特点,能够有效提高软件开发工作效率,与此同时可以提升工作进度,对于后续工作水平提高与优化升级等而言是非常容易进行的。

6 结语

综上所言,经过阐述嵌入式软件架构分层内在涵义且经过讨论架构分层设计,能够从中了解到在开发嵌入式软件的时候,结合架构分层技术具有明显的拓展性,可以充分累积成熟的软件功能模块,继而大大削弱后续对嵌入式系统维护的困难程度,提高软件系统经济性以及实用性。与此同时,在软件开发过程中运用架构分层设计,能够有效提高软件项目开发效率,确保软件质量,提高软件竞争力,为人们提供更加优质的服务。

猜你喜欢

嵌入式软件嵌入式架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
实时嵌入式软件的测试技术
搭建基于Qt的嵌入式开发平台
全景相机遥控器嵌入式软件V1.0 相关操作分析
LSN DCI EVPN VxLAN组网架构研究及实现
嵌入式软PLC在电镀生产流程控制系统中的应用
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制
一种基于FPGA+ARM架构的μPMU实现