嵌入式软件开发方法研究及应用

发表时间:2021/7/1   来源:《科学与技术》2021年第29卷3月7期   作者:郑扬波
[导读] 在19世纪中叶,计算机程序员进行的软件开发仅限于手动操作。当时,人们认为为计算机编写的软件代码实际上是计算机软件。
        郑扬波
        广州鲁邦通物联网科技有限公司 510000
        摘要:在19世纪中叶,计算机程序员进行的软件开发仅限于手动操作。当时,人们认为为计算机编写的软件代码实际上是计算机软件。然而,随着软件技术的发展,计算机软件已逐渐进入易用性和商业化的时代。而随着软件技术的发展,软件开发也出现了如下特点:(1)软件的复杂性越来越明显。随着社会科学技术的进步,计算机功能的日益完善,人们对计算机软件的功能提出了越来越高的要求,因此计算机软件开发技术逐渐呈现出大规模,复杂的特征。(2)软件生产成本正在逐步增加。随着用于计算机软件开发的技术的逐渐发展,其发展趋势正在向更复杂的方向逐渐发展,这导致开发计算机软件的成本越来越高,并且增加了人力和物力。(3)软件开发周期正在延长。随着人们需要更完整的软件,软件变得越来越复杂,并且一个程序中涉及的代码长度越来越长,这直接导致需要更长的时间来设计软件。
        关键词:嵌入式;软件开发;研究及应用
        引言
        伴随着嵌入式系统开发规模的不断扩充,嵌入式系统实现的功能越来越完善,传统基于硬件进行简单开发的设计模式已经难以满足目前嵌入式系统开发的实际需求,软件设计理论已经开始在嵌入式开发的软件开发模型上得到广泛的应用。目前国内外学者及研究机构对嵌入式软硬件设计提出了多项开发模式,如基于神经网络算法、基于UML模型分开、基于遗传算法等多项结合软件开发技术的最新领域的成果。通过深入挖掘嵌入式硬件与软件资源结合,实现硬件性能与软件开发成本的优化组合。但是这类方法通常偏理论,对硬件与软件的结合分析不够紧密,在实际工作中仍存在着难以实际利用的问题。
1概念
        嵌入式系统主要是指能够帮助人们控制与监测设备的装置,是一套专用的计算机系统。其涉及多种构成部件,例如传感器、微处理器、存储器、微控制器以及定时器等,这些微电子芯片及器件与嵌入在存储器中的控制应用、微型操作系统有效融合,共同完成自动化处理任务。此外,嵌入式系统以应用功能作为核心,以计算机技术、微电子技术、通讯技术及控制技术等作为基础,在一定程度上重点强化硬件系统、软件系统的整合性及协同性,利用软件系统及硬件系统可剪裁的性质,实现系统对成本、功耗等方面的要求。其中,简单的嵌入式系统仅具有设备控制功能,以单片机为例进行分析,在只读存储器(ROM)中只包含具有简单控制功能的程序,而且不涉及微型操作系统。较复杂的嵌入式系统主要由诸多小型嵌入式系统组成,具备的功能与PC基本一致,例如手持电脑及个人数字助理等。从根本上来说,复杂的嵌入式系统与PC之间的主要区别为:嵌入式系统是将微型操作系统与应用软件嵌入到FLASH存储器、ROM等部件中,而非将其储存在磁盘等系列载体内。
2嵌入式实时软件技术优势的展现
        相对于传统的软件设计方式,采用嵌入式实时软件技术,由于其具有良好的自身交互性,并且对于能源的消耗小反应灵敏,所以可以大大提高设计的效率,并且利用多种指令的相互配合,能够更大地优化软件的设计过程与软件的功能。但是,要想利用嵌入式实时软件技术来进行软件设计,就需要利用实时缓存方式,通过对资源的合理分配来最大程度提高软件的各项性能。利用嵌入式实时软件技术的前提,是对计算机的实际软件有一个科学的需求设计,并且能够保证嵌入式实时软件能够与计算机内部的软件相互作用,从而保证计算机能够利用此项技术进行软件的设计。在软件与硬件的交互上,通过合理配置就能够实现嵌入式实时软件功能的体现,并且通过对不同类型计算机结构与心梗的分析,可以通过多样化的软件设计来应对,从而确保嵌入式实时软件有良好的兼容性,在实际的设计过程中,还需要进行结构模块化处理,以此优化对软件问题的修复能力,保证计算机的运行更加流畅。


