APP下载

探究嵌入式系统软件实现常见问题及解决

2014-10-29尚晓平

中国新通信 2014年19期
关键词:嵌入式系统解决方法常见问题

尚晓平

【摘要】 随着科技的发展和进步,在很多领域已经开始使用嵌入式系统,但是该系统软件在使用过程中存在的一些问题也逐渐凸显。系统软件出现错误后会造成巨大损失。本文在分析该系统软件特点的基础上进一步探讨了软件实现过程中常见的问题,并提出了相应解决措施。

【关键词】 嵌入式系统 软件实现 常见问题 解决方法

计算机技术和软件开发技术是当今社会科学技术不断发展和进步的产物,其中,嵌入式系统软件在国防、通信、电子信息和互联网等领域应用越来越广泛。据有关研究数据显示,当前世界范围内嵌入式设备运行总量呈快速增长的趋势,并且已经突破30亿台。可见其对社会发展影响越来越大,因此,有必要对该系统软件实现中常见问题进行分析,并探讨相应解决措施。

一、嵌入式系统概述

1.1嵌入式系统的概念

嵌入式计算机系统,简称嵌入式系统,是一种基于计算机技术并以应用为中心,同时具有多种功能的计算机系统。这种专用的计算机系统对功能、可靠性、成本和体积等要求严格,表现在其硬件和软件必须支持裁剪功能等。具体来说,它是集各种先进技术,如通信技术、计算技术、语音图像数据传输技术和微电子技术等于一体的综合产物,具有十分强大的功能和作用。

1.2嵌入式系统的特征

同普通计算机系统相比,嵌入式系统表现出的特征有所不同,具体如下:①嵌入式系统是各种先进技术的集成,包括先进的电子技术、半导体工艺、计算机技术等,系统的实现需要投入密集的技术和资金,并且高度分散。②嵌入式系统以较低的成本和能耗、较小的体积以及高实时性和高集成度,可以实现在芯片内部有机地集成由板卡完成的任务。③嵌入式系统可有机结合具体应用,同步更新具体产品可实现对该系统的升级。所以该系统产品在市场中一般具有较长的生命周期。④嵌入系统中的软件一般在处理器内部存储器件或存储器芯片中固定,而不会在外部载体中进行存储,这样就可有效提高执行速度的同时,增强系统的可靠性。

二、嵌入式系统的设计过程分析与常用方法

2.1嵌入式系统设计过程

一般情况下,嵌入式系统的设计过程可按图1所示的步骤实现。

具体来讲,嵌入式系统设计内容为:①产品定义。明确定义需要完成的任务,就需要对分析和细化应用的实际需求,同时列出表格,显示出需要完成的各种功能。②划分硬件和软件。嵌入式系统设计要从两方面入手,一是硬件,二是软件。设计人员在设计之前,需要重点考虑硬件和软件各自需要完成的功能,确定后再行实施。③迭代实现。在完成硬件和软件的划分后,就开始延续至迭代实现阶段。对硬件和软件进行初步划分后,相关设计小组就开始对硬件和软件分别建模。随着建模工作的深入,硬件和软件划分界限便可实现移动,从而实现对硬件和软件更加合理的划分。④详尽的硬件和软件设计。迭代实现阶段完成后,系统的硬件部分和软件部分就得到了合理的划分,在此基础上就可分别实现该阶段系统的硬件和软件。⑤产品测试和发布阶段。对产品进行必要的测试,让系统性能达到最佳运行效果,同时保证嵌入式系统能够达到成本目标。另外严格的测试产品性能,还可提高嵌入式系统可靠性要求。⑥系统维护及升级。产品发布之后,还需做好后续的维护和升级工作。因为产品在使用过程中可能会遇到各种各样的问题,这些问题可能是设计阶段考虑不周引发的,另外,用户在使用过程中还可能提出更多的需求,这就需要对系统进行维护和升级,以解决这些在使用过程中出现的问题。

2.2嵌入式系统常用分析方法

嵌入式系统一般为实时系统,同系统资源关系密切,且对时间要求较高,系统时限响应和并发处理较为困难,因此有必要对该系统分析和设计方法进行研究。嵌入式软件设计常用方法有:流程图、结构图、数学分析及语言描述、编程设计语言、数据流图和有限状态机等。各自的优缺点比较如下表1所示。

三、嵌入式软件实现常见问题及解决

衡量一个系统软件的质量标准是,看其是否具备稳定性和可靠性,以及能否实现系统的功能需求。系统软件如果出现错误,可能会造成系统功能丧失,甚至可能引发严重后果。比如对国家安全而言至关重要的国防系统软件如果出错,其控制的导弹系统出现紊乱,后果不堪设想。对于嵌入式软件

表1

而言,其本身具有较强的专业性,需借助专业计算机设备实现软件的特定设计,其设计难度可想而知,这在一定程度上制约了软件开发进程,使得系统软件难以及时投入应用。下面针对嵌入式系统软件实现的常见问题进行分析。

3.1余量问题及解决

