CN107133164A - 实现异步虚拟通信设备组件的方法及系统 - Google Patents

实现异步虚拟通信设备组件的方法及系统 Download PDF

Info

Publication number
CN107133164A
CN107133164A CN201710149750.9A CN201710149750A CN107133164A CN 107133164 A CN107133164 A CN 107133164A CN 201710149750 A CN201710149750 A CN 201710149750A CN 107133164 A CN107133164 A CN 107133164A
Authority
CN
China
Prior art keywords
module
perform
data
interruption
call
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.)
Pending
Application number
CN201710149750.9A
Other languages
English (en)
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.)
Shenzhen Academy of Aerospace Technology
Original Assignee
Shenzhen Academy of Aerospace Technology
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 Shenzhen Academy of Aerospace Technology filed Critical Shenzhen Academy of Aerospace Technology
Priority to CN201710149750.9A priority Critical patent/CN107133164A/zh
Publication of CN107133164A publication Critical patent/CN107133164A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种实现异步虚拟通信设备组件的方法及系统,该方法包括依次执行如下步骤:注册步骤:异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;注册判断步骤:如果注册成功,那么执行初始化步骤,否则退出;初始化步骤:设备初始化,通过回调函数获取客户端提供的服务;处理步骤:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。本发明的有益效果是:本发明可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。

Description