3嵌入式软件开发技术
        3.1处理器技术
        (1)通用处理器。首先,该类型的处理器无法用数字电路搭建程序,存储程序无法适用于各种类型的应用;其次,为满足数据寄存的需求,需要使用大量寄存器以及建设一个或多个通用算术逻辑单元。(2)单用途处理器。单用途处理器是指加速器、外设、处理器这种应用于指定程序的数字电路,例如:压缩或解压视频信息,可用JPEG编码解码器执行单一程序。嵌入式系统设计师可通过特有的数字电路搭建单用途处理器,也可使用事先制作好的单用途处理器。(3)专用处理器。专用处理器是针对特定应用且可进行编程的处理器,也即专用指令集处理器(ASIP)。通过权衡速度、功耗、成本、灵活性等多个方面的设计约束,设计者可以定制ASIP达到最好的平衡点,从而适应嵌入式系统的需要。
        3.2软件开发中分层技术
        要理解分层软件开发技术,必须首先了解软件的结构,因为软件的结构是从单层到多层的。随着计算机和服务器的连接,计算机软件的结构逐渐转变为双层结构并流行了一段时间。但是,现阶段双层结构不能完全满足用户的需求,因此,计算机软件开发中分层技术将变得越来越重要。以下简单技术分层技术:(1)双层技术:双层技术主要指用户端和服务器端的两个端点,通过了解双层软件在计算机软件开发中的工作方式,可以清楚地了解到,只有确保服务器各个方面的性能良好并且在线用户数量少才能真正更好的使用双层技术。相反,则会因过载而导致许多问题。(2)三层技术:计算机软件开发中的三层技术是在双层技术中添加另一个服务器端口,包括三层:业务、页面和数据。页面层收集信息然后发送到业务层进行分析,最后在数据库中查找相关信息,并最终将其逐步返回给用户。(3)四层技术:将三层技术分开,以减少影响,页面层成为Web和存储层,大大减少了出现问题的可能性。(4)中间件技术:中间件技术可以帮助计算机更智能地组合不同的系统,灵活地管理每个系统并减少软件开发时间,提高软件开发效率。
        3.3 IC技术
        (1)全定制VLSI。设计师从晶体管的版图连线、尺寸及位置开始策划,以确保其具有芯片面积小、功耗低、利用率高、速度快等优越性能,同时需要根据指定的嵌入式系统完善各项功能,这就是全定制IC技术。大规模集成电路设计通常也被称为全定制的IC设计,其利用掩膜在芯片制造厂制作芯片,需要花费很长时间,具有高昂的NRE成本,适用于对性能要求相对严苛的应用。(2)半定制ASIC。一种限制型设计方法,包括标准单元设计法和门阵列设计法。设计师只需考虑电路各功能模块的合理连接即可,因为其是芯片制作过程中的通用性元件。
结束语
        文中针对嵌入式系统开发的软硬件模式进行了分析,并结合去中心化的思路提出了一套基于软硬件划分的设计体系,通过对开发实例的抽象分析,实现了复杂业务逻辑模块化划分开发,各功能模块功能独立,开发逻辑明确,故障节点分散冗余,是嵌入式开发的成功应用范例。本文提出的去中心化开发模式,在保障了系统运行的稳定性、鲁棒性、可复用性的同时,有效地提升了产品的开发效率,对于嵌入式产品的实际开发研究有着较高的参考意义。
参考文献
[1]董朝贤.嵌入式软件在计算机软件开发中的应用分析[J].现代信息科技,2019,3(15):109-110.
[2]刘茹.基于嵌入式计算机的软件测试关键性技术分析[J].信息与电脑(理论版),2019(14):76-77.
[3]祝苗苗.计算机软件的开发技术和应用[J].信息与电脑(理论版),2019(14):125-126.
[4]胡其荣.计算机软件开发技术的现状及应用[J].电子技术与软件工程,2019(12):44.
[5]孔璐.解析计算机软件设计中嵌入式实时软件的应用[J].计算机产品与流通,2019(07):18.
       
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: