应用系统的多样性和复杂性,使硬件/软件的功能划分与分配、系统优化、系统综合、模拟仿真存在许多研究解决的问题,因而使国际上这个领域的研究日益活跃。
系统协同设计与传统的设计相比有以下两个显著的区别:
描述硬件和软件使用统一的表示形式。
硬件/软件划分可以选择多种方案,直到满足要求。
显然,这种设计方法对于具体的应用系统而言,容易获得满足综合性能指标的最佳解决方案。传统方法虽然也可以改进硬件软件性能,但由于这种改进是各自独立进行的,不一定使系统综合性能达到最佳。
传统的嵌入式系统的开发采用的是软件开发与硬件开发分离的方式,其过程可以描述如下:
需求分析
软硬件分别设计、开发、调试、测试、
系统集成,软硬件集成。
集成测试
若系统正确,则结束、否则继续进行。
若出现错误,需要对软硬件分别验证和修改。
返回3,继续进行集成测试。
虽然在系统设计的初始阶段考虑了软硬件的接口问题,但由于软硬件分别开发,各自部分的修改和缺陷很容易导致系统集成出现错误、由于设计方法的限制,这些错误不但难于定位,而且更重要的是,对他们的修改往往会涉及整个软件结构和硬件配置的改动,显然,这是灾难性的。
为避免上述问题,一种新的开发方法应运而生 ---软硬件协同设计方法。一个典型的硬件/软件协同设计过程如图3-5所示。首先,应方该用独立于任何硬件和软件的功能性规格方法对系统进行描述,采用的的方法包括有限态自动机(FSM)、统一化的规格语言(CSP、VHDL)或其他基于图形的表示工具,其作用是对硬件/软件统一表示,便于性能的划分和综合,然后,在此基础上对硬件/软件进行划分,即对硬件/软件的功能模块进行分配。但是,这种分配不是随意的,而是从系统的要求和限制条件出发,依据算法进行的。完成对硬件、软件的功能划分之后,需对划分的结果进行评估。方法之一是性能评估,另一种方法是对硬件、软件综合之后的系统依据指令级评价参数做出评估。如果评估结果不满足要求,说明划分方案的选择是不合理的,需要重新划分硬件/软件模块,以上过程重复直到系统获得一个满意的硬件/软件实现为止。
软硬件协同设计过程可以归纳为:
需求分析
软硬件协同设计
软硬件实现
软硬件协同测试和验证
这种方法的特点在于协同设计(Co-design)、协同测试(Co-test)和协同验证(Co-verification)时,充分考虑了软硬件的关系,并在每个层次上给以测试验证,使得尽早发现和解决问题,避免灾难性错误的出现。
3.3嵌入式系统的测试技术
嵌入式系统软件的测试必须考虑时间和硬件影响的问题。对于硬件,一般是采用专门的测试仪器进行测试;而对于实时嵌入式软件,则需要有关的测试技术和测试工具的支持,需要采取特定的测试策略。
测试技术指的是软件测试的专门途径,以及提供的能够更加有效的运用这些途径的特定技术。测试技术主要有回归测试(基于代码的测试或白盒测试)、第三方的验证和确认测试(功能测试或黑盒测试)及维护中的修改或升级测试(回归测试)等。目前,大量的实时嵌入式软件是面向对象编程和基于部件开发的,它们对时空和宿主机、目标机的交叉开发方式以及可能的分布运行环境等的约束限制给运用上述技术带来了新的问题和挑战。
1).白盒测试和黑盒测试
一般来说,软件测试有两种基本的测试方式,即白盒测试方法和黑盒测试方法,嵌入式软件测试也不例外。
白盒测试或基于代码的测试检查的是程序的内部设计。根据源代码的组织结构查找软件缺陷,一般要求软件测试人员对软件的结构和作用有详细的了解。白盒测试和代码覆盖率密切相关,可以在白盒测试的同时计算出测试的代码覆盖率,保证测试的充分性。把100%的代码都测试到是几乎不可能的,所以要选择最主要的代码进行白盒测试。由于严格的安全性和可行性的要求,嵌入式软件测试同非嵌入式软件测试相比,通常要求要有更高的代码覆盖率。对于嵌入式软件,白盒测试一般在目标硬件上进行,更为实际的方式是在开发环境中通过硬件仿真进行,所以选取的测试工具应该支持在宿主环境中的测试。
黑盒测试在有些情况下也称为功能测试。这种测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。黑盒测试的最大优点在于不依赖于代码,而是从实际使用的角度进行测试,通过黑盒测试可以发现白盒测试发现不了的问题。因为黑盒测试与需求密切相关,需求规格说明的质量会直接影响到测试结果。黑盒只能限制在需求的范围内进行。在进行嵌入式软件测试时,要把系统的预期用途作为重要依据,根据需求对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确的测试,还需要检验软硬件之间的接口。嵌入式软件测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平衡,所以,黑盒测试不仅要检查软件工作过程,也要检查软件的失效过程。
2).目标环境测试和宿主环境测试
在嵌入式软件测试中,常常要在基于目标的测试和基于宿主的测试之间做出折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小,但必竟是在模拟的环境中进行的。目前是把更多的测试转移到宿主环境中进行,但是,目标环境的复杂性和独特性不可能完全模拟。
在两个环境中可以发现不同的软件缺陷,重要的是对目标环境和宿主环境的测试内容有所选择。在宿主环境中,可以进行逻辑或界面的测试、其它非实时的测试和与硬件无关的测试。在模拟或宿主环境中的测试消耗的时间通常比较少,用调试工具可以更快的完成高度和测试任务。而与时间问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行。在软件测试周期中,基于目标的测试是在比较晚的“硬件\软件集成测试”阶段开始的,如果不更早的在模拟环境中进行白盒测试,而是等到“硬件\软件集成测试”阶段进行全部的白盒测试,将耗费更多的财力和人力。
第四章 系统的设计与实现
在这一章中,根据第二章和第三章的论述,设计出一个实现对温度进行测量和控制的嵌入式系统。系统具有对外界两点温度进行采集的能力,采集的模拟信号经A/D模块转换成相应的数字量,送入微处理器进行处理。采集到的每一路温度都要与系统此路温度设定值进行比较,然后根据结果调用合适的控制算法,并通过控制相应的继电器的占空比实现对温度的控制、测量、运算处理、输出控制、显示、通信。为此引出串行通信设计
利用RS-232串行通信,实现
首页 上一页 6 7 8 9 10 11 12 下一页 尾页 9/20/20
嵌入式系统在多点温度控制中的应用(九)由毕业论文网(www.huoyuandh.com)会员上传。