实现异步虚拟通信设备组件的方法及系统
技术领域
本发明涉及虚拟验证系统,尤其涉及实现异步虚拟通信设备组件的方法及系统。
背景技术
虚拟验证系统是能够对嵌入式硬件系统进行完整模拟的软件系统。用户可以在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试。通过使用本系统,用户不仅可以极大地缩短嵌入式软件研制周期,而且能够避免高昂的辅助测试硬件研制费用、极大地降低系统成本。
虚拟验证系统的一个核心特点是通用性,即系统可以根据测试所需硬件环境的不同,进行通用配置以满足需求,系统提供了两个组件库:1)虚拟处理器组件库;2)虚拟设备组件库。用户可以根据硬件需求,自主在组件库中选取虚拟组件,软定制板级硬件仿真环境。如图1所示,各虚拟设备组件组成设备组件库,供用户挑选、配置并最终生成虚拟验证平台实例。在虚拟设备组件库中,为了涵盖所有需仿真设备的特性,虚拟设备组件可分为4个类别:1)同步虚拟设备(如RAM/ROM、TIMER虚拟组件等);2)异步虚拟通信设备组件(如RS422、SJA-1000虚拟组件等);3)中断控制器组件;4)具有数据信号连接关系的虚拟设备组件(如GPIO、AD/DA虚拟组件等)。
上述每种组件均有其特定的虚拟仿真实现方法,每种组件对虚拟验证系统相关模块的依赖也不同。
发明内容
本发明提供了一种实现异步虚拟通信设备组件的方法,包括依次执行如下步骤:
注册步骤:异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断步骤:如果注册成功,那么执行初始化步骤,否则退出;
初始化步骤:设备初始化,通过回调函数获取客户端提供的服务;
处理步骤:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
作为本发明的进一步改进,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活步骤,如果未被标记,那么返回执行激活步骤。
作为本发明的进一步改进,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
作为本发明的进一步改进,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
作为本发明的进一步改进,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断步骤,若不存在服务调用,那么执行待接收数据判断步骤;
待接收数据判断步骤:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收步骤,否则执行发送判断步骤;
数据接收步骤:接收数据并且更新内部数据,然后执行中断信息判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
本发明还提供了一种实现异步虚拟通信设备组件的系统,包括依次执行如下模块:
注册模块:用于异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断模块:如果注册成功,那么执行初始化步骤,否则退出;
初始化模块:设备初始化,通过回调函数获取客户端提供的服务;
处理模块:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
作为本发明的进一步改进,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活模块,如果未被标记,那么返回执行激活模块。
作为本发明的进一步改进,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;
中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
作为本发明的进一步改进,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;
中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
作为本发明的进一步改进,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断模块,若不存在服务调用,那么执行待接收数据判断模块;
待接收数据判断模块:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收模块,否则执行发送判断模块;
数据接收模块:接收数据并且更新内部数据,然后执行中断信息判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;
中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
本发明的有益效果是:本发明可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。
附图说明
图1是各类型组件组成的组件库。
图2是异步虚拟通信设备组件与虚拟验证系统的交互图。
图3是异步虚拟通信设备组件的结构示意图。
图4是实现虚拟验证系统的异步虚拟通信设备组件的方法流程图。
具体实施方式
下面对本发明的技术内容进行详细介绍和说明:
一.异步虚拟通信设备组件的特征、系统交互与结构:
所谓异步虚拟通信设备组件,其特征是:1)依靠处理器的读写完成数据交互,并会产生一定的内部功能逻辑;2)在处理器的驱动下,设备会完成一定的内部功能逻辑;3)与同步虚拟设备不同,在没有处理器驱动的情况下,异步虚拟通信设备也会自主的执行一些内部功能逻辑,如通信功能。
例如,RS422通信组件:1)它的数据读写逻辑是处理器给出地址并请求读写操作,RS422就将指定地址数据获取返回或者写入新的数据。这时,如果处理器写入了数据缓存区,那么在写操作完成之后,还会触发RS422的数据发送逻辑,设备将在某个时间点上将数据通过总线传输出去;2)RS422真实硬件拥有自己的晶振,但是由于系统整体要维护统一的软件时标,而不像硬件那样有多个协同晶振,故类似RS422这样的虚拟组件,其时间计数功能是在处理器驱动执行下进行的。比如虚拟处理器组件每仿真执行一条汇编语句,均会折算成系统时间,通过逻辑驱动接口驱动RS422组件进行时间增减操作,进而根据波特率设置完成数据传输;3)上述两种情况,无论是数据读写还是功能逻辑执行均是在处理器驱动下完成的,与同步虚拟设备组件类似。而异步虚拟通信设备组件最大的特点就是在没有处理器驱动下,也会完成一定的功能逻辑操作。如RS422的收取数据,由于数据收取是随即、没有确定时间的,因此并不能完全靠着处理器驱动,而是设备需要处于随时可接受数据状态。这就要求异步虚拟设备组件的实现,以及与虚拟验证系统之间的交互在同步的基础上,还要具备多操作线程,以满足异步性。
异步虚拟通信设备组件与虚拟验证系统中的设备管理模块、虚拟处理器组件、逻辑通信通道模块之间的交互如图2所示。
如图2可以看出,异步虚拟通信设备组件的注册过程是与同步虚拟设备组件相同的。但是,与同步虚拟设备组件实现中设备组件与虚拟处理器组件之间直接通过接口调用相连接不同,异步虚拟设备组件需要通过逻辑通信通道与处理器组件相连接。具体为:虚拟处理器组件直接与逻辑通信通道服务器端通过接口连接,每个异步虚拟设备组件与一个逻辑通信通道客户端通过接口连接,之后所有的逻辑通信通道客户端与逻辑通信通道服务端相连接,这样完成了异步虚拟设备组件与虚拟处理器之间的连接。
这么做的原因主要是为了满足异步虚拟通信设备的异步通信功能,使设备组件的仿真在满足虚拟处理器驱动执行数据交互以及逻辑执行的基础上,还能够自主的执行异步通信功能。
上述中,逻辑通信通道分为服务端以及客户端:1)服务端面向虚拟处理器提供接口服务,主要满足虚拟处理器的读写设备操作、驱动执行操作以及中断获取操作。为了使虚拟处理器能够不需要改变结构,使用同一套接口来完成对同步虚拟设备以及异步虚拟通信设备的访问以及驱动执行,服务端与同步虚拟设备组件提供的接口是一致的,接口规范如下表1所示:
表1逻辑通信通道服务端接口规范
客户端一方面与服务端进行通信来转答来自虚拟处理器的操作请求,另一方面加载异步虚拟通信设备的接口,完成真实的设备操作,并为异步虚拟通信设备提供异步的通信仿真支持。客户端的接口如下表2所示:
表2逻辑通信通道客户端接口规范
在逻辑通信通道客户端的支持下,异步虚拟通信设备组件只需要提供读写接口(CompEDevReadW、CompEDevWriteW)即可,其余的驱动执行、通信数据收发、中断获取等操作均可以使用客户端提供的响应接口即可。
通过上述,可以看到异步虚拟通信设备与虚拟验证系统中设备管理模块、虚拟处理器组件、逻辑通信通道模块之间的交互。接下来介绍异步虚拟通信设备组件的结构,如图3所示。
从图3可以看出,异步虚拟通信设备组件在提供了对外与其他模块交互接口的基础上,还需实现内部访问逻辑、设备寄存器以及缓冲区仿真、设备访问执行逻辑、数据通信逻辑以及中断产生相关模块。
1)异步虚拟通信设备组件的数据交互是在逻辑通信通道客户端,接收经由服务端转达的来自虚拟处理器组件的数据交互申请下,经由客户端直接调用接口函数(CompEDevReadW等)完成的;
2)异步虚拟通信设备组件的驱动执行,是直接使用客户端提供的接口CommunDevGetBroadcast()来完成的;
3)异步虚拟通信设备组件的通信数据发送接收,是使用客户端提供的接口CommunDevSendData()以及CommunDevRecvData()完成的;
4)异步虚拟通信设备组件中断产生是在1)至3)执行内部逻辑之后由中断产生模块产生的,但是组件内部仅保留中断状态,并没有主动提交行为。而是当客户端通过中断获取接口(CommunDevSendInfo)进行获取时,才会将中断信息采集并产生一定的内外部逻辑执行。
二.异步虚拟通信设备组件的实现方法
前面已经介绍了虚拟验证系统的大致功能,以及异步虚拟通信设备组件的特征、与系统的交互以及组件的结构。基于这些,一种实现虚拟验证系统的异步虚拟通信设备组件的方法如图4所示。
如图4所示,本发明公开了一种实现异步虚拟通信设备组件的方法,包括依次执行如下步骤:
注册步骤:异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断步骤:如果注册成功,那么执行初始化步骤,否则退出;
初始化步骤:设备初始化,通过回调函数获取客户端提供的服务;
处理步骤:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤包括:
判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活步骤,如果未被标记,那么返回执行激活步骤;
判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断步骤,若不存在服务调用,那么执行待接收数据判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤;
待接收数据判断步骤:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收步骤,否则执行发送判断步骤;
数据接收步骤:接收数据并且更新内部数据,然后执行中断信息判断步骤。
本发明还公开了一种实现异步虚拟通信设备组件的系统,包括依次执行如下模块:
注册模块:用于异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断模块:如果注册成功,那么执行初始化步骤,否则退出;
初始化模块:设备初始化,通过回调函数获取客户端提供的服务;
处理模块:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活模块,如果未被标记,那么返回执行激活模块。
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;
中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断模块,若不存在服务调用,那么执行待接收数据判断模块;
待接收数据判断模块:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收模块,否则执行发送判断模块;
数据接收模块:接收数据并且更新内部数据,然后执行中断信息判断模块。
本发明可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种实现异步虚拟通信设备组件的方法,其特征在于,包括依次执行如下步骤:
注册步骤:异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断步骤:如果注册成功,那么执行初始化步骤,否则退出;
初始化步骤:设备初始化,通过回调函数获取客户端提供的服务;
处理步骤:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
2.根据权利要求1所述的方法,其特征在于,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活步骤,如果未被标记,那么返回执行激活步骤。
3.根据权利要求1所述的方法,其特征在于,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
4.根据权利要求1所述的方法,其特征在于,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断步骤;
发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;
中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
5.根据权利要求1所述的方法,其特征在于,在所述处理步骤中,包括依次执行如下步骤:
激活步骤:激活设备功能逻辑;
调用执行步骤:判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断步骤,若不存在服务调用,那么执行待接收数据判断步骤;
待接收数据判断步骤:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收步骤,否则执行发送判断步骤;
数据接收步骤:接收数据并且更新内部数据,然后执行中断信息判断步骤;发送判断步骤:判断是否需要发送数据,如果是,则执行发送步骤,否则返回执行中断信息判断步骤;
发送步骤:调用接口SendData()发送数据,然后执行中断信息判断步骤;中断信息判断步骤:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活步骤,如果没有产生中断,那么返回执行激活步骤。
6.一种实现异步虚拟通信设备组件的系统,其特征在于,包括依次执行如下模块:
注册模块:用于异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册;
注册判断模块:如果注册成功,那么执行初始化步骤,否则退出;
初始化模块:设备初始化,通过回调函数获取客户端提供的服务;
处理模块:激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
7.根据权利要求6所述的系统,其特征在于,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活模块,如果未被标记,那么返回执行激活模块。
8.根据权利要求6所述的系统,其特征在于,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
9.根据权利要求6所述的系统,其特征在于,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略,然后执行发送判断模块;
发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
10.根据权利要求6所述的系统,其特征在于,在所述处理模块中,包括依次执行如下模块:
激活模块:激活设备功能逻辑;
调用执行模块:判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,那么驱动设备执行逻辑然后执行发送判断模块,若不存在服务调用,那么执行待接收数据判断模块;
待接收数据判断模块:调动RecvData()接口,判断是够存在接收数据,若存在,那么执行数据接收模块,否则执行发送判断模块;
数据接收模块:接收数据并且更新内部数据,然后执行中断信息判断模块;发送判断模块:判断是否需要发送数据,如果是,则执行发送模块,否则返回执行中断信息判断模块;
发送模块:调用接口SendData()发送数据,然后执行中断信息判断模块;中断信息判断模块:判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活模块,如果没有产生中断,那么返回执行激活模块。
CN201710149750.9A 2017-03-14 2017-03-14 实现异步虚拟通信设备组件的方法及系统 Pending CN107133164A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710149750.9A CN107133164A (zh) 2017-03-14 2017-03-14 实现异步虚拟通信设备组件的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710149750.9A CN107133164A (zh) 2017-03-14 2017-03-14 实现异步虚拟通信设备组件的方法及系统

Publications (1)

Publication Number Publication Date
CN107133164A true CN107133164A (zh) 2017-09-05

Family

ID=59721822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710149750.9A Pending CN107133164A (zh) 2017-03-14 2017-03-14 实现异步虚拟通信设备组件的方法及系统

Country Status (1)

Country Link
CN (1) CN107133164A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312687A (zh) * 2013-03-13 2013-09-18 四川天翼网络服务有限公司 一种协议转换器及方法
CN103942063A (zh) * 2013-11-08 2014-07-23 国家电网公司 一种针对Java Web应用的集中配置和远程部署方法
CN105824729A (zh) * 2016-03-11 2016-08-03 深圳航天科技创新研究院 一种具备通用性的虚拟验证平台及实现方法
US20160350169A1 (en) * 2013-08-09 2016-12-01 Datto, Inc. Apparatuses, methods and systems for determining a virtual machine state

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312687A (zh) * 2013-03-13 2013-09-18 四川天翼网络服务有限公司 一种协议转换器及方法
US20160350169A1 (en) * 2013-08-09 2016-12-01 Datto, Inc. Apparatuses, methods and systems for determining a virtual machine state
CN103942063A (zh) * 2013-11-08 2014-07-23 国家电网公司 一种针对Java Web应用的集中配置和远程部署方法
CN105824729A (zh) * 2016-03-11 2016-08-03 深圳航天科技创新研究院 一种具备通用性的虚拟验证平台及实现方法

