CN114116024A - 面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统 - Google Patents
面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统 Download PDFInfo
- Publication number
- CN114116024A CN114116024A CN202111155022.1A CN202111155022A CN114116024A CN 114116024 A CN114116024 A CN 114116024A CN 202111155022 A CN202111155022 A CN 202111155022A CN 114116024 A CN114116024 A CN 114116024A
- Authority
- CN
- China
- Prior art keywords
- event
- information
- peripheral
- service module
- operating system
- 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
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 225
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000003139 buffering effect Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008878 coupling Effects 0.000 abstract description 4
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- QWCRAEMEVRGPNT-UHFFFAOYSA-N buspirone Chemical compound C1C(=O)N(CCCCN2CCN(CC2)C=2N=CC=CN=2)C(=O)CC21CCCC2 QWCRAEMEVRGPNT-UHFFFAOYSA-N 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统,属于嵌入式操作系统技术领域,解决了现有技术中各种外设设备驱动之间耦合性较高,当驱动程序出现问题时,易导致操作系统崩溃的问题。所述方法包括:获取待处理信息,所述待处理信息中包括信息订阅者的标识;根据所述标识,将所述待处理信息发送至对应的信息订阅者。本发明实施例适用于嵌入式操作系统中的外设驱动处理过程。
Description
技术领域
本发明涉及嵌入式操作系统技术领域,具体地涉及一种面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统。
背景技术
设备驱动程序(简称设备驱动)是硬件设备与应用程序之间的桥梁。外围设备(简称外设)是嵌入式系统中的一种硬件设备,通常通过SPI、I2C、USB、SDIO、MIPI等外设总线与嵌入式处理器连接。当前的嵌入式系统的外设设备驱动通常和操作系统内核一起运行在嵌入式处理器的内核中,而且各种外设设备驱动之间耦合性较高,一旦驱动程序出现问题,易导致整个操作系统崩溃。
发明内容
本发明实施例的目的是提供一种面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统,解决了现有技术中各种外设设备驱动之间耦合性较高,当驱动程序出现问题时,易导致操作系统崩溃的问题。
为了实现上述目的,本发明实施例提供一种面向嵌入式操作系统的外设驱动处理方法,包括:获取待处理信息,所述待处理信息中包括信息订阅者的标识;根据所述标识,将所述待处理信息发送至对应的信息订阅者。
进一步地,所述待处理信息包括通信数据,所述信息订阅者为外设设备驱动,所述根据所述标识,将所述待处理信息发送至对应的信息订阅者包括:经由事件总线将所述通信数据转换为事件,并将所述事件发送至所述标识对应的外设设备驱动。
进一步地,在所述获取待处理信息之前,所述方法还包括:接收所述外设设备驱动发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述信息订阅者为服务模块,所述根据所述标识,将所述待处理信息发送至对应的信息订阅者包括:将所获取的待处理信息经由事件总线转换为事件,并将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。
进一步地,在所述获取待处理信息之前,所述方法还包括:接收所述服务模块发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。
进一步地,所述事件为中断事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:将所述中断事件发送至所述标识对应的中断服务模块,以便由所述中断服务模块解析所述中断事件得到中断控制信息,并根据所述中断控制信息控制嵌入式处理器的中断控制器执行相应操作。
进一步地,所述事件为DMA事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:将所述DMA事件发送至所述标识对应的DMA服务模块,以便由所述DMA服务模块解析所述DMA事件得到DMA控制信息,并根据所述DMA控制信息控制嵌入式处理器的DMA控制器执行相应操作。
进一步地,所述事件为引脚复用配置事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:将所述引脚复用配置事件发送至所述标识对应的引脚复用配置服务模块,以便所述引脚复用配置服务模块解析所述引脚复用配置事件得到引脚复用配置信息,并根据所述引脚复用配置信息控制嵌入式处理器的引脚复用配置寄存器执行相应操作。
进一步地,所述事件为外设总线事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:将所述外设总线事件发送至所述标识对应的外设总线控制器服务模块,以便所述外设总线控制器服务模块解析所述外设总线事件得到外设总线控制信息,并根据所述外设总线控制信息控制嵌入式处理器的外设总线控制器执行相应操作。
进一步地,所述事件为缓冲处理事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:将所述缓冲处理事件发送至所述标识对应的缓冲服务模块,以便由所述缓冲服务模块解析所述缓冲处理事件得到缓冲控制信息,并根据所述缓冲控制信息控制嵌入式操作系统处理缓冲区。
进一步地,所述缓冲控制信息包括缓冲区申请信息或缓冲区释放信息。
相应的,本发明实施例还提供一种面向嵌入式操作系统的外设驱动虚拟机,包括:信息获取模块,用于获取待处理信息,所述待处理信息中包括信息订阅者的标识;信息传递模块,用于根据所述标识,将所述待处理信息发送至对应的信息订阅者。
进一步地,所述待处理信息包括通信数据,所述信息订阅者为外设设备驱动,还包括:事件总线模块,用于将所述通信数据转换为事件;所述信息传递模块还用于将所述事件发送至所述标识对应的外设设备驱动。
进一步地,还包括:订阅消息接收模块,用于接收所述外设设备驱动发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述信息订阅者为服务模块,还包括:事件总线模块,用于将所获取的待处理信息经由事件总线转换为事件;所述信息传递模块还用于将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。
进一步地,还包括:订阅消息接收模块,用于接收所述服务模块发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。
进一步地,所述服务模块包括:中断服务模块、DMA服务模块、引脚复用配置服务模块、外设总线控制器服务模块以及缓冲服务模块。
进一步地,所述虚拟机应用的所述嵌入式操作系统为Linux、Android、RT-Thread、LiteOS中的任意一者。
相应的,本发明实施例还提供一种面向嵌入式操作系统的外设驱动处理系统,所述系统包括如上所述的面向嵌入式操作系统的外设驱动虚拟机、外设设备驱动模块、嵌入式操作系统、嵌入式处理器以及外设。
相应的,本发明实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的面向嵌入式操作系统的外设驱动处理方法。
通过上述技术方案,解决了现有技术中各种外设设备驱动之间耦合性较高,当驱动程序出现问题时,易导致操作系统崩溃的问题,实现了外设设备驱动可以在不做任何修改的情况下,在不同的嵌入式操作系统以及嵌入式处理器上运行,达到软硬件解耦的目的。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例提供的一种面向嵌入式操作系统的外设驱动处理方法的流程示意图;
图2是本发明实施例提供的外设设备驱动作为事件的订阅者的外设驱动处理方法的示意图;
图3是本发明实施例提供的服务模块作为事件的订阅者的外设驱动处理方法的示意图;
图4是本发明实施例提供的中断操作的外设驱动处理方法的示意图;
图5是本发明实施例提供的DMA操作的外设驱动处理方法的示意图;
图6是本发明实施例提供的外设总线引脚复用配置操作的外设驱动处理方法的示意图;
图7是本发明实施例提供的外设总线操作的外设驱动处理方法的示意图;
图8是本发明实施例提供的缓冲操作的外设驱动处理方法的示意图;
图9是本发明实施例提供的一种面向嵌入式操作系统的外设驱动虚拟机的结构示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
现有技术中的嵌入式操作系统和嵌入式处理器缺乏统一的标准,针对设备驱动开发者而言,编程的差异非常大。例如Linux和LiteOS,在如何创建线程,如何访问文件等方面的编程差异很大。又例如高通骁龙系列SoC与三星猎户座系列SoC在引脚复用、DMA(DirectMemory Access,直接存储器存取)操作等方面的编程差异也很大。
现有的嵌入式操作系统中,外设设备驱动等扩展功能模块和嵌入式操作系统内核其他代码都在嵌入式处理器的内核态运行。这种结构在带来性能优势的同时也带来了可靠性隐患——外设设备驱动以任务队列处理线程和中断线程的形式处理用户请求和设备应答。中断处理和任务队列处理这两类内核线程一旦因程序缺陷而改变正常运行轨迹,将会导致操作系统内核运行混乱,进而引发内核崩溃。
其次,现有的外设设备驱动对开发人员的要求也很高,需要开发者同时关注嵌入式操作系统、嵌入式处理器和外设本身的工作方式。因为外设通常是经由外设总线与嵌入式处理器连接,而这些外设总线的控制器被集成在嵌入式处理器中,所以外设设备驱动通过对嵌入式处理器内集成的控制器进行操作来达到通过总线操作通信从而控制外设内部的寄存器,最后实现对外设进行控制的目的。例如针对重力加速度传感器(G-Sensor)的设备驱动,需要依赖于嵌入式操作系统的机制来控制嵌入式处理器的I2C总线,通过I2C总线来与重力加速度传感器通信,同时还需要关注所采用的重力加速度传感器芯片自身的工作机制(例如,如何初始化,如何获得采样数值,如何进行校准等)。
这就造成了当前外设设备驱动会因嵌入式操作系统和嵌入式处理器的不同而需要定制。设备驱动开发人员除了关心硬件本身的工作方式和控制方式以外,还不得不关心嵌入式操作系统和嵌入式处理器的技术细节,导致了软硬件强耦合。按照这种方式开发设备驱动无疑会拉长嵌入式设备的研发和稳定周期,加重了设备驱动开发和维护的负担。另外,对于外设的设计者而言,他们会被迫为多种嵌入式操作系统、嵌入式处理器维护其设备驱动版本,这样是对他们精力的一种巨大浪费。
另外,现有的嵌入式系统设备驱动对采用的具体嵌入式操作系统存在着较多依赖,包括:进程、线程相关操作(创建、终止、等待等);与时间相关的操作(获取时间、设置时间);与文件相关操作(文件I/O,目录操作等);线程同步机制(互斥量、读写锁、条件变量);进程间通信机制(共享内存、消息队列);中断操作(中断通知等)。这些机制或应用程序接口是在设备驱动开发中经常使用的,如果对这部分内容进行抽象,可将其封装为一套与具体操作系统无关的设备驱动开发接口,那么就可以在不同的嵌入式操作系统上使用这些机制或应用程序接口了。
其次,嵌入式系统设备驱动对采用的具体的嵌入式处理器也存在着较多的依赖,包括:中断操作、DMA操作、外设总线引脚复用配置操作、外设总线控制器操作。
本申请在对不同的外设设备驱动进行分析之后,可以看出,虽然外设的差异很大,但其设备驱动从结构上可以归纳为两个部分的操作:第一部分是控制嵌入式处理器进行外设总线引脚复用配置、总线控制器操作、中断操作、DMA操作等;第二部分是实现与具体外设相关的通信协议、操作外设相关寄存器、利用外设总线传输数据等。外设第一部分的操作是与嵌入式处理器和嵌入式操作系统相关的而与连接的某个具体的外设是无关的。可以将这部分操作当作一个封闭的外设驱动虚拟机,然后通过相应的抽象接口使用该虚拟机提供的能力,例如:中断操作、DMA操作、总线操作等。该抽象接口是通过提炼各个嵌入式平台的共性而抽象出来的,是平台无关的。外设驱动虚拟机可以被移植到不同平台上。利用外设驱动虚拟机提供的抽象接口以及设备驱动开发接口,可以为外设的第二部分操作开发设备驱动。因为设备驱动开发接口是平台无关的,所以这样的设备驱动在源代码层面上是平台无关的。
当然,这样的设备驱动是无法直接在嵌入式平台上运行的,必需通过外设驱动虚拟机的支撑才能让这样的设备驱动正常工作。在本申请中,嵌入式系统外设设备驱动作为用户态程序运行在外设驱动虚拟机中,与嵌入式操作系统内核在运行状态上进行隔离,并且基于硬件MMU(Memory Management Unit,存储器管理单元)实现设备驱动与内核代码的地址空间隔离。因此,本申请中的外设驱动虚拟机是可以移植到不同平台的,这样设备驱动就可以不做任何修改而在不同的平台上运行,从而达到软硬件解耦的目的。
因此,在本申请中,利用面向嵌入式操作系统的外设驱动虚拟机,实现了针对不同嵌入式操作系统和嵌入式处理器的移植层,从而实现了外设设备驱动与嵌入式操作系统以及嵌入式处理器的无关。
相对于现有技术中需要利用外设总线机制,在本申请中,将系统异常、设备中断、外设设备驱动与服务、外设设备驱动与外设驱动虚拟机之间的通信抽象为事件,通过事件总线进行外设驱动虚拟机与外设设备驱动之间以及外设设备驱动与服务之间的消息传输。在本申请中,基于嵌入式操作系统的消息队列或其他进程件通信机制,事件总线可实现实时系统数据分发服务(Data Distribution Service for Real-time Systems),从而在接收到系统异常、中断信号、DMA数据以及外设总线数据之后,事件总线可通过数据分发服务将对应事件发送给对应的信息订阅者(例如,外设设备驱动)。另外,外设设备驱动也可以通过事件总线将相关数据转换为对应的事件,并发送给对应的信息订阅者(例如外设驱动虚拟机中的服务模块)。下面将详细描述本发明实施例关于面向嵌入式操作系统的外设驱动处理方法。
图1是本发明实施例提供的一种面向嵌入式操作系统的外设驱动处理方法的流程示意图。如图1所示,所述方法包括如下步骤:
步骤101,获取待处理信息,所述待处理信息中包括信息订阅者的标识;
步骤102,根据所述标识,将所述待处理信息发送至对应的信息订阅者。
在本发明实施例中,所述待处理信息包括两种数据类型,一种是如图2所示的,外设设备驱动作为事件的订阅者,向外设驱动虚拟机发送事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型,其中,所述信息订阅者的标识用于唯一标识订阅者身份,所订阅信息类型为外设设备驱动需要获取的信息类型,例如,中断事件、DMA事件以及外设总线事件。当外设驱动虚拟机接收到由外设发送的通信数据后,经由事件总线将所述通信数据转换为事件,然后将所述事件发送至所述信息订阅者的标识对应的外设设备驱动。其中,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。另一种是如图3所示的,服务模块作为事件的订阅者,在外设驱动虚拟机接收到所述服务模块发送的事件订阅消息(同样,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型)之后,将在外设设备驱动处所获取的待处理信息经由事件总线转换为事件,并将所述事件发送至所述信息订阅者的标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。其中,针对不同的操作,将有对应的不同服务模块处理相关事件,其中包括中断服务模块、DMA服务模块、引脚复用配置服务模块、外设总线控制器服务模块以及缓冲服务模块。
下面将分别以中断操作、DMA操作、外设总线引脚复用配置操作、外设总线操作以及缓冲操作为例描述本发明实施例。
对于中断操作,如图4所示,当外设设备驱动需要获取硬件中断时,则外设设备驱动通过设备驱动开发接口向外设驱动虚拟机注册为中断事件的订阅者,当外设产生中断信号时,经由事件总线将所述中断信号转换为中断事件,并将所述中断事件发送至其订阅者——外设设备驱动,外设设备驱动就能获取到中断事件,通过解析中断事件能够获得中断处理相关的信息。
当中断服务模块作为中断事件的订阅者时,接收外设设备驱动发送的中断待处理信息(例如,禁止中断、使能中断、设置中断模式等中断配置信息),经由事件总线将待处理信息转换为中断事件,并将所述中断事件发送至所述信息订阅者的标识对应的中断服务模块,以便由所述中断服务模块解析所述中断事件得到中断控制信息,并根据所述中断控制信息控制嵌入式处理器的中断控制器执行相应操作,例如,控制中断控制器执行禁止中断、使能中断、设置中断模块等操作。
对于DMA操作,如图5所示,当外设设备驱动需要获取DMA数据时,则外设设备驱动通过设备驱动开发接口向外设驱动虚拟机注册为DMA事件的订阅者,当外设产生DMA数据时,经由事件总线将所述DMA数据转换为DMA事件,并将所述DMA事件发送至其订阅者——外设设备驱动,外设设备驱动就能获取到DMA事件,通过解析DMA事件能够获得DMA数据。
当DMA服务模块作为DMA事件的订阅者时,接收外设设备驱动发送的DMA待处理信息(例如,禁止DMA、使能DMA、设置DMA缓冲地址、设置DMA模式、DMA数据写入等),经由事件总线将待处理信息转换为DMA事件,并将所述DMA事件发送至所述信息订阅者的标识对应的DMA服务模块,以便由所述DMA服务模块解析所述DMA事件得到DMA控制信息,并根据所述DMA控制信息控制嵌入式处理器的DMA控制器执行相应操作,例如,控制DMA控制器执行禁止DMA、使能DMA、设置DMA缓冲地址、设置DMA模式等操作,或者将DMA控制信息中的DMA数据写入嵌入式处理器的内存中。
对于外设总线引脚复用配置操作,如图6所示,当引脚复用配置服务模块作为引脚复用配置事件的订阅者时,接收外设设备驱动发送的引脚复用配置待处理信息,例如,配置嵌入式处理器的120号引脚作为I2C总线的数据线,经由事件总线将引脚复用配置待处理信息转换为引脚复用配置事件,并将所述引脚复用配置事件发送至所述信息订阅者的标识对应的引脚复用配置服务模块,以便由所述引脚复用配置服务模块解析所述引脚复用配置事件得到引脚复用配置信息,并根据所述引脚复用配置信息控制嵌入式处理器的引脚复用配置寄存器执行相应操作,例如,将引脚复用配置信息写入嵌入式处理器的引脚复用配置寄存器中。
对于外设总线操作,如图7所示,当外设设备驱动需要获取外设总线数据时,则外设设备驱动通过设备驱动开发接口向外设驱动虚拟机注册为外设总线事件的订阅者,当外设产生外设总线数据时,经由事件总线将所述外设总线数据转换为外设总线事件,并将所述外设总线事件发送至其订阅者——外设设备驱动,外设设备驱动就能获取到外设总线事件,通过解析外设总线事件能够获得外设总线数据。
当外设总线服务模块作为外设总线事件的订阅者时,接收外设设备驱动发送的外设总线待处理信息(例如,控制信息或要写入外设的数据),经由事件总线将待处理信息转换为外设总线事件,并将所述外设总线事件发送至所述信息订阅者的标识对应的外设总线服务模块,以便由所述外设总线服务模块解析所述外设总线事件得到外设总线控制信息,并根据所述外设总线控制信息控制嵌入式处理器的外设总线控制器执行相应操作,例如,控制外设总线控制器执行相应指令,或者控制外设总线控制器执行写操作。
对于缓冲操作,如图8所示,当缓冲服务模块作为引脚复用配置事件的订阅者时,接收外设设备驱动发送的缓冲待处理信息,例如,根据需求在嵌入式操作系统中申请或释放缓冲区,经由事件总线将缓冲待处理信息转换为缓冲处理事件,并将所述缓冲处理事件发送至所述信息订阅者的标识对应的缓冲服务模块,以便由所述缓冲服务模块解析所述缓冲处理事件得到缓冲控制信息,并根据所述缓冲控制信息控制嵌入式操作系统处理缓冲区,例如,根据接收到的缓冲区申请或释放请求来在嵌入式操作系统申请或释放缓冲区。
其中,在上述中断操作、DMA操作、外设总线引脚复用配置操作、外设总线操作以及缓冲操作中,都有嵌入式操作系统中对应操作的原生设备驱动的参与,其实现嵌入式操作系统中原有的功能服务,例如,对于中断操作,通过原生设备驱动使用嵌入式操作系统机制注册硬件中断服务程序/线程,在外设产生中断信号后,嵌入式操作系统将会调用或触发原生设备驱动程序中的中断服务程序/线程;对于DMA操作,通过原生设备驱动使用嵌入式操作系统的内存管理机制分配用于DMA事务的内存,并且访问及管理嵌入式处理器的DMA控制器,发起与外设之间的DMA事务、维护DMA状态;对于外设总线引脚复用配置操作,通过原生设备驱动使用嵌入式操作系统的内存管理机制访问嵌入式处理器的引脚复用配置寄存器,维护引脚复用配置内部状态;对于外设总线操作,在嵌入式操作系统中为每一种外设总线控制器都实现一个原生设备驱动程序,例如原生I2C总线控制器设备驱动、原生SPI总线控制器设备驱动、原生SDIO总线控制器设备驱动,这些原生设备驱动利用嵌入式操作系统的内存管理机制访问外设总线控制器,并维护内部状态;对于缓冲操作,原生设备驱动的功能就是根据需求在嵌入式操作系统中申请或释放缓冲区。
通过本发明实施例中的事件总线以及外设驱动虚拟机,实现了外设设备驱动可以在不做任何修改的情况下,在不同的嵌入式操作系统以及嵌入式处理器上运行,达到软硬件解耦的目的。
相应的,图9是本发明实施例提供的一种面向嵌入式操作系统的外设驱动虚拟机的结构示意图。如图9所示,所述虚拟机90包括:信息获取模块91,用于获取待处理信息,所述待处理信息中包括信息订阅者的标识;信息传递模块92,用于根据所述标识,将所述待处理信息发送至对应的信息订阅者。
进一步地,所述待处理信息包括通信数据,所述信息订阅者为外设设备驱动,还包括:事件总线模块93,用于将所述通信数据转换为事件;所述信息传递模块还用于将所述事件发送至所述标识对应的外设设备驱动。
进一步地,还包括:订阅消息接收模块94,用于接收所述外设设备驱动发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述信息订阅者为服务模块,事件总线模块93,用于将所获取的待处理信息经由事件总线转换为事件;所述信息传递模块还用于将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。
进一步地,订阅消息接收模块94,用于接收所述服务模块发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
进一步地,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。
进一步地,所述事件为中断事件,所述信息传递模块还用于将所述中断事件发送至所述标识对应的中断服务模块,以便由所述中断服务模块解析所述中断事件得到中断控制信息,并根据所述中断控制信息控制嵌入式处理器的中断控制器执行相应操作。
进一步地,所述事件为DMA事件,所述信息传递模块还用于将所述DMA事件发送至所述标识对应的DMA服务模块,以便由所述DMA服务模块解析所述DMA事件得到DMA控制信息,并根据所述DMA控制信息控制嵌入式处理器的DMA控制器执行相应操作。
进一步地,所述事件为引脚复用配置事件,所述信息传递模块还用于将所述引脚复用配置事件发送至所述标识对应的引脚复用配置服务模块,以便所述引脚复用配置服务模块解析所述引脚复用配置事件得到引脚复用配置信息,并根据所述引脚复用配置信息控制嵌入式处理器的引脚复用配置寄存器执行相应操作。
进一步地,所述事件为外设总线事件,所述信息传递模块还用于将所述外设总线事件发送至所述标识对应的外设总线控制器服务模块,以便所述外设总线控制器服务模块解析所述外设总线事件得到外设总线控制信息,并根据所述外设总线控制信息控制嵌入式处理器的外设总线控制器执行相应操作。
进一步地,所述事件为缓冲处理事件,所述信息传递模块还用于将所述缓冲处理事件发送至所述标识对应的缓冲服务模块,以便由所述缓冲服务模块解析所述缓冲处理事件得到缓冲控制信息,并根据所述缓冲控制信息控制嵌入式操作系统处理缓冲区。
进一步地,所述缓冲控制信息包括缓冲区申请信息或缓冲区释放信息。
其中,所述虚拟机应用的所述嵌入式操作系统为Linux、Android、RT-Thread、LiteOS中的任意一者。
上述虚拟机的处理过程以及有益效果,参见上述面向嵌入式操作系统的外设驱动处理方法的实现过程以及有益效果。
相应的,本发明实施例还提供一种面向嵌入式操作系统的外设驱动处理系统,所述系统包括如上图9所述的面向嵌入式操作系统的外设驱动虚拟机、外设设备驱动模块、嵌入式操作系统、嵌入式处理器以及外设。
相应的,本发明实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的面向嵌入式操作系统的外设驱动处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (22)
1.一种面向嵌入式操作系统的外设驱动处理方法,其特征在于,包括:
获取待处理信息,所述待处理信息中包括信息订阅者的标识;
根据所述标识,将所述待处理信息发送至对应的信息订阅者。
2.根据权利要求1所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述待处理信息包括通信数据,所述信息订阅者为外设设备驱动,所述根据所述标识,将所述待处理信息发送至对应的信息订阅者包括:
经由事件总线将所述通信数据转换为事件,并将所述事件发送至所述标识对应的外设设备驱动。
3.根据权利要求2所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,在所述获取待处理信息之前,所述方法还包括:
接收所述外设设备驱动发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
4.根据权利要求1所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述信息订阅者为服务模块,所述根据所述标识,将所述待处理信息发送至对应的信息订阅者包括:
将所获取的待处理信息经由事件总线转换为事件,并将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。
5.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,在所述获取待处理信息之前,所述方法还包括:
接收所述服务模块发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
6.根据权利要求2所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。
7.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述事件为中断事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:
将所述中断事件发送至所述标识对应的中断服务模块,以便由所述中断服务模块解析所述中断事件得到中断控制信息,并根据所述中断控制信息控制嵌入式处理器的中断控制器执行相应操作。
8.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述事件为DMA事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:
将所述DMA事件发送至所述标识对应的DMA服务模块,以便由所述DMA服务模块解析所述DMA事件得到DMA控制信息,并根据所述DMA控制信息控制嵌入式处理器的DMA控制器执行相应操作。
9.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述事件为引脚复用配置事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:
将所述引脚复用配置事件发送至所述标识对应的引脚复用配置服务模块,以便所述引脚复用配置服务模块解析所述引脚复用配置事件得到引脚复用配置信息,并根据所述引脚复用配置信息控制嵌入式处理器的引脚复用配置寄存器执行相应操作。
10.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述事件为外设总线事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:
将所述外设总线事件发送至所述标识对应的外设总线控制器服务模块,以便所述外设总线控制器服务模块解析所述外设总线事件得到外设总线控制信息,并根据所述外设总线控制信息控制嵌入式处理器的外设总线控制器执行相应操作。
11.根据权利要求4所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述事件为缓冲处理事件,所述将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作包括:
将所述缓冲处理事件发送至所述标识对应的缓冲服务模块,以便由所述缓冲服务模块解析所述缓冲处理事件得到缓冲控制信息,并根据所述缓冲控制信息控制嵌入式操作系统处理缓冲区。
12.根据权利要求11所述的面向嵌入式操作系统的外设驱动处理方法,其特征在于,所述缓冲控制信息包括缓冲区申请信息或缓冲区释放信息。
13.一种面向嵌入式操作系统的外设驱动虚拟机,其特征在于,包括:
信息获取模块,用于获取待处理信息,所述待处理信息中包括信息订阅者的标识;
信息传递模块,用于根据所述标识,将所述待处理信息发送至对应的信息订阅者。
14.根据权利要求13所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,所述待处理信息包括通信数据,所述信息订阅者为外设设备驱动,还包括:
事件总线模块,用于将所述通信数据转换为事件;
所述信息传递模块还用于将所述事件发送至所述标识对应的外设设备驱动。
15.根据权利要求14所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,还包括:
订阅消息接收模块,用于接收所述外设设备驱动发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
16.根据权利要求13所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,所述信息订阅者为服务模块,还包括:
事件总线模块,用于将所获取的待处理信息经由事件总线转换为事件;
所述信息传递模块还用于将所述事件发送至所述标识对应的服务模块,以便由所述服务模块解析所述事件得到控制信息以执行相应操作。
17.根据权利要求16所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,还包括:
订阅消息接收模块,用于接收所述服务模块发送的事件订阅消息,所述事件订阅消息中包括信息订阅者的标识以及所订阅信息类型。
18.根据权利要求14所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,所述通信数据包括中断信号、DMA数据以及外设总线数据中的至少一者。
19.根据权利要求16所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,所述服务模块包括:中断服务模块、DMA服务模块、引脚复用配置服务模块、外设总线控制器服务模块以及缓冲服务模块。
20.根据权利要求13-19任一项所述的面向嵌入式操作系统的外设驱动虚拟机,其特征在于,所述虚拟机应用的所述嵌入式操作系统为Linux、Android、RT-Thread、LiteOS中的任意一者。
21.一种面向嵌入式操作系统的外设驱动处理系统,其特征在于,所述系统包括根据权利要求13-20任一项所述的面向嵌入式操作系统的外设驱动虚拟机、外设设备驱动模块、嵌入式操作系统、嵌入式处理器以及外设。
22.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1-12任一项所述的面向嵌入式操作系统的外设驱动处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155022.1A CN114116024B (zh) | 2021-09-29 | 2021-09-29 | 面向嵌入式操作系统的外设驱动处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155022.1A CN114116024B (zh) | 2021-09-29 | 2021-09-29 | 面向嵌入式操作系统的外设驱动处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116024A true CN114116024A (zh) | 2022-03-01 |
CN114116024B CN114116024B (zh) | 2024-01-30 |
Family
ID=80441512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111155022.1A Active CN114116024B (zh) | 2021-09-29 | 2021-09-29 | 面向嵌入式操作系统的外设驱动处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116024B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827168A (zh) * | 2023-02-01 | 2023-03-21 | 南京芯传汇电子科技有限公司 | 一种二进制仿真环境下虚拟机通信的优化方法 |
WO2024037417A1 (zh) * | 2022-08-16 | 2024-02-22 | 蔚来汽车科技(安徽)有限公司 | 驾驶系统及其构建方法、车辆、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887393A (zh) * | 2010-07-01 | 2010-11-17 | 中兴通讯股份有限公司 | 基于半虚拟化技术的设备故障复现方法及系统 |
CN107766141A (zh) * | 2017-11-07 | 2018-03-06 | 福建北峰通信科技股份有限公司 | 一种管理嵌入式系统gpio中断处理的方法 |
US20180091449A1 (en) * | 2016-09-26 | 2018-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Event-driven policy-based distributed container management system |
CN110430121A (zh) * | 2019-06-26 | 2019-11-08 | 口碑(上海)信息技术有限公司 | 消息通知方法及装置 |
CN110769018A (zh) * | 2018-07-27 | 2020-02-07 | 北京国双科技有限公司 | 一种消息推送方法及装置 |
CN110968586A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 分布式事务处理方法及装置 |
CN110971421A (zh) * | 2018-09-30 | 2020-04-07 | 华为技术有限公司 | 订阅更新方法、设备及系统 |
-
2021
- 2021-09-29 CN CN202111155022.1A patent/CN114116024B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887393A (zh) * | 2010-07-01 | 2010-11-17 | 中兴通讯股份有限公司 | 基于半虚拟化技术的设备故障复现方法及系统 |
US20180091449A1 (en) * | 2016-09-26 | 2018-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Event-driven policy-based distributed container management system |
CN107766141A (zh) * | 2017-11-07 | 2018-03-06 | 福建北峰通信科技股份有限公司 | 一种管理嵌入式系统gpio中断处理的方法 |
CN110769018A (zh) * | 2018-07-27 | 2020-02-07 | 北京国双科技有限公司 | 一种消息推送方法及装置 |
CN110968586A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 分布式事务处理方法及装置 |
CN110971421A (zh) * | 2018-09-30 | 2020-04-07 | 华为技术有限公司 | 订阅更新方法、设备及系统 |
CN110430121A (zh) * | 2019-06-26 | 2019-11-08 | 口碑(上海)信息技术有限公司 | 消息通知方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024037417A1 (zh) * | 2022-08-16 | 2024-02-22 | 蔚来汽车科技(安徽)有限公司 | 驾驶系统及其构建方法、车辆、存储介质 |
CN115827168A (zh) * | 2023-02-01 | 2023-03-21 | 南京芯传汇电子科技有限公司 | 一种二进制仿真环境下虚拟机通信的优化方法 |
CN115827168B (zh) * | 2023-02-01 | 2023-05-12 | 南京芯传汇电子科技有限公司 | 一种二进制仿真环境下虚拟机通信的优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114116024B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101517258B1 (ko) | 크로스-시스템의 프록시-기반 태스크 오프로딩을 위한 장치, 시스템 및 방법 | |
US20180121366A1 (en) | Read/write request processing method and apparatus | |
US10860332B2 (en) | Multicore framework for use in pre-boot environment of a system-on-chip | |
RU2532708C2 (ru) | Способ и устройство для осуществления операции ввода/вывода в среде виртуализации | |
US11042331B2 (en) | Memory device managing data in accordance with command and non-transitory computer readable recording medium | |
US11947985B2 (en) | Data processing method and apparatus, and server for ensuring consistency of data processing processes of a plurality of containers | |
CN114116024A (zh) | 面向嵌入式操作系统的外设驱动处理方法、虚拟机及系统 | |
US7558724B2 (en) | Operation region describing a virtual device | |
CN1737780A (zh) | 从一个设备驱动程序向另一个传送信息的系统和方法 | |
CN114327930A (zh) | 用于异构多核核间通信的系统架构和系统架构的运行方法 | |
US20200133878A1 (en) | Secure memory access in a virtualized computing environment | |
US20240053998A1 (en) | Method and apparatus for processing inter-core communication, and computer system | |
CN113377566B (zh) | 一种基于uefi的服务器启动方法、装置及存储介质 | |
CN114238236A (zh) | 共享文件的访问方法、电子设备及计算机可读存储介质 | |
US8732441B2 (en) | Multiprocessing system | |
JP6859463B2 (ja) | 仮想マシンを起動させるための方法、装置、デバイス及び媒体 | |
US20120179901A1 (en) | Computer apparatus | |
CN116489177A (zh) | 一种基于块存储的io访问方法、装置、电子设备及介质 | |
US11385927B2 (en) | Interrupt servicing in userspace | |
CN115202808A (zh) | 一种用于虚拟化环境中片上系统的dma方法及系统 | |
Zhang et al. | NVMe-over-RPMsg: A Virtual Storage Device Model Applied to Heterogeneous Multi-Core SoCs | |
KR102498319B1 (ko) | 반도체 장치 | |
US11983182B2 (en) | System and method to enable a data analytics in a smart data accelerator interface device | |
US20210208869A1 (en) | System and method to provide smm runtime telemetry support | |
CN114443209A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |