CN114297059A - 一种面向异步设备的虚拟仿真实现系统及其方法 - Google Patents
一种面向异步设备的虚拟仿真实现系统及其方法 Download PDFInfo
- Publication number
- CN114297059A CN114297059A CN202111602527.8A CN202111602527A CN114297059A CN 114297059 A CN114297059 A CN 114297059A CN 202111602527 A CN202111602527 A CN 202111602527A CN 114297059 A CN114297059 A CN 114297059A
- Authority
- CN
- China
- Prior art keywords
- virtual
- equipment
- asynchronous
- logic
- interrupt
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种面向异步设备的虚拟仿真实现系统及其方法,该系统包括虚拟处理器组件库以及虚拟设备组件库,其中,异步虚拟通信设备组件依靠虚拟处理器组件的读写完成数据交互,在处理器的驱动下,产生并完成设备内部功能逻辑;异步虚拟通信设备组件通过逻辑通信通道与虚拟处理器组件连接,具体为:虚拟处理器组件直接与逻辑通信通道的服务器端连接,每个异步虚拟设备组件与一个逻辑通信通道的客户端连接,将所有的逻辑通信通道的客户端与逻辑通信通道的服务端连接。应用本发明可以提升仿真验证中对不同中断发生处理情况的覆盖率,具有很强的可复用性,适用于大部分嵌入式系统的异步通信设备的仿真验证,能极大提高验证效率和覆盖率。
Description
技术领域
本发明涉及虚拟验证技术领域,具体涉及一种面向异步设备的虚拟仿真实现系统以及应用该系统的虚拟仿真实现方法。
背景技术
虚拟验证系统是能够对嵌入式硬件系统进行完整模拟的软件系统,用户可以在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试。
虚拟验证系统的一个核心特点是通用性,即系统可以根据测试所需硬件环境的不同,进行通用配置以满足需求,系统提供了两个组件库:1)虚拟处理器组件库;2)虚拟设备组件库。用户可以根据硬件需求,自主在组件库中选取虚拟组件,软定制板级硬件仿真环境。
其中,各虚拟设备组件组成设备组件库,供用户挑选、配置并最终生成虚拟验证平台实例。在虚拟设备组件库中,为了涵盖所有需仿真设备的特性,虚拟设备组件可分为4个类别:1)同步虚拟设备(如RAM/ROM、TIMER虚拟组件等);2)异步虚拟通信设备组件(如RS422、SJA-1000虚拟组件等);3)中断控制器组件;4)具有数据信号连接关系的虚拟设备组件(如GPIO、AD/DA虚拟组件等)。
上述每种组件均有其特定的虚拟仿真实现方法,每种组件对虚拟验证系统相关模块的依赖也不同。但是如何通过各种虚拟组件对嵌入式硬件系统进行完整模拟的软件系统实验,使得用户在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试,是一个难题。目前,现有技术只通过人工手动撰写系统级验证测试例,会降低验证效率,且很难覆盖到大量可能发生的中断源触发情况。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种面向异步设备的虚拟仿真实现系统及其方法,该系统和方法可以解决现有技术中存在的不足,不仅可以极大地缩短嵌入式软件研制周期,而且能够避免高昂的辅助测试硬件研制费用、极大地降低系统成本。
为解决上述问题,本发明所采用的技术方案如下:
一种面向异步设备的虚拟仿真实现系统,包括:虚拟处理器组件库以及虚拟设备组件库,用于根据硬件需求在组件库中选取虚拟组件,以构建软硬件协同仿真环境,其中,虚拟设备组件库包括同步虚拟设备、异步虚拟通信设备组件、中断控制器组件、具有数据信号连接关系的虚拟设备组件;异步虚拟通信设备组件依靠虚拟处理器组件的读写完成数据交互,在处理器的驱动下,产生并完成设备内部功能逻辑;异步虚拟通信设备组件通过逻辑通信通道与虚拟处理器组件连接,具体为:虚拟处理器组件直接与逻辑通信通道的服务器端连接,每个异步虚拟设备组件与一个逻辑通信通道的客户端连接,然后,将所有的逻辑通信通道的客户端与逻辑通信通道的服务端连接。
进一步的方案是,逻辑通信通道包括服务端,服务端面向虚拟处理器组件提供接口服务,用于满足虚拟处理器的读写设备操作、驱动执行操作以及中断获取操作。
更进一步的方案是,逻辑通信通道包括客户端,客户端一方面与服务端进行通信来转答来自虚拟处理器的操作请求,另一方面加载异步虚拟通信设备组件的接口,用于完成真实的设备操作,并为异步虚拟通信设备提供异步的通信仿真支持。
更进一步的方案是,异步虚拟通信设备组件通过逻辑通信通道客户端实现数据交互,在接收经由服务端转发的来自虚拟处理器组件的数据交互请求下,经由客户端直接调用接口函数完成的;异步虚拟通信设备组件使用客户端提供的接口CommunDevGetBroadcast()来完成驱动执行;异步虚拟通信设备组件使用客户端提供的接口CommunDevSendData()以及CommunDevRecvData()完成通信数据的发送/接收。
更进一步的方案是,异步虚拟通信设备组件的中断产生是在执行内部逻辑后由中断产生模块产生的,并在组件内部仅保留中断状态,无需主动提交行为;当客户端通过中断获取接口CommunDevSendInfo进行获取时,才会将中断信息采集并产生一定的内外部逻辑执行。
一种面向异步设备的虚拟仿真实现方法,该方法应用于上述的一种面向异步设备的虚拟仿真实现系统来实现虚拟仿真,该方法包括以下步骤:异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册,如果注册成功,那么执行初始化步骤,否则退出;设备初始化,通过回调函数获取客户端提供的服务;激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
进一步的方案是,判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略;判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据;判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
更进一步的方案是,判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略;判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据;判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
更进一步的方案是,判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,则驱动设备执行内部逻辑,调用接口SendData()发送数据,然后,判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
更进一步的方案是,判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活设备功能逻辑,如果未被标记,那么返回执行激活设备功能逻辑;若不存在服务调用,则调动RecvData()接口,判断是否存在接收数据,若存在,则接收数据并且更新内部数据,然后执行中断信息判断,判断是否产生中断,如果产生则标记中断已产生,等待处理。
由此可见,相比现有技术,本发明提供的系统及方法运用测试软件和仿真验证模块协同的方式对异步设备进行虚拟仿真实现,可以在已编译环境中直接运行进行仿真,可以大大提升仿真验证中对不同中断发生处理情况的覆盖率,且这样的仿真验证具有很强的可复用性,适用于大部分嵌入式系统的异步通信设备的仿真验证,能极大提高验证效率和覆盖率,增强设计的信心。
此外,本发明可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
图1是本发明一种面向异步设备的虚拟仿真实现系统实施例中各类型组件组成的组件库的原理图。
图2是本发明一种面向异步设备的虚拟仿真实现系统实施例中异步虚拟通信设备组件与虚拟验证系统的交互原理图。
图3是本发明一种面向异步设备的虚拟仿真实现系统实施例中异步虚拟通信设备组件的原理图。
图4是本发明一种面向异步设备的虚拟仿真实现方法实施例的流程图。
图5是本发明一种面向异步设备的虚拟仿真实现方法实施例中所实现虚拟仿真实现方法的具体流程图。
具体实施方式
一种面向异步设备的虚拟仿真实现系统实施例:
参见图1,一种面向异步设备的虚拟仿真实现系统,包括:虚拟处理器组件库以及虚拟设备组件库,用于根据硬件需求在组件库中选取虚拟组件,以构建软硬件协同仿真环境,其中,虚拟设备组件库包括同步虚拟设备、异步虚拟通信设备组件、中断控制器组件、具有数据信号连接关系的虚拟设备组件。
在本实施例中,异步虚拟通信设备组件依靠虚拟处理器组件的读写完成数据交互,在处理器的驱动下,产生并完成设备内部功能逻辑。
在本实施例中,异步虚拟通信设备组件通过逻辑通信通道与虚拟处理器组件连接,具体为:虚拟处理器组件直接与逻辑通信通道的服务器端连接,每个异步虚拟设备组件与一个逻辑通信通道的客户端连接,然后,将所有的逻辑通信通道的客户端与逻辑通信通道的服务端连接。
在本实施例中,逻辑通信通道包括服务端,服务端面向虚拟处理器组件提供接口服务,用于满足虚拟处理器的读写设备操作、驱动执行操作以及中断获取操作。
在本实施例中,逻辑通信通道包括客户端,客户端一方面与服务端进行通信来转答来自虚拟处理器的操作请求,另一方面加载异步虚拟通信设备组件的接口,用于完成真实的设备操作,并为异步虚拟通信设备提供异步的通信仿真支持。
在本实施例中,异步虚拟通信设备组件通过逻辑通信通道客户端实现数据交互,在接收经由服务端转发的来自虚拟处理器组件的数据交互请求下,经由客户端直接调用接口函数完成的。
其中,异步虚拟通信设备组件使用客户端提供的接口CommunDevGetBroadcast()来完成驱动执行。
其中,异步虚拟通信设备组件使用客户端提供的接口CommunDevSendData()以及CommunDevRecvData()完成通信数据的发送/接收。
其中,异步虚拟通信设备组件的中断产生是在执行内部逻辑后由中断产生模块产生的,并在组件内部仅保留中断状态,无需主动提交行为;当客户端通过中断获取接口CommunDevSendInfo进行获取时,才会将中断信息采集并产生一定的内外部逻辑执行。
综上所述,本实施例的异步虚拟通信设备组件是依靠处理器的读写完成数据交互,并会产生一定的内部功能逻辑;在处理器的驱动下,设备会完成一定的内部功能逻辑;与同步虚拟设备不同,在没有处理器驱动的情况下,异步虚拟通信设备也会自主的执行一些内部功能逻辑,如通信功能。
例如,RS422通信组件:1)它的数据读写逻辑是处理器给出地址并请求读写操作,RS422就将指定地址数据获取返回或者写入新的数据。这时,如果处理器写入了数据缓存区,那么在写操作完成之后,还会触发RS422的数据发送逻辑,设备将在某个时间点上将数据通过总线传输出去;2)RS422真实硬件拥有自己的晶振,但是由于系统整体要维护统一的软件时标,而不像硬件那样有多个协同晶振,故类似RS422这样的虚拟组件,其时间计数功能是在处理器驱动执行下进行的。比如虚拟处理器组件每仿真执行一条汇编语句,均会折算成系统时间,通过逻辑驱动接口驱动RS422组件进行时间增减操作,进而根据波特率设置完成数据传输。上述两种情况,无论是数据读写还是功能逻辑执行均是在处理器驱动下完成的,与同步虚拟设备组件类似。而异步虚拟通信设备组件最大的特点就是在没有处理器驱动下,也会完成一定的功能逻辑操作。如RS422的收取数据,由于数据收取是随即、没有确定时间的,因此并不能完全靠着处理器驱动,而是设备需要处于随时可接受数据状态。这就要求异步虚拟设备组件的实现,以及与虚拟验证系统之间的交互在同步的基础上,还要具备多操作线程,以满足异步性。
在本实施例中,异步虚拟通信设备组件与虚拟验证系统中的设备管理模块、虚拟处理器组件、逻辑通信通道模块之间的交互如图2所示。
由图2可以看出,异步虚拟通信设备组件的注册过程是与同步虚拟设备组件相同的。但是,与同步虚拟设备组件实现中设备组件与虚拟处理器组件之间直接通过接口调用相连接不同,异步虚拟设备组件需要通过逻辑通信通道与处理器组件相连接。具体为:虚拟处理器组件直接与逻辑通信通道服务器端通过接口连接,每个异步虚拟设备组件与一个逻辑通信通道客户端通过接口连接,之后所有的逻辑通信通道客户端与逻辑通信通道服务端象连接,这样完成了异步虚拟设备组件与虚拟处理器之间的连接。因此,本发明可以满足异步虚拟通信设备的异步通信功能,使设备组件的仿真在满足虚拟处理器驱动执行数据交互以及逻辑执行的基础上,还能够自主的执行异步通信功能。
具体的,逻辑通信通道分为服务端以及客户端,其中,服务端面向虚拟处理器提供接口服务,主要满足虚拟处理器的读写设备操作、驱动执行操作以及中断获取操作。为了使虚拟处理器能够不需要改变结构,使用同一套接口来完成对同步虚拟设备以及异步虚拟通信设备的访问以及驱动执行,服务端与同步虚拟设备组件提供的接口是一致的,接口规范如下表1所示:
表1:逻辑通信通道服务端接口规范
其中,客户端一方面与服务端进行通信来转答来自虚拟处理器的操作请求,另一方面加载异步虚拟通信设备的接口,完成真实的设备操作,并为异步虚拟通信设备提供异步的通信仿真支持,客户端的接口如下表2所示:
表2:逻辑通信通道客户端接口规范
在逻辑通信通道客户端的支持下,异步虚拟通信设备组件只需要提供读写接口(CompEDevReadW、CompEDevWriteW)即可,其余的驱动执行、通信数据收发、中断获取等操作均可以使用客户端提供的响应接口即可。
通过上述,可以看到异步虚拟通信设备与虚拟验证系统中设备管理模块、虚拟处理器组件、逻辑通信通道模块之间的交互,接下来介绍异步虚拟通信设备组件的结构,如图3所示。
由图3可以看出,异步虚拟通信设备组件在提供了对外与其他模块交互接口的基础上,还需实现内部访问逻辑、设备寄存器以及缓冲区仿真、设备访问执行逻辑、数据通信逻辑以及中断产生相关模块。
1)异步虚拟通信设备组件的数据交互是在逻辑通信通道客户端,接收经由服务端转达的来自虚拟处理器组件的数据交互申请下,经由客户端直接调用接口函数(CompEDevReadW等)完成的;
2)异步虚拟通信设备组件的驱动执行,是直接使用客户端提供的接口CommunDevGetBroadcast()来完成的;
3)异步虚拟通信设备组件的通信数据发送接收,是使用客户端提供的接口CommunDevSendData()以及CommunDevRecvData()完成的;
4)异步虚拟通信设备组件中断产生是在1)至3)执行内部逻辑之后由中断产生模块产生的,但是组件内部仅保留中断状态,并没有主动提交行为。而是当客户端通过中断获取接口(CommunDevSendInfo)进行获取时,才会将中断信息采集并产生一定的内外部逻辑执行。
一种面向异步设备的虚拟仿真实现方法实施例:
一种面向异步设备的虚拟仿真实现方法,该方法应用于上述的一种面向异步设备的虚拟仿真实现系统来实现虚拟仿真,如图4所示,该方法包括以下步骤:
步骤S1,异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册,如果注册成功,那么执行初始化步骤,否则退出。
步骤S2,设备初始化,通过回调函数获取客户端提供的服务。
步骤S3,激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
在本实施例中,判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略。
判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据。
判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
在本实施例中,判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略。
判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据。
判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
在本实施例中,判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,则驱动设备执行内部逻辑,调用接口SendData()发送数据,然后,判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
在本实施例中,判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活设备功能逻辑,如果未被标记,那么返回执行激活设备功能逻辑。
若不存在服务调用,则调动RecvData()接口,判断是否存在接收数据,若存在,则接收数据并且更新内部数据,然后执行中断信息判断,判断是否产生中断,如果产生则标记中断已产生,等待处理。
在具体应用中,如图5所示,本发明提供的一种面向异步设备的虚拟仿真实现方法具体包括以下步骤:
1)异步虚拟设备组件通过注册接口,将自身注册到虚拟验证系统中,如果注册不成功,则退出;
2)设备初始化,通过回调函数获取客户端提供的服务;
3)激活设备功能逻辑;
4)查看是否存在来自客户端的服务调用请求,选择性进入第5至9步;
5)若存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略。然后,判断是否需要发送数据,如果存在则调用接口SendData()发送数据,然后再判断是否产生中断,如果产生则标记中断已产生,等待处理;
6)若存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略。然后,判断是否需要发送数据,如果存在则调用接口SendData()发送数据,然后再判断是否产生中断,如果产生则标记中断已产生,等待处理;
7)若存在CommunDevGetBroadcast()调用,则执行设备内部逻辑,然后,判断是否需要发送数据,如果存在则调用接口SendData()发送数据,然后再判断是否产生中断,如果产生则标记中断已产生,等待处理;
8)若存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标价,则调用CommunDevSendInfo返回中断信息;
9)若不存在调用,则调动RecvData()接口,判断是否存在接收数据。若存在,则接收数据并且更新内部数据,然后判断是否产生中断,如果产生则标记中断已产生,等待处理;
10)在处理完第5至9步之后,重新回到第3步,进行下一轮处理;
11)在设备被卸载,或者系统退出时,异步虚拟通信设备组件结束退出。
由此可见,以上为一种实现虚拟验证系统同步虚拟设备组件的方法,相比现有技术,本发明提供的系统及方法运用测试软件和仿真验证模块协同的方式对异步设备进行虚拟仿真实现,可以在已编译环境中直接运行进行仿真,可以大大提升仿真验证中对不同中断发生处理情况的覆盖率,且这样的仿真验证具有很强的可复用性,适用于大部分嵌入式系统的异步通信设备的仿真验证,能极大提高验证效率和覆盖率,增强设计的信心。
此外,本发明可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种面向异步设备的虚拟仿真实现系统,其特征在于,包括:
虚拟处理器组件库以及虚拟设备组件库,用于根据硬件需求在组件库中选取虚拟组件,以构建软硬件协同仿真环境,其中,虚拟设备组件库包括同步虚拟设备、异步虚拟通信设备组件、中断控制器组件、具有数据信号连接关系的虚拟设备组件;
异步虚拟通信设备组件依靠虚拟处理器组件的读写完成数据交互,在处理器的驱动下,产生并完成设备内部功能逻辑;
异步虚拟通信设备组件通过逻辑通信通道与虚拟处理器组件连接,具体为:虚拟处理器组件直接与逻辑通信通道的服务器端连接,每个异步虚拟设备组件与一个逻辑通信通道的客户端连接,然后,将所有的逻辑通信通道的客户端与逻辑通信通道的服务端连接。
2.根据权利要求1所述的系统,其特征在于:
逻辑通信通道包括服务端,服务端面向虚拟处理器组件提供接口服务,用于满足虚拟处理器的读写设备操作、驱动执行操作以及中断获取操作。
3.根据权利要求2所述的系统,其特征在于:
逻辑通信通道包括客户端,客户端一方面与服务端进行通信来转答来自虚拟处理器的操作请求,另一方面加载异步虚拟通信设备组件的接口,用于完成真实的设备操作,并为异步虚拟通信设备提供异步的通信仿真支持。
4.根据权利要求3所述的系统,其特征在于:
异步虚拟通信设备组件通过逻辑通信通道客户端实现数据交互,在接收经由服务端转发的来自虚拟处理器组件的数据交互请求下,经由客户端直接调用接口函数完成的;
异步虚拟通信设备组件使用客户端提供的接口CommunDevGetBroadcast()来完成驱动执行;
异步虚拟通信设备组件使用客户端提供的接口CommunDevSendData()以及CommunDevRecvData()完成通信数据的发送/接收。
5.根据权利要求4所述的系统,其特征在于:
异步虚拟通信设备组件的中断产生是在执行内部逻辑后由中断产生模块产生的,并在组件内部仅保留中断状态,无需主动提交行为;当客户端通过中断获取接口CommunDevSendInfo进行获取时,才会将中断信息采集并产生一定的内外部逻辑执行。
6.一种面向异步设备的虚拟仿真实现方法,其特征在于,该方法应用于权利要求1至5任一项所述的一种面向异步设备的虚拟仿真实现系统来实现虚拟仿真,该方法包括以下步骤:
异步虚拟通信设备组件通过接口向虚拟验证系统进行设备注册,如果注册成功,那么执行初始化步骤,否则退出;
设备初始化,通过回调函数获取客户端提供的服务;
激活设备功能逻辑,查看是否存在来自客户端的服务调用请求,并进行相应的处理。
7.根据权利要求6所述的方法,其特征在于:
判断是否存在来自客户端的服务调用,若是且存在CompEDevReadW()调用,则根据地址读取数据,并执行读取操作引发的逻辑功能,不存在则忽略;
判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据;
判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
8.根据权利要求6所述的方法,其特征在于:
判断是否存在来自客户端的服务调用,若是且存在CompEDevWriteW()调用,则根据地址写入新数据,并执行写入操作引发的逻辑功能,不存在则忽略;
判断是否需要发送数据,如果是,则通过调用接口SendData()发送数据;
判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
9.根据权利要求6所述的方法,其特征在于:
判断是否存在来自客户端的服务调用,若是且存在CommunDevGetBroadcast()调用,则驱动设备执行内部逻辑,调用接口SendData()发送数据,然后,判断是否产生中断,如果产生中断则标记中断已产生并返回执行激活设备功能逻辑,如果没有产生中断,那么返回执行激活设备功能逻辑。
10.根据权利要求6所述的方法,其特征在于:
判断是否存在来自客户端的服务调用,若是且存在CommunDevSendInfo()调用,则检查中断标示是否已被标记,如果被标记,则通过接口CommunDevSendInfo返回中断信息,然后清空中断标示后返回执行激活设备功能逻辑,如果未被标记,那么返回执行激活设备功能逻辑;
若不存在服务调用,则调动RecvData()接口,判断是否存在接收数据,若存在,则接收数据并且更新内部数据,然后执行中断信息判断,判断是否产生中断,如果产生则标记中断已产生,等待处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602527.8A CN114297059A (zh) | 2021-12-24 | 2021-12-24 | 一种面向异步设备的虚拟仿真实现系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602527.8A CN114297059A (zh) | 2021-12-24 | 2021-12-24 | 一种面向异步设备的虚拟仿真实现系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297059A true CN114297059A (zh) | 2022-04-08 |
Family
ID=80968745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111602527.8A Pending CN114297059A (zh) | 2021-12-24 | 2021-12-24 | 一种面向异步设备的虚拟仿真实现系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297059A (zh) |
-
2021
- 2021-12-24 CN CN202111602527.8A patent/CN114297059A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909460B (zh) | 车联网v2x仿真测试方法、装置、设备和存储介质 | |
CN101680932B (zh) | 具有用于验证外部接口的功能性的自测试特征的集成电路 | |
US10409632B2 (en) | Emulation of hardware components based on interrupt design | |
EP3647956B1 (en) | Generalized virtualization platform for systems using hardware abstraction software layers | |
CN109669787B (zh) | 数据传输方法及装置、存储介质、电子设备 | |
CN109743396B (zh) | Sca软件无线电平台的组件加载方法 | |
CN105094910A (zh) | 一种驱动函数用户态调试系统和方法 | |
KR100249797B1 (ko) | 알피씨 기반 분산처리 프로그램의 통신 이벤트/메시지 추적 방법 | |
US20240220399A1 (en) | In-vehicle operating system, debugging system and method, electronic device, and storage medium | |
CN109684148B (zh) | 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法 | |
KR101666398B1 (ko) | Arinc 653 기반 운영체제에서의 모니터링 방법 및 장치 | |
CN114297059A (zh) | 一种面向异步设备的虚拟仿真实现系统及其方法 | |
CN107145379B (zh) | 实现具有数据信号连接关系虚拟设备组件的方法及系统 | |
CN110377272B (zh) | 一种基于tbox的sdk的实现方法及装置 | |
CN112711602B (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
Yang et al. | A Method for Reducing Simulation Timing Deviation in QEMU-Based Virtual ECU | |
CN112711527A (zh) | 一种实时进程的调试方法、装置、目标机和存储介质 | |
US20060161422A1 (en) | Virtual emulation modules, virtual development systems and methods for system-on-chip development | |
CN117376229B (zh) | 基于嵌入式设备的ftp文件系统软件交叉调试方法及系统 | |
CN115729639A (zh) | 车载应用的进程运行方法、装置以及车辆 | |
CN117632364A (zh) | Autosar虚拟化平台、应用方法、设备和介质 | |
CN114297060A (zh) | 一种面向同步设备的虚拟仿真实验方法及系统 | |
CN116248427A (zh) | 一种基于总线模块通用化多模式通信构件及其通信方法 | |
CN100458728C (zh) | 一种模拟芯片操作的方法及系统 | |
CN116795686A (zh) | 一种mcu远程调试方法及系统 |
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 |