Similar Documents

Publication Publication Date Title
CN112422453B (zh) 一种报文处理的方法、装置、介质及设备
US9792155B2 (en) Dynamic job processing based on estimated completion time and specified tolerance time
CN101203834B (zh) 用于在虚拟机监视器和符合acpi的客户操作系统之间进行双向通信的方法、装置及系统
KR101057452B1 (ko) 스마트카드 임베디드 조작 시스템 및 작업처리 방법
CN101872335B (zh) Cpu控制台重定向方法、系统及cpu
CN104636077A (zh) 用于虚拟机的网络块设备存储系统与方法
CN103780655A (zh) 一种消息传递接口任务和资源调度系统及方法
CN102567109A (zh) 中断分配方案
CN107395909A (zh) 一种基于云计算管理平台的计费管理系统及方法
CN104486255A (zh) 业务资源调度方法和装置
CN106603284A (zh) 基于Docker虚拟容器微应用平台系统及运行方法
CN104091102B (zh) 一种基于安卓系统的多用户管理方法及其装置
CN109376011A (zh) 虚拟化系统中管理资源的方法和装置
CN108333566A (zh) 一种基于zynq的便携式雷达测试系统及测试方法
CN108304267A (zh) 高可靠低资源开销的多源数据引接方法
CN102591778A (zh) 一种基于服务的可扩展程序竞赛评测系统
CN115794419A (zh) Gpu的调控系统及方法
CN109117279A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN110427260A (zh) 主机作业调度方法、装置及系统
CN106982131A (zh) 发起vnf实例化的方法、装置及系统
CN102811199A (zh) 一种接口适配方法、装置及系统
CN107133164A (zh) 实现异步虚拟通信设备组件的方法及系统
US9866501B2 (en) Virtual switch enabling communication between external objects and simulation objects
CN103309658A (zh) 基于Agent的动态演化系统及方法
CN107967223B (zh) 一种多产品线通用代码架构系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170905

RJ01 Rejection of invention patent application after publication