专利名称:一种实现与设备对象无关的dohm软件接口的利记博彩app
技术领域:
本发明涉及软件系统中(例如嵌入式软件系统)的底层功能软件(包括驱动程序)和应用层软件接口之间实现与设备对象无关的DOHM(DeviceObject Hardware Manager,目标设备硬件管理)软件接口。
背景技术:
随着软件系统越来越复杂和庞大,对数据结构和算法的选择在许多情况下成为较次要的部分,而对软件系统的模块化结构要求越来越高。在模块化设计时,当一个软件系统中的构件之间以一种非标准化的方法描述时,系统的重用性会受到影响,在一个模块设计过程中的努力很难移植到另一个系统中去。把这样的系统构件移植到另一个系统中去将是有风险的,甚至是不可能的。
在现有模块化软件系统中,通常是应用层软件直接调用底层功能软件。如果硬件细节有所改变,比如模块、结构、操作系统改变,必将导致底层功能软件向上的接口发生改变,而引起应用层软件对下的接口软件也要相应改变。
对于上述现象,虽有类似对操作系统增加中间层来实现操作系统无关的接口,从而可以实现对各种操作系统之间的移植,但对整个底层功能软件的移植仍无一完善的处置方案。
因此,这种稍有一点硬件的改变都将导致软件修改面较广,从而增加系统的调试时间和人力成本的缺陷,是业内人士致力解决的技术问题之
发明内容
本发明的目的在于提供一种对底层功能软件及操作系统均有屏蔽作用,也即能屏蔽硬件细节差别的实现与设备对象无关的DOHM软件接口,从而为应用软件提供一个标准的接口,便于系统的调试、维护和移植。
本发明所提供的一种实现与设备对象无关的DOHM软件接口,其特征在于它连接在软件系统中的底层功能软件和应用层软件之间,用于实现与设备对象无关,屏蔽硬件细节差别,为应用层软件提供一个标准的接口,以便于系统的调试、维护和移植。
上述的实现与设备对象无关的DOHM软件接口,包括目标设备访问管理单元(Doam)、目标设备事件访问单元(Doea)、目标设备连接单元(Docx)和目标事件连接单元(Doec),其中目标设备访问管理单元,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,从而间接完成应用层软件对底层功能软件的读写操作;目标设备事件访问单元,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;目标设备连接单元,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;目标事件连接单元,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。
在上述的实现与设备对象无关的DOHM软件接口中,还包括操作系统接口,用于任务管理、信号量处理和定时功能。
在上述的实现与设备对象无关的DOHM软件接口中,所述DOHM软件接口除了初始化函数以外均根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的。
在上述的实现与设备对象无关的DOHM软件接口中,所述各单元在其初始化后且底层功能软件初始化之前,把应用层软件调用均指向默认的动作,便于应用程序在底层功能软件完成之前进行开发调试。
采用了上述的技术解决方案,即在底层功能软件和应用层软件之间增加了DOHM软件接口,DOHM层用以屏蔽硬件细节差别,包括操作系统,为应用层软件提供一个标准的接口。也即允许硬件的改变,比如硬件元器件、结构,甚至功能、板卡、操作系统等的改变,而对应用层软件却提供不变的接口,从而使软件系统结构更加清晰明了,便于系统的调试、维护和移植。本发明适用于任何有底层功能软件(包括驱动程序)和应用层软件之间,尤其在较大的模块化软件系统中更能体现本发明解决方案的优越性。
图1是本发明DOHM软件接口在系统中的结构示意图;图2是本发明DOHM软件接口的结构示意图。
具体实施例方式
如图1所示,软件系统分为应用层软件1、DOHM软件接口2(简称DOHM层)和底层功能软件3。应用层软件1可以包括错误定位程序11、板级测试程序12、调试程序13等。
在初始化时包括二级内容,第一级为DOHM初始化,这时把除了明确的信息类调用外的所有的应用程序的调用都指向一个默认动作。第二级为底层初始化,每个功能模块都有一个初始化函数,初始化时首先通过初始化好的DOHM层学习到板子的类型及功能模块的个数,各功能模块的基地址等信息。然后逐个初始化各功能模块到默认状态。再把要被应用程序调用的底层功能软件接口注册到DOHM层。最后分配需要的操作系统资源。这样应用程序就可以利用标准的接口通过DOHM层来调用底层功能软件。
上述的DOHM层,其实上就是一个指针层,位于应用层和底层之间。它把应用层要执行的函数指向底层功能软件接口。作为指针层,它只起连接指向作用,并不知道底层到底为上层的命令做了什么动作。另外,DOHM层相对比较独立,当硬件环境变化时只需改变配置文件就可以了。在DOHM初始化时,DOHM层向应用软件提供默认的动作。在底层功能软件初始化时,它把所有的向上接口分类的注册到DOHM层。只有注册到DOHM层的底层功能软件接口才有可能被应用层调用。底层功能软件的注册是通过标准的函数来实现的,如下dohmFdeclare(object,object_type,operation,attribute,logical_function)第一个参数object就是访问单元,前面提到的Doam,Doea,Docx,Doec等;第二个参数object_type是访问对象类型,比如以太网交换,数字信号处理,串口等等;第三个参数operation是操作类型,比如读操作,写操作等;第四个参数attribute是访问的属性,比如设置回环,配置以太网MAC地址等;最后一个参数logical_function是底层功能软件实际执行的函数。
注册后,应用程序就可以根据这些参数通过DOHM层调用底层功能软件。
下面来说明一下Doam的写操作,调用时,先根据访问类型和访问数得到一个访问号。如下accId=doamFid(<access type>,<access nbr>);accId是一个带有前两个参数的数据结构,现在就可以对设备各类型进行读写操作,其它几种访问的方法也雷同,如下doamFwrite(&accId,doamCatt_…,&value)。
除了初始化函数,应用层对底层的所有调用都是通过DOHM层来实现,本发明DOHM软件接口是根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的,向上采用标准的应用接口,向下采用标准的声明接口,实现与对象无关的软件接口。
如图1~2所示,DOHM层包括四类应用层软件访问,即第一类,Doam(Device Object Access Management)为目标设备访问管理单元21;第二类,Doea(Device Object Event on Access)为目标设备事件访问单元22;第三类,Docx(Device Object Connection)为目标设备连接单元23;以及第四类,Doec(Device Object Event on Connection)为目标事件连接单元24。另外为了独立于各种操作系统,DOHM还增加了一个操作系统接口25。
DOHM层2是根据这些访问类别来连接应用层软件1和底层功能软件3。
目标设备访问管理单元21,根据应用层软件1读写操作要求,在已注册(或配置)的底层功能软件接口中,例如以太网、TDM(时分多址)等类型的模块中进行指配连接,从而间接完成应用层软件1对以太网、TDM等类型的功能模块31的读写操作。
目标设备事件访问单元,根据应用层软件1对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中,例如以太网、TDM(时分多址)等类型的功能模块31中进行指配连接。
目标设备连接单元23,根据应用层1对两个目标(例如TDM的两个时隙)的连接要求,在已注册的底层功能软件接口中进行指配连接。
目标事件连接单元24,根据应用层对事件标识(例如计数器、状态等事件类型、ATM(异步传输模式)、Ethernet(以太网)等事件性质和事件号)的连接要求,在已注册的底层功能软件接口中进行指配连接。
操作系统接口25,用于任务管理(例如切换)、信号量处理和定时器(例如中断等管理)等。
当硬件信息改变,比如硬件元器件有所改变或升级,操作系统的改变,甚至板卡变更,只需改变DOHM层的配置文件和底层功能软件的注册函数。应用层软件无需改变。这样升级或移植时可以减少很多接口修改。减少人力成本及错误的发生。另外,为了节约开发时间,一般应用层软件、底层功能软件及硬件同步开发。为了隔离应用层软件、底层功能软件及硬件,DOHM层可以把所有的应用层软件调用都指向默认的动作而不是底层功能软件。这样便于应用软件独立调试。加速开发进程。
本发明在应用层和底层增加DOHM层,因此肯定会增加代码量和存储器容量。而且应用程序不知道任何硬件信息,代码上看应用程序的调用不是很直观。所以在简单的系统里,或不存在系统硬件改变,升级,移植的软件结构里不适合使用本发明。
综上,本发明DOHM软件接口是位于应用层和底层之间实质上起一个指针层作用,即把应用层要执行的函数指向底层功能软件的接口。作为指针层的DOHM层,只起指向连接作用,并不涉及底层为上层命令所作动作的本身。另外,DOHM层相对比较独立,当硬件环境变化时只需改变其配置文件即可。因此DOHM层屏蔽了硬件细节差别和操作系统。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴之内,应由各权利要求限定。
权利要求
1.一种实现与设备对象无关的DOHM软件接口,其特征在于它连接在软件系统中的底层功能软件和应用层软件之间,用于实现与设备对象无关,屏蔽硬件细节差别,为应用层软件提供一个标准的接口,以便于系统的调试、维护和移植。
2.根据权利要求1所述的实现与设备对象无关的DOHM软件接口,其特征在于该DOHM软件接口包括目标设备访问管理单元(Doam)、目标设备事件访问单元(Doea)、目标设备连接单元(Docx)和目标事件连接单元(Doec),其中目标设备访问管理单元,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,从而间接完成应用层软件对底层功能软件的读写操作;目标设备事件访问单元,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;目标设备连接单元,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;目标事件连接单元,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。
3.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于它还包括操作系统接口,用于任务管理、信号量处理和定时功能。
4.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于所述DOHM软件接口除了初始化函数以外均根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的。
5.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于所述各单元在其初始化后且底层功能软件初始化之前,把应用层软件调用均指向默认的动作,以便于应用程序在底层功能软件完成之前进行开发调试。
全文摘要
一种实现与设备对象无关的DOHM软件接口,连接在底层功能软件和应用层软件之间。可包括Doam,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,间接完成应用层软件对底层功能软件的读写操作;Doea,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;Docx,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;Doec,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。还可包括操作系统接口。本发明可以屏蔽硬件细节差别,在硬件改变的情况下,对应用层软件能提供同样的接口,以便于系统的调试、维护和移植,尤其在较大的模块化软件系统中更能体现其优越性。
文档编号G06F9/44GK1855034SQ20051002552
公开日2006年11月1日 申请日期2005年4月28日 优先权日2005年4月28日
发明者谢伟, 王江, 靳光学, 詹振七, 杨伟峰 申请人:上海贝尔阿尔卡特股份有限公司