就硬件载体而言,嵌入式系统软件运行速度与存储余量必须在20%以上。该系统软件一般采用中断或周期运行方式, 因为其对实时性要求比较高,且这样可保证在预留20%余量的前提下执行完所有的实时任务,实现后台处理与系统操作,进而确保该系统能安全可靠运行。如果所有实时任务无法在有效执行周期内完成,那么系统性能就会受到影响,甚至瘫痪。此外,系统数据存储器和程序存储器须占用一定空间,所以嵌入式系统必须预留不少于20%的余量。嵌入式系统软件实现中,设计人员常常对余量的设计要求不够重视,或者计算机精度达不到相关规范要求的标准,导致该系统隐患普遍存在。①存储余量。程序存储器余量比较容易统计和实现,即嵌入式软件在连接汇编及编译后,可分析内存映射文件,获取软件对存储器占用方法,进而采用代码优化方法满足余量要求。目前无法直接使用静态分析的方法对数据存储余量情况进行统计,在这方面,多数设计人员仅统计出内存映射文件的数据存储区,这样所获得的余量就不全面,即统计上出的文件只能反映全局变量的占用情况,难以反映动态时临时变量对数据存储器和函数调用过程软堆栈占用情况,此时20%的数据存储余量就难以得到保证。针对动态运行情况,基于对动态内存申请及释放的考虑,函数嵌套调用会增加数据存储器使用及统计的复杂性,证实软件数据存储器余量与既定要求相符的方法是逆向方法,即嵌入式软件位置申请占20%数据存储空间的全局数组,之后进行软件的仿真运行。如果系统运行无异常,加上运行过程数组存储内容未被更改,那么数据存区储余量就能满足既定要求。②运行速度余量。程序的最大执行路径往往难以通过实施任务执行周期监实现,因此根本难以确定系统软件分支组合状态,这样就很难确定程序動态运行时间。出现这种情况时,可采用逆向方法证实软件运行速度余量状况,即对软件运行起始位置做延时处理,运行周期时间控制在20%左右为宜,之后进行程序的仿真运行,系统工作不出现异常时,则证明系统运行速度满足余量运行要求。系统在运行过程中可能会出现某些编译器延时函数容易中断及周期计数的现象,这样就会造成统计的错误。解决办法是禁止采用编译器自带延时函数,此时的延时函数实现最好采用循环空操作方法。影响运行速度余量的因素相对较多,比如软件的功能实现、计算方式以及时序调度等,其中影响力较大的是软件的时序调度。此外实时系统规定的全部任务都应做到按时完成,因此必须控制好单位时间内的任务量,此时为确保算法和余量符合要求,应根据系统算法优先级别和功能的重要性合理安排不同任务的执行速率。

3.2中断问题及解决

嵌入式系统软件一般是通过中断技术控制来响应外部事件,同时在中断服务程序运行中实现响应的处理功能。从本质上来讲,嵌入式系统驱动事件首先应有中断服提供运行环境,通过该服务程序调度相关功能的模块,以实现系统的不同功能。另外,嵌入式系统还可通过中断控制实现更加灵活和方面的应用。但是嵌入式系统软件设计实现中,也会在不知觉中留下隐患,在这一过程中,中断的嵌套会增加软件的结构层次,加上软件在设计时,中断的恢复和保护都具有很高的要求,此时就需要充分考虑计算机的硬件特性,否则中断系统中的变量问题极易发生。如果在嵌入式系统中存在多个中断源,且存在与之对应的中断源,那么不同中断服务程序之间的公用变量就成为需要特备注意的问题。中断服务程序存在的公用变量比较容易受人们的忽视,加上中断和中断源之间联系非常密切,所以这种错误就会造成较大的危害。如果想要彻底消除掉这类错误,可采用如下方法:在嵌入式系统软件实现过程中,严格控制全局变量的使用,且变量不能公用于不同服务模块,如果变量必须要在不同中断服务模块中公用,就需对该变量赋值。

四、结束语

嵌入式系统软件设计的独特性主要通过系统的特殊性和专用性表现出来。嵌入式系统软件在实现过程中会出现很多问题,可采用分析的方法解决,但问题出现频率比较高,而且其成因也是多种多样,这样就会制约系统的正常开发与安全运行。因此就需要规范系统软件的设计过程,尽可能减少设计过程中出现的各种错误。同时强化管理研制过程,尤其要注意那些易出错的部位,以保证软件的设计质量。

参 考 文 献

[1]赵俊莲,李艳.嵌入式系统软件实现常见问题及解决方法探究[J].电子制作 ,2013(20).

[2]张成艳.嵌入式系统软件实现常见问题及解决方法研究[J].电脑开发与应用,2014(2).

[3]何俊芬.嵌入式系统软件实时性测试方法研究[D].三峡大学,2010.

[4]许昀.基于实时操作系统的嵌入式系统软件设计[J].安徽电气工程职业技术学院学报 ,2013(4).

[5]张德全.基于状态图和构件的嵌入式系统软件设计及其可靠性分析[D].天津大学,2010.

猜你喜欢

嵌入式系统解决方法常见问题
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
小学数学教学中存在的问题及其解决方法
农村移动网络覆盖探讨
针对回转式空气预热器漏风问题解决方案的研究
机械自动化设计与制造的常见问题分析
公路工程监理存在的问题和一些改进措施