嵌入式体系软件是一个竞赛优势。软件可以使得现已舒适的乘坐更具吸引力,比竞赛性交通工具更好。它还可削减驾驶室噪音,或下降燃油耗费。可轻松地装备嵌入式软件,以契合用户的喜爱 – 只需按一下开关便可将舒适的公路轿车变为更具运动特征的交通工具。
当然也可在硬件中完结那些可以经过软件取得的功用,可是这样做会相应地添加制作本钱和产品价格。嵌入式软件还可完结重复运用,而且可愈加频频地更新,以满意不断增加的需求。
图1,在环测验示意图
一切这些以及其他更多原因造成了嵌入式软件应用的杂乱性。很难测验和验证杂乱嵌入式软件的功用。验证和承认费用、处理缺点的本钱以及没有及时发现的缺点问题会抹杀掉软件功用具有的一切优势。
嵌入式软件开发职业意识到这一点,并根据图形化模型进行软件开发,以应对不断增加的杂乱性。图形化的产品功用还具有仿真才能,可进步验证和承认办法。本文扼要概述经过根据模型的规划的要害软件测验办法。
1 经过模型开发和测验嵌入式软件
建模是规划和开发中的一个重要进程,它发生在搜集高层需求之后以及进行任何完结之前。模型还答应在开发的一起,进行持续地进行测验和验证。
图2,建模是规划和开发中的一个重要进程
在前期的规划阶段,开发者可开发朴实的行为模型,以阐明并界说软件的详细要求。
尽管此类模型现已具有了根本处理计划的概括,可是它们依然独立于方针渠道。这些方针独立的行为模型将用于规划验证和前期的需求承认。
用于捕获要害需求、在仿真中展现正确行为以及展现对高层需求可追溯性的模型一般被称为“可履行标准”。
对可履行标准的进一步开发和详细完结可发生代表终究完结的模型的界说。这便是用于产品代码生成的模型。一般,这些模型会对代码生成做优化;它将从数据类型、方针架构以及要求的代码风格。一切这些改动需求一个验证进程,保证产品代码生成模型中引进的改动不会改动软件的行为。承认出产代码生成模型以及生成代码的正确行为的测验为代码验证。
把验证散布在规划验证和代码验证阶段答应咱们更早地开端验证作业,更多的重视在测验上和更短的时刻去修正在测验中检测到的过错。在本文的其余部分,我将介绍两个规划验证办法:
·模型在环测验
·软件在环测验
以及用于代码验证的两个办法:
·处理器在环测验
·硬件在环测验
2 规划验证
规划验证的首要意图是承认一切要害要求和规划概念是否已正确体现在规划模型中。
·模型在环测验
与“静态”的书面规划不同,可在仿真进程中评价可履行标准。一般,经过改动一组模型参数或输入信号,或经过检查输出成果或模型的呼应,来完结这一操作。根据模型履行的仿真次序也称为模型在环测验。
模型在环测验的测验数据可来自测验矢量数据库,或来自实践体系的模型,在后一种情况下,咱们评论闭环控制体系。
可履行标准一般不仅仅包括功用规划模型和软件逻辑,还包括设备和环境模型、高层需求的链接以及其他文件。它一般还包括用于自动化仿真成果评价的验证数据。
模型在环测验的成果可用于验证软件行为是否正确,并承认开发流程的初始需求。经过仿真搜集的信息会成为代码验证的基准。
·软件在环 (SIL)
在许多情况下,在方针环境中布置软件之前,保证所规划的体系的软件组件可以按预期运转,这一点非常重要。
图3,软件在环(软件算法测验)
软件算法的测验(在主机上的联合仿真中评价生成的函数或手写的代码)称为“软件在环”。与模型在环测验相似,输入测验矢量可来自于测验数据库或来自设备模型,而且可与 MIL 测验同享。
当软件组件包括需求在方针渠道上履行的生成代码(例如,更新控制器逻辑以满意新要求)和手写代码(例如,现有驱动程序和数据适配器)的组合时,此类验证特别有用。
一般运用软件在环测验来验证图形化模型中现有算法的从头完结。或许很难或需求花费较多本钱来保护一些旧的可是正确的代码,这关于在建模环境中从头完结及验证而言含义严重。在这种情
况下,仿真成为比较新模型完结和旧代码中已有算法的输出的环境。
3 代码验证
验证规划质量及其对现有的需求的兼容性之后,咱们可专心于代码验证。代码验证的要害方针是保证软件行为匹配在仿真中捕获的模型行为。
·处理器在环 (PIL)
从概念上来说,处理器在环 (PIL) 测验相似于软件在环测验。要害的不同在于 PIL 代码在嵌入式处理器硬件或指令集仿真器上履行,以便该验证可考虑在方针处理器上履行的算法的特定详细条件。在模型与布置的方针代码之间传递的数据经过 CAN 或串行设备之间经过真实的输入输出来完结。
图4,处理器在环
用于 MIL 和 PIL 的模型现在可用作处理器板的测验结构。经过处理器在环,咱们依然可在主机上运转模型,并运用它对软件组件输入生成实践数据。除此之外,咱们还可运用调试器剖析代码(已编译的代码)逐渐阐明安装等级阐明,就像在彻底嵌入式体系中那样进行链接和布置。
经过 PIL,咱们还可检查代码函数的履行次序,并承认操作体系函数的调用或在方针上履行时所需的其他库,以及在履行验证计划进程中监控内存容量。
在一些项目中,PIL 可在契合相同标准当来自不同厂商的处理器板上比较算法行为。
正如 SIL 相同,此验证办法并不用于非实时剖析。
·硬件在环 (HIL)
现在说到的一切测验办法不能用于实时地验证规划。仿真以及与方针板通讯的负荷不答应算法的实时测验。
图5,硬件在环
为了从头运用为前面描绘的测验办法创立的数据,并持续运用该成果作为实时测验的辅导和基准,咱们为模型生成代码并在实时环境中布置它。此类装备可下降在实践且一般较贵重的设备上的测验危险,可是它答应咱们验证算法的实时方面。
此类型的验证要求顶级的信号调理和电力电子技能,以便正确地模仿输入并接纳方针硬件的输出。HIL一般在体系集成和现场测验之前,作为最终一个实验室测验进程。
4 定论
嵌入式体系开发的技能为提高验证和承认办法供给了一次绝好的时机。经过仿真建模以及代码生成使快速原型和愈加体系的测验和前期验证成为或许。
上述的每个在环测验办法处理了特定类型的问题,而且具有某些优势。本文中描绘的不同办法在严厉的开发进程中均呈现过,每个办法有助于将巨大的验证应战分为更小、更易办理的验证和承认活动。