- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式软件可靠性设计研究.doc
嵌入式软件可靠性设计研究
【摘要】本文总结了影响嵌入式软件可靠性的因素;分析了提高嵌入式软件可靠性的设计方法;探究了测试嵌入式软件的核心技术及系统。旨在提高嵌入式软件的可靠性。
【关键词】嵌入式软件;可靠性;设计研究
嵌入式系统是监视、控制或者辅助设备、及其、装备正常运行的一种装置,是硬件与软件的综合体。嵌入式软件是电子系统的主要组成部分,也是电子设备硬件系统的有益补充,其应具备容错、纠错、判错、防错等功能。如果嵌入式软件的安全性失去作用的话,会造成严重后果。这就需要对软入刑软件形象规范的验证、确认及测试,以确保嵌入性系统及软件的可靠性。
一、影响嵌入式软件可靠性的因素
嵌入式软件的可靠性受多种因素的影响,主要包括以下几个因素:
第一,实时性。实时软件的时间特性、行为、功能等因素共同决定了其正确性。怎样合理验证嵌入式软件的时间特性,成为决定嵌入式软件可靠性的主要问题之一。测试嵌入式软件的时间,有两种方法:动态实时检测及静态时间分析。对静态时间的分析指的是,不直接执行需要检测的程序,而是借助对程序结构的合理分析来推测其子程序及程序执行时间的具体方法,其未明确知道子程序具体运行过程中的循环次数及分支走向等不稳定因素,所以不能准确得出程序的真实执行时间。而静态分析则可以准确获得该程序在不利情况中的实际执行时间,也就是说可明确知道程序的最大执行时间能不能满足时间约束。因为实时系统要求程序不管在什么情况下均可在具体的时间期限之前圆满完成任务,准确计算具体程序的最大执行时间对提高嵌入式软件的可靠性有重大积极意义。
动态实时监测是借助执行程序以准确测试相关程序的真实事件特性,在具体检测中常用的方法有插桩工具、指令仿真器、在线仿真器等。
第二,嵌入性。如果嵌入式软件的运行环境与开发环境不相符的话,也会给测试该软件可靠性的工作带来很多麻烦。首先,测试工具史载宿主机上运行的,而测试过程需要用到的信息产生在目标机上,并借助具体的逻辑/物理连接传输给宿主机,并最终让测试工具全部接受。所以,测试嵌入式软件过程中,会遇到一个关键问题,就是构建目标机与宿主机之间的逻辑/物理连接,有效解决传输数据信息的问题。其次,即便在宿主机所在的环境中进行了充分测试,也不能保证该嵌入式软件在目标机中运行时不会出现问题。所以,测试嵌入式软件的过程中还需要考虑目标环境问题。这就会大幅增加测试成本,并且还面临着选择测试嵌入式软件策略的问题,也就是说将哪部分测试安排到宿主环境中开展,哪些部分安排到目标环境中进行。
第三,反应性。不断反应性系统在什么时间运行,都会对所处的时间有一定反应,这是因为“激励--响应”在该系统中居于主导地位,所以该系统涵盖了复杂的管理行为。在反应性系统中,并发性是其主要特征,所有的反应式程序都涵盖了数个并发进程。因此,不可简单地把反应式系统定义成输出与输入数据的函数,而应该将其表示成一个输出与输入序列的二元组。
二、提高嵌入式软件系统可靠性的设计方法
为切实提高嵌入式软件的可靠性,在软件设计过程中应做好以下几点:
①提高设计方案。嵌入式系统的特点是控制效果较好,但是由于该系统操作功能校对、软硬件间结合情况较为复杂,模块间较差调用状况频繁,并且外部操作环境也十分复杂,所以在运行中很容易干扰其他设备或者被其他设备干扰。一旦发生执行性错误的话,不仅会导致数据出错,还可能造成系统崩溃,这种状况下所带来的后果是难以估量的。因此,在嵌入式系统软件设计过程中,应充分重视软硬件接口位置的预防性及冗余设计,可优先考虑状态保存、看门狗电路等恢复技术的使用;可借助程序陷阱及软件锁等备份技术及抗干扰技术进行有效的系统容错功能设计。
②规范测试软件。测试嵌入性软件的可靠性,是在软件正常运行周期的系统测试时期内有效提高嵌入性软件可靠性等级的最佳手段。很多测试技术、测试方法均可及时发现造成嵌入性软件可靠性实效的原因,在接触这些缺陷因素之后,通常来说一定能提高该软件的可靠性等级,但是不同的检测技术和方法在排除影响嵌入式软件可靠性影响因素中,所发挥的提高软件可靠性的能力却不尽相同。而检测软件可靠性的测试可高效发现影响其可靠性的最大影响因素,所以其能大幅提高嵌入性软件的可靠性。
三、测试嵌入式软件的核心技术
测试嵌入式软件的核心技术主要包括对程序源代码的预处理、语法词法分析、插桩技术三个方面,笔者将对其做详细分析。
①预处理。在编译程序源代码之前,可借助预处理器将有关程序源代码做初步处理,这一环节并不需要将程序元代发完全解析,但是需要将源代码处理或者分割成具体的符号以被宏调用。假如所测试的程序源代码属于汇编类型,那么就需要将其短转跳及时转变成长转跳。
②语法词法分析。词法分析主要是把
文档评论(0)