CN1855034A - 一种实现与设备对象无关的dohm软件接口 - Google Patents

一种实现与设备对象无关的dohm软件接口 Download PDF

Info

Publication number
CN1855034A
CN1855034A CN 200510025524 CN200510025524A CN1855034A CN 1855034 A CN1855034 A CN 1855034A CN 200510025524 CN200510025524 CN 200510025524 CN 200510025524 A CN200510025524 A CN 200510025524A CN 1855034 A CN1855034 A CN 1855034A
Authority
CN
China
Prior art keywords
software
dohm
application layer
interface
bottom functional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510025524
Other languages
English (en)
Other versions
CN100454238C (zh
Inventor
谢伟
王江
靳光学
詹振七
杨伟峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Shanghai Bell Co Ltd
Original Assignee
Alcatel Lucent Shanghai Bell Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent Shanghai Bell Co Ltd filed Critical Alcatel Lucent Shanghai Bell Co Ltd
Priority to CNB2005100255247A priority Critical patent/CN100454238C/zh
Publication of CN1855034A publication Critical patent/CN1855034A/zh
Application granted granted Critical
Publication of CN100454238C publication Critical patent/CN100454238C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种实现与设备对象无关的DOHM软件接口,连接在底层功能软件和应用层软件之间。可包括:Doam,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,间接完成应用层软件对底层功能软件的读写操作;Doea,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;Docx,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;Doec,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。还可包括操作系统接口。本发明可以屏蔽硬件细节差别,在硬件改变的情况下,对应用层软件能提供同样的接口,以便于系统的调试、维护和移植,尤其在较大的模块化软件系统中更能体现其优越性。

Description

一种实现与设备对象无关的DOHM软件接口
技术领域
本发明涉及软件系统中(例如嵌入式软件系统)的底层功能软件(包括驱动程序)和应用层软件接口之间实现与设备对象无关的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层屏蔽了硬件细节差别和操作系统。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴之内,应由各权利要求限定。

Claims (5)

1.一种实现与设备对象无关的DOHM软件接口,其特征在于:它连接在软件系统中的底层功能软件和应用层软件之间,用于实现与设备对象无关,屏蔽硬件细节差别,为应用层软件提供一个标准的接口,以便于系统的调试、维护和移植。
2.根据权利要求1所述的实现与设备对象无关的DOHM软件接口,其特征在于:该DOHM软件接口包括目标设备访问管理单元(Doam)、目标设备事件访问单元(Doea)、目标设备连接单元(Docx)和目标事件连接单元(Doec),其中:
目标设备访问管理单元,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,从而间接完成应用层软件对底层功能软件的读写操作;
目标设备事件访问单元,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;
目标设备连接单元,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;
目标事件连接单元,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。
3.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于:它还包括操作系统接口,用于任务管理、信号量处理和定时功能。
4.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于:所述DOHM软件接口除了初始化函数以外均根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的。
5.根据权利要求2所述的实现与设备对象无关的DOHM软件接口,其特征在于:所述各单元在其初始化后且底层功能软件初始化之前,把应用层软件调用均指向默认的动作,以便于应用程序在底层功能软件完成之前进行开发调试。
CNB2005100255247A 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口 Active CN100454238C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100255247A CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100255247A CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Publications (2)

Publication Number Publication Date
CN1855034A true CN1855034A (zh) 2006-11-01
CN100454238C CN100454238C (zh) 2009-01-21

Family

ID=37195229

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100255247A Active CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Country Status (1)

Country Link
CN (1) CN100454238C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750137A (zh) * 2011-04-22 2012-10-24 中国科学院沈阳自动化研究所 一种面向DeviceNet总线的接口系统
CN104899145A (zh) * 2015-06-20 2015-09-09 成都彬鸿科技有限公司 一种嵌入式系统调试方法
CN104951323A (zh) * 2014-03-27 2015-09-30 中国移动通信集团公司 Java中间件及其驱动调用、加载方法及转换装置
CN106484386A (zh) * 2015-09-02 2017-03-08 中国航空工业第六八研究所 一种共享内存的嵌入式软件接口设计方法
CN111400078A (zh) * 2020-03-09 2020-07-10 广州路派电子科技有限公司 一种嵌入式系统中处理任务的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003521027A (ja) * 1999-12-21 2003-07-08 ジェネラル・インスツルメント・コーポレイション 異なるオぺレーティングシステムプラットフォームにわたるデバイスドライバーの移植性のためのアブストラクトデバイスドライバーモデル
CN1427361A (zh) * 2001-12-17 2003-07-02 北京中视联联合软件有限公司 基于客户/服务器结构的底层设备驱动的方法
CN1280726C (zh) * 2002-10-18 2006-10-18 上海贝尔有限公司 一种用于嵌入式系统软件开发的虚拟机装置
CN1269017C (zh) * 2003-09-29 2006-08-09 中兴通讯股份有限公司 一种嵌入式系统下usb存储器的驱动开发方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750137A (zh) * 2011-04-22 2012-10-24 中国科学院沈阳自动化研究所 一种面向DeviceNet总线的接口系统
CN104951323A (zh) * 2014-03-27 2015-09-30 中国移动通信集团公司 Java中间件及其驱动调用、加载方法及转换装置
CN104951323B (zh) * 2014-03-27 2018-06-19 中国移动通信集团公司 Java中间件及其驱动调用、加载方法及转换装置
CN104899145A (zh) * 2015-06-20 2015-09-09 成都彬鸿科技有限公司 一种嵌入式系统调试方法
CN106484386A (zh) * 2015-09-02 2017-03-08 中国航空工业第六八研究所 一种共享内存的嵌入式软件接口设计方法
CN111400078A (zh) * 2020-03-09 2020-07-10 广州路派电子科技有限公司 一种嵌入式系统中处理任务的方法及装置
CN111400078B (zh) * 2020-03-09 2023-08-25 广州路派电子科技有限公司 一种嵌入式系统中处理任务的方法及装置

Also Published As

Publication number Publication date
CN100454238C (zh) 2009-01-21

Similar Documents

Publication Publication Date Title
US6810294B2 (en) Method and apparatus for automating a microelectronic manufacturing process
US5847955A (en) System and method for controlling an instrumentation system
EP0871116B1 (en) Method and computer program product for reducing inter-buffer data transfers between separate processing components
CA2208135C (en) Method, computer program product, and data structure for validating creation of and routing messages to file objects
CN110620712B (zh) Window平台的实时EtherCAT主站实现方法
US5640572A (en) System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system
KR880001401B1 (ko) 데이타 처리 시스템의 공통 버스 이용검출 논리회로
CN107135390A (zh) 一种电视应用的自动化测试方法及系统
CN104484273A (zh) 应用程序的测试方法、设备及系统
CN106371847B (zh) Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN1855034A (zh) 一种实现与设备对象无关的dohm软件接口
CN107766039B (zh) 从Java对象中存取属性值的方法、服务器及存储介质
US8271557B1 (en) Configuration of a large-scale reconfigurable computing arrangement using a virtual file system interface
CN103399814B (zh) 自动化测试的方法及装置
WO2021203805A1 (zh) 一种gpu共享调度、单机多卡方法、系统及装置
CN100555219C (zh) 原子操作封装装置和方法
US20070043548A1 (en) Verifying a simulated hardware environment for a simulated device under test
CN1693918A (zh) 检查物理系统模型的鲁棒性
US5627998A (en) System and method for mapping calls to functions in a first driver level library to a session-based instrumentation control driver level system
WO2022033672A1 (en) Apparatus and method for injecting a fault into a distributed system
CN1967483A (zh) 使用转移中修改虚拟化设备自描述信息的方法
CN112506818B (zh) 一种基于软件模拟的usb硬件虚拟化方法
CN114564241A (zh) 硬件设备的访问方法、装置、计算机设备和存储介质
Dantam et al. Unix philosophy and the real world: Control software for humanoid robots
CN1099816C (zh) 用于管理时钟分配器的状态和双信息的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHANGHAI ALCATEL-LUCENT CO., LTD.

Free format text: FORMER NAME: BEIER AERKATE CO., LTD., SHANGHAI

CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: Shanghai Alcatel-Lucent Co., Ltd.

Address before: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Beier Aerkate Co., Ltd., Shanghai

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: Shanghai NOKIA Baer Limited by Share Ltd

Address before: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Shanghai Alcatel-Lucent Co., Ltd.