摘 要:摘要:本文主要是通过仿真技术、构件技术的引入以及通用构件化软件仿真开发环境模型的建立来对嵌入式系统软件与硬件的并行开发予以支持,并在此基础上进一步解决多样性问题。
关键词:关键词:嵌入式软件;集成开发环境;构件;仿真
中图分类号:TP311 文献标识码:A 文章编号:
1.引言
本文所探讨的是在传统嵌入式软件开发环境的基础之上进一步的集成硬件的仿真系统,在这里进一步的考虑到嵌入式产品本身固有的多样性,最为理想的开发环境应当具备灵活集成各种开发工具的能力,而目前市场上商品化的嵌入式软件开发环境是不具备这样一种性能的。
2. CSIDE的体系结构
由CSIDE集成的HSE在予以仿真利用的时候往往会消耗大量资源和CPU,在这样一种状况之下我们就要求CSIDE具有一定的分布式处理能力,这样一种要求的提出主要就是希望能够较好的提高软件应用效率。图一当中的CSIDE体系结构是基于工具总线的构件化开发环境体系结构,其所有的工具都被包装成为由工具和总线适配器组合而成的工具构件,因此在实际的应用环境下能够满足上文中提出的要求。工具与工具之间通过总线以请求-相应的方式来实现向外的提供服务或者是请求服务,在这其中,总线适配器用于实现工具与工具总线之间的通信协议调整以及信息转换,工具总线用于工具之间的相互操作,工具集用于为用于提供开发以及管理的功能。
图一 CSIDE的体系结构示意图
通过上图我们就可以看到,CSIDE体系结构的优势主要体现在三个具体的方面:一是用户能够根据自己的实际需要来对工具进行增减、更换或者是升级,提高了系统利用的灵活性;二是系统内工具之间只能够通过工具总线进行连接接和交互,因此系统本身的结构较为简单、使用方便且在一定程度上降低了各个工具之间的相互依赖性;三是工具总线屏蔽了包括网络和操作系统的部分底层支持环境,在这样一种状况下工具构件就不需要对底层支持环境的细节予以考虑,其移植性就会大大的增强。除此之外,还有很重要的一点就是在工具总线具有多机通信能力的时候CSIDE就相应的具有分布处理能力,而工具构件不需要做任何修改,这对于用户调试和软件测试速度的提高都是大有裨益的;但这样一种体系结构同时存在着一定的缺陷,主要就是加大了系统整体的开销并降低了系统执行的效率,但一般情况下开发环境的运行速度并不是我们的主要目标。
通过上文的分析和说明我们就可以看到,在CSIDE体系结构当中最为核心的部分就是工具总线,而工具总线最为核心的部分就是其功能、接口以及行为等方面的规范,这也就意味着我们在进行CSIDE的构建时必须要首先选择确定开发工具总线;其次就是要进行开发工具的定制,一般软件开发环境的常用工具都是可以获得的;最后为每个工具开发总线适配器,适配器的开发设计主要是按照工具总线的规范以及其本身的规范来进行。在整个CSIDE结构体系构建的过程当中最为核心的部分就是总线适配器的开发。
3. 构件化的硬件仿真环境HSE
CSIDE体系结构最为重要的特征之一就是集成了硬件仿真环境HSE,在图一当中已经给出了其具体的对应对象,包括构件库管理器工具构件、仿真运行管理器工具构件以及系统组装器工具构件等。
3.1 HSE的工作原理
图二当中对HSE的工作原理进行了展示,由图我们可以看到,仿真构件库主要是由诸器件、设备构件以及代码体所构成。图二当中, 仿真运行管理器主要是应用于指定组装结果文件的读取,并在此基础之上进行DLL文件的装载,最后在软件调试工具的支持之下将嵌入式软件装到仿真的目标硬件环境下来对其进行仿真运行并输出仿真结果,这一点和传统的交叉开发过程基本上是一致的;系统组装器工具构件则主要是在构件库管理器的的支持作用之下将构件库当中的各个构件都以树图的形式表示出来,在这样一种状况之下用户能够更加方便简洁的选择其所需要使用的构件并良好的配置构件参数,除此之外还能够做的就是以直观的拖放形式来布局构件和连接引脚,以这样一种形式组装出目标机硬件环境并将得到的结果储存于组装结果文件当中;构件库管理器工具构件则主要是对构件库中各种构件的增加、删除、查询以及浏览予以支持,并相应提供构件名到构件代码体之间的映射。
图二 HSE工作原理图
通过上文的叙述我们就不难理解,HSE当中主要采用的是虚拟机的思想,在由构件组装而成的硬件仿真系统当中并不能够直接生成可执行程序,而是首先生产中间结果文件,然后再利用仿真运行管理器作为虚拟机对其进行执行而得到最终的结果。这样一种方式最为显著的优势就表现在开发系统本身较高的可移植性上,在实际的应用过程当中能够较好的适应于不同的仿真运行管理器工具构件,这对于工作效率的提高以及工作有效性的保障都是有一定帮助的。
3.2 仿真构件逻辑模型
HSE当中最为主要和关键的资源就是仿真构件,在实际的工作过程当中HSE正是通过对这样一些资源的重用来实现各种目标硬件环境的生成。本文正是在这样一种状况之下对嵌入式硬件环境进行了一定的领域分析,并在此基础之上提取出了仿真构件模型。在进行分析的过程当中,可以将仿真构件从逻辑的角度抽象成为一个二元组:Component=(A,F),在这其中,A={Ai Ai∈构件的外在特征,i=1,2,3,……,n},A是一个外在特征集,实际上也就是对所有硬件外在特征的一个仿真,而F={Fi, F0}是一个功能集,其中的F0可以表示为F0={f0i f0i;A→ A,i=1,2,3,……,m},是一个定义在A上的映射集合,而f0i对A所实现的改变实际上就是对硬件实际功能所实现的仿真。硬件在被构件化以后其使用环境将发生一定的改变,这也就意味着各种构件都需要与新的使用环境进行融合和适应,总而言之,外界够需要通过A来实现对构件的感知,并进一步的通过F来实现对构件功能的调用,这也就是说,构件模型提取工作的进行就起本质而言也就是对A和F的选择。下文当中就A和F的选择提取进行进一步的分析说明。
3.2.1 A的提取
构件外在特性A的提取主要包含以下两个方面的具体内容:一方面就是要具备图形用户界面,这主要是因为图形用户界面在使用构件组装仿真硬件系统的过程当中能够代表其相应的构件,这样就使得构件在工作过程当中能够发生可视变化,正是因为这样才认为图形用户界面是非常必须的。其次就是引脚,所谓引脚实际上就是各种硬件之间物理连接点的一个抽象。硬件之间的连接通常有有线和无线两种,在有线连接当中硬件本身就是构件的引脚,而在无线连接当中则是将一些无线收发装置抽象成为了构件的引脚。在这里需要特别注意的一点就是所抽取的引脚必须是一些能够在一定程度上实现对硬件控制的物理连接点,如果不能够达到这样一种要求往往就不需要进行抽取。
通过上文的分析所得到的结果就是:A={GUI,P},在这其中GUI所代表的是构件的外观,而P={PiPi=( Ti , Vi),i=1,2,3,……,n},表示的是所抽取全部的构件引脚集合,用二元组( Ti , Vi)来予以表示,其中Ti 表示的是引脚上电信号的类型,而Vi则表示的是引脚上电信号的具体数值。
3.2.2 F的提取
F0主要是和实际硬件所具备的功能有关,这也就是说,任何能够改变GUI值或者是Pi值的硬件功能都应当抽取到F0,除此之外还需要考虑的就是较多的硬件都会涉及到时序的要求,这就意味这在进行分析探讨的时候F0还要考虑到时间上的因素。F1是硬件使用环境和完成构件的一个集合,因此在进行构件的提取时同样与使用环境有关,可以在逻辑的角度上将其用一组函数集合来予以表示,F0={f0i f0i;(GUI,P)→(GUI,P),i=1,2,3,……,m}。
3.3 仿真构件的实现模型
3.3.1 A的映射
事实上,A可以直接映射为类的公共成员属性,但是这样一种抽象的意义往往并不如方法明确和具体,并且在一些特殊状况下直接对公共成员属性进行访问是不太可能的,正是因为这样才将A中元素转换成为私有的成员属性,并在类中进一步的增加一些能够对A进行操纵的公共方法来对A直接进行访问。
3.3.2 F的映射
在上文当中已经提到, F0在对硬件功能进行仿真的时候是具有时序要求的,这也就意味着所延长的时间再执行一个开销为0的操作的话其效果就将和执行一个开销为t的操作完全一致,即f0i;(GUI,P)→(GUI,P)是可以通过算法Arith 1 来实现的,且(GUI,P)→(GUI,P)可以直接映射为计算机高级语言当中的内容。在进行仿真的过程当中,必须考虑到较多的硬件在实际工作环境下依然是并行工作的,因此在进行仿真的时候也需要通过并发来进行模拟,这样一种状况的实现方法就是将F0当中所有的f0i都转换为类。
3.3.3 可扩展性的实现
我们将构件当中任意数量公共方法定义所组成的集合称作是构件的一个接口,在这样一种状况下,如果接口已经通过上述的定义和方法形成,那么对任意方法的增加、删除或者是更改都是使得接口的定义发生变化。考虑到在系统当中往往较多的涉及到同一个接口定义的共用,因此即便是构件本身没有发生改变,公共方法的调用者还是会受到一定程度的影响的,这对于系统本身的可扩展性同样影响较大。所谓多接口则是指对于同一个对象实现多个接口,因此按接口来进行方法调用强调的就是调用接口当中的方法来对一些直接调用的方法予以替代,这样做的好处就在于在采用多接口技术的时候其不同接口的调用者不会受到彼此之间的干扰或者是影响。我们在这里针对于多接口技术的关键问题提出两个方面的分类原则:一方面就是将所有不稳定的方法都单独的归结为一类,且需要将各个构件的实现体都以动态的形式加载到系统当中去;另一方面就是按照其功能来进行分类。
4.结语
与传统的软件开发平台相比较而言,本文当中所提出的构件化仿真开发环境模型CSIDE具有以下三个方面的显著特征:一是CSIDE体系结构当中工具总线的采用极大程度的提高了系统本身的灵活性,使其能够较好的支持分布式处理;二是集成的构件化硬件仿真环境较好的实现了对产品硬件环境的仿真;三是工具代理以及仿真运行管理器的应用使得整个仿真过程当中各个部分协调性较好,同样较大程度的提高了系统本身的扩展性和反正效率。
参考文献:
[1] 金凤莲,孟桂颖,于忠德.应用Pspice仿真软件优化电路设计[J].自动化与仪器仪表,2001(6)
[2] 郭兵.嵌入式软件开放式集成开发平台体系结构研究[D].电子科技大学,2002
[3] 潘爱民.COM原理与应用[J].北京:清华大学出版社,1999
[4] 古幼鹏,熊光泽,桑楠.基于构件的嵌入式软件仿真开发环境模型研究[J].系统工程与电子技术,2004(10)
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。