CN114564241B - 硬件设备的访问方法、装置、计算机设备和存储介质 - Google Patents
硬件设备的访问方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114564241B CN114564241B CN202210179501.5A CN202210179501A CN114564241B CN 114564241 B CN114564241 B CN 114564241B CN 202210179501 A CN202210179501 A CN 202210179501A CN 114564241 B CN114564241 B CN 114564241B
- Authority
- CN
- China
- Prior art keywords
- hardware device
- application program
- driver
- software layer
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 185
- 230000008569 process Effects 0.000 claims abstract description 130
- 238000004886 process control Methods 0.000 claims abstract description 81
- 230000006870 function Effects 0.000 claims description 36
- 238000012546 transfer Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005316 response function Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- 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
Abstract
本申请涉及一种硬件设备的访问方法、装置、计算机设备和存储介质,在硬件设备打开后,应用程序通过bsp软件层获取应用程序的进程信息,将进程信息通过bsp软件层传入硬件设备的驱动程序,其中,进程信息包括进程号,使得驱动程序的进程号与应用程序的进程号一致,以便驱动程序根据被传入的进程号,获取准确的进程控制信息,并基于进程控制信息成功访问硬件设备,提高访问硬件设备的准确率。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种硬件设备的访问方法、装置、计算机设备和存储介质。
背景技术
容器是云原生的主要技术之一,具有环境隔离性和可重复性。开发人员只需为系统应用创建一次运行环境,然后打包成容器便可在其他机器上运行。
对于网络通信类的软件应用来说,目前的容器技术基本可以满足其需求,但在访问硬件设备时,由于在linux系统中,当容器对应用进程进行隔离后,容器内应用程序的进程号与访问硬件设备的驱动程序的进程号不一致,致使linux系统调用驱动程序无法准确获取用于操作硬件设备的进程控制信息,导致硬件设备访问失败。
发明内容
基于此,有必要针对上述技术问题,提供一种硬件设备的访问方法、装置、计算机设备和存储介质,以提高应用程序访问硬件设备的成功率。
第一方面,提供一种硬件设备的访问方法,该访问方法应用于硬件设备的访问系统,该访问系统包括运行有应用程序的应用容器和硬件设备的驱动程序,其中,应用容器部署有板级支持包bsp软件层;该方法包括:
在硬件设备打开后,应用程序通过bsp软件层获取应用程序的进程信息;
将进程信息通过bsp软件层传入硬件设备的驱动程序,以便驱动程序根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
根据本申请实施例中一种可实现的方式,应用程序通过bsp软件层获取应用程序的进程信息,包括:
应用程序通过bsp软件层调用获取函数从操作系统获取应用程序的进程信息。
根据本申请实施例中一种可实现的方式,将进程信息通过bsp软件层传入硬件设备的驱动程序,包括:
通过bsp软件层调用传输函数将进程信息传入硬件设备的驱动程序,所述传输函数包括写函数。
根据本申请实施例中一种可实现的方式,打开硬件设备的方法,包括:
应用程序通过bsp软件层调用开启函数打开硬件设备。
第二方面,提供一种硬件设备的访问方法,该访问方法应用于硬件设备的访问系统,该访问系统包括运行有应用程序的应用容器和硬件设备的驱动程序,其中,应用容器部署有板级支持包bsp软件层;该方法包括:
硬件设备的驱动程序获取应用程序传入的应用程序的进程信息,应用程序的进程信息是应用程序在硬件设备打开后通过bsp软件层获取的;
根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
根据本申请实施例中一种可实现的方式,该方法还包括:
响应于打开硬件设备的操作命令,将进程控制块的信息设置为空值;
当获取到进程控制信息时,将进程控制块的信息更新为进程控制信息。
第三方面,提供了一种硬件设备的访问装置,应用于硬件设备的访问系统,该访问系统包括运行有应用程序的应用容器和硬件设备的驱动程序,其中,应用容器部署有板级支持包bsp软件层;该装置设置于应用容器,包括:
获取模块,用于在硬件设备打开后,通过bsp软件层获取应用程序的进程信息;
传入模块,用于将进程信息通过bsp软件层传入硬件设备的驱动程序,以便驱动程序根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
第四方面,提供了一种硬件设备的访问装置,应用于硬件设备的访问系统,该访问系统包括运行有应用程序的应用容器和硬件设备的驱动程序,其中,应用容器部署有板级支持包bsp软件层;该装置设置于驱动程序,包括:
获取模块,用于获取应用程序传入的应用程序的进程信息,应用程序的进程信息是应用程序在硬件设备打开后通过bsp软件层获取的;
访问模块,用于根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
第五方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面或者第二方面中涉及的方法。
第六方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面或者第二方面中涉及的方法。
上述硬件设备的访问方法、装置、计算机设备和存储介质,在硬件设备打开后,应用程序通过bsp软件层获取应用程序的进程信息,将进程信息通过bsp软件层传入硬件设备的驱动程序,其中,进程信息包括进程号,使得驱动程序的进程号与应用程序的进程号一致,以便驱动程序根据被传入的进程号,获取准确的进程控制信息,并基于进程控制信息成功访问硬件设备,提高访问硬件设备的准确率。
附图说明
图1为本申请一个实施例中硬件设备的访问系统的结构示意图;
图2为本申请一个实施例中硬件设备的访问方法的流程示意图;
图3为本申请另一个实施例中硬件设备的访问方法的流程示意图;
图4为本申请又一个实施例中硬件设备的访问方法的流程示意图;
图5为本申请一个实施例中硬件设备的访问装置的结构框图;
图6为本申请另一个实施例中硬件设备的访问装置的结构框图;
图7为本申请一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在linux系统中,应用程序若需要访问硬件设备,必须编写硬件驱动程序,然后通过系统调用的方式操作硬件。通常情况下在驱动程序中会根据当前进程的进程号,获取进程控制块,进程控制块包含了许多与当前进程相关的信息,驱动程序可以通过这些信息,对硬件设备进行操作。
在容器环境下,容器内应用程序的进程号往往是通过命名空间被隔离后的进程号,比如说20,其父进程的进程号为1,但是硬件驱动程序获取的进程号还是主机的进程号,如255822,根据进程号255822获取的进程控制块肯定是错误的,直接使用将会导致不可预期的错误。如果容器通过命名空间传入参数的方式访问硬件设备,将会损失在网络上的隔离性。
为了解决现有技术问题,本申请实施例提供了一种硬件设备的访问方法、装置、设备及计算机存储介质。下面首先对本申请实施例所提供的硬件设备的访问方法进行介绍。
本申请实施例提供的硬件设备的访问方法应用于如图1所示的硬件设备的访问系统100,该访问系统包括应用容器110、驱动程序120和硬件设备130,其中,应用容器110部署有bsp软件层111和应用程序112。
应用容器110为应用程序提供了运行环境,可以将多种服务进行构建和组装应用部署到不同的环境中,具有隔离性,当一种服务出现问题时仅影响该服务当前的应用进程,避免影响到其他服务。
板级支持包(Board Support Package,bsp)软件层111提供API(应用程序编程接口),API包含了许多可供调用的函数,比如说,用以打开硬件设备的开启函数,用以获取应用程序的进程号的获取函数,用以将应用程序的进程号传入驱动程序的传输函数等。应用程序112通过bsp软件层111调用相关函数打开硬件设备,获取应用程序的进程号并将应用程序的进程号传入驱动程序120。驱动程序120根据被传入的进程号获取进程控制块,进程控制块包含了许多与当前进程相关的信息,驱动程序120可以通过这些信息,对硬件设备130进行操作。
图2示出了本申请一个实施例提供的硬件设备的访问方法的流程示意图。该方法可以由图1所示系统中的应用程序112执行。如图2所示,该方法可以包括以下步骤:
S210,在硬件设备打开后,应用程序通过bsp软件层获取应用程序的进程信息。
进程信息包括进程名称,运行时间,进程号等,其中,进程号是大多数操作系统的内核用于唯一标识进程的数值,这一数值可以作为许多函数调用的参数,用于调整进程的控制行为。
bsp软件层111提供API,通过API向上对应用程序提供统一访问硬件设备的接口,向下与驱动程序120相互配合使得驱动程序120获取正确的进程控制块。
在硬件设备打开后,应用程序通过bsp软件层提供的API获取应用程序的进程号,为后续访问硬件设备提供信息基础。
S220,将进程信息通过bsp软件层传入硬件设备的驱动程序,以便驱动程序根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
在本申请实施例中,可以预先定义应用程序112和驱动程序120之间的进程号私有命令,例如CMD_SET_HOSTPID。私有命令为应用程序112和驱动程序120之间通信的约定,约定内容包括传输数据格式、数据长度等,比如说,私有命令的传输数据格式可以设置为数据头为序号,数据尾为进程号。可以根据私有命令CMD_SET_HOSTPID将进程号通过bsp软件层提供的API传入驱动程序,以便驱动程序根据被传入的进程号获取进程控制信息,并基于进程控制信息成功访问硬件设备。
在本申请实施例中,在硬件设备打开后,应用程序通过bsp软件层获取应用程序的进程号,将进程号通过bsp软件层传入硬件设备的驱动程序,使得驱动程序的进程号与应用程序的进程号一致,以便驱动程序根据被传入的进程号,获取准确的进程控制信息,并基于进程控制信息成功访问硬件设备,在保证容器隔离性的情况下,实现有效访问硬件设备。
下面对上述流程中的各步骤进行详细描述。首先结合实施例对上述步骤S210进行详细描述。
作为一种可实现的方式,成功打开硬件设备后,应用程序通过bsp软件层调用获取函数从操作系统获取所述应用程序的进程信息。
例如,bsp软件层提供的API包括获取函数getpid(),通过调用getpid(),从操作系统得到函数的返回值,即进程号。
获取进程号后,在S220中通过bsp软件层调用传输函数将进程号传入所述硬件设备的驱动程序。
例如,bsp软件层提供的API包括传输函数,其中,传输函数可以是诸如write()写函数等。当应用程序112获取到进程号时,以私有命令的数据格式打包进程号,得到命令信息,调用write()将命令信息传入驱动程序,在保证容器隔离性的同时,使得应用程序和驱动程序中的进程号保持一致。
另外,在上述步骤210之前,应用程序可以通过调用bsp软件层中提供的打开函数,例如device_open()打开硬件设备,使得硬件设备启动。
图3示出了本申请一个实施例提供的硬件设备的访问方法的流程示意图。该方法可以由图1所示系统中的驱动程序120执行。如图3所示,该方法可以包括以下步骤:
S310,硬件设备的驱动程序获取应用程序传入的应用程序的进程信息,应用程序的进程信息是应用程序在硬件设备打开后通过bsp软件层获取的。
为接收应用程序传入的进程号,在驱动程序中增加传输函数的响应函数,在接收到命令信息后,调用响应函数获取命令信息中携带的进程号。
S320,根据被传入的进程信息,获取进程控制信息并基于进程控制信息访问硬件设备。
进程控制信息包括进程状态信息、存储器管理信息、会计信息、指令地址信息等,用来记录进程的外部特征,描述进程的运动变化过程,操作系统可以利用进程控制信息来控制和管理进程。
驱动程序以被传入的进程号为调用参数,通过调用函数获取进程控制信息。上述的调用函数可以为诸如:pid_task(find_vpid(pid),PIDTYPE_PID),其中,find_vpid()为进程控制块获取函数,PIDTYPE_PID指示进程号类型。以应用程序的进程号作为获取进程控制信息的调用参数,保证应用程序的进程号和驱动程序用于获取进程控制信息的进程号的一致性,能够获取正确的进程控制信息,进而有效访问硬件设备。
在本申请实施例中,硬件设备的驱动程序获取应用程序传入的应用程序的进程号,使得驱动程序获取的进程号为应用程序的进程号,根据应用程序的进程号,获取进程控制信息,得到正确的进程控制信息,以提高访问硬件设备的准确率。
为避免驱动程序对硬件设备的错误操作,需保证用于访问硬件设备的进程控制信息为根据应用程序的进程号获取的进程控制信息,在打开硬件设备前,修改驱动程序中打开硬件设备的响应函数,将进程控制块设置为空值(NULL)。
作为一种可实现的方式,驱动程序响应于打开硬件设备的操作命令,将进程控制块的信息设置为空值,当获取到进程控制信息时,将进程控制块的信息更新为进程控制信息。
操作命令为打开硬件设备的开启函数,当应用程序调用开启函数启动硬件设备时,对应地,驱动程序调动修改后的响应函数,将进程控制块的信息设置为空值,确保驱动程序访问硬件设备的进程控制块里不包含其他进程的相关信息。
当驱动程序获取到进程控制信息时,将进程控制块的信息更新为进程控制信息,以便驱动程序根据进程控制块访问硬件设备。
以上方法也适用于非容器环境,其使用方法与在容器环境中的使用方法相同,此处不再赘述。
结合上述实施例中的实现方式,下面结合图4对本申请实施例提供的一优选的方法流程进行举例描述。如图4所示,该方法可以包括以下步骤:
S410,应用程序调用device_open()函数打开硬件设备。
S420,硬件设备被成功打开。
S430,驱动程序将进程控制块的信息设置为空值。
S440,应用程序调用getpid()函数获取应用程序的进程号。
S450,应用程序调用write()函数将进程号传入硬件设备的驱动程序。
S460,驱动程序获取应用程序传入的应用程序的进程号。
S470,驱动程序根据被传入的进程号,获取进程控制信息。
驱动程序以被传入的进程号为调用参数,可以通过调用pid_task(find_vpid(pid),PIDTYPE_PID)函数获取进程控制信息,其中,find_vpid()为进程控制块获取函数,PIDTYPE_PID指示进程号类型。
S480,驱动程序将所述进程控制块的信息更新为所述进程控制信息。
S490,驱动程序基于进程控制信息访问硬件设备。
S4100,硬件设备被成功访问。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,如图5所示,提供了一种硬件设备的访问装置500,该装置可以设置于如图1所示系统中的应用程序112,可以包括:获取模块510和传入模块520,其中:
获取模块510,用于在硬件设备打开后,通过所述bsp软件层获取所述应用程序的进程信息;
传入模块520,用于将所述进程信息通过所述bsp软件层传入所述硬件设备的驱动程序,以便所述驱动程序根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
在本申请实施例中,能够使驱动程序的进程信息与应用程序的进程信息保持一致,在保证容器隔离性的情况下,实现有效访问硬件设备。
在一些实施例中,获取模块510,具体用于所述应用程序通过所述bsp软件层调用获取函数获取所述应用程序的进程信息。
在一些实施例中,传入模块520,具体用于通过所述bsp软件层调用传输函数将所述进程信息写入所述操作系统的驱动程序。
在一些实施例中,该装置还包括:启动装置,用于通过所述bsp软件层调用开启函数启动硬件设备。
在一些实施例中,如图6所示,提供了一种硬件设备的访问装置600,该装置可以设置于如图1所示系统中的驱动程序120。可以包括:获取模块610和访问模块620,其中:
获取模块610,用于获取所述应用程序传入的所述应用程序的进程信息,所述应用程序的进程信息是所述应用程序在硬件设备打开后通过所述bsp软件层获取的;
访问模块620,用于根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
在本申请实施例中,根据应用程序的进程信息,获取进程控制信息,得到正确的进程控制信息,以提高访问硬件设备的准确性。
在一些实施例中,该装置还包括更新模块,用于响应于打开硬件设备的操作命令,将进程控制块的信息设置为空值;
当获取到进程控制信息时,将所述进程控制块的信息更新为所述进程控制信息。
关于硬件设备的访问装置500的具体限定可以参见上文中对于硬件设备的访问方法S210-S220的限定,硬件设备的访问装置600的具体限定可以参见上文中对于硬件设备的访问方法S310-S320的限定在此不再赘述。上述硬件设备的访问装置500和硬件设备的访问装置600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图7所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图7所示,设备700包括计算单元701、ROM 702、RAM 703、总线704以及输入/输出(I/O)接口705,计算单元701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
计算单元701可以根据存储在只读存储器(ROM)702中的计算机指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元708。
RAM 703还可存储设备700操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元709而被载入和/或安装到设备700上。
设备700中的输入单元706、输出单元707、存储单元708和通信单元709可以连接至I/O接口705。其中,输入单元706可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元707可以是诸如显示器、扬声器、指示灯等。设备700能够通过通信单元709与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元701,使得计算机指令当由诸如处理器等计算单元701执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种硬件设备的访问方法,其特征在于,所述访问方法应用于硬件设备的访问系统,所述访问系统包括所述硬件设备、运行有应用程序的应用容器和所述硬件设备的驱动程序,其中,所述应用容器部署有板级支持包bsp软件层和所述应用程序;所述方法包括:
在硬件设备打开后,所述应用程序通过所述bsp软件层获取所述应用程序的进程信息;
将所述进程信息通过所述bsp软件层传入所述硬件设备的驱动程序,以便所述驱动程序根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
2.根据权利要求1所述的方法,其特征在于,所述应用程序通过所述bsp软件层获取所述应用程序的进程信息,包括:
所述应用程序通过所述bsp软件层调用获取函数从操作系统获取所述应用程序的进程信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述进程信息通过所述bsp软件层传入所述硬件设备的驱动程序,包括:
通过所述bsp软件层调用传输函数将所述进程信息传入所述硬件设备的驱动程序,所述传输函数包括写函数。
4.根据权利要求1所述的方法,其特征在于,打开所述硬件设备的方法,包括:
所述应用程序通过所述bsp软件层调用开启函数打开硬件设备。
5.一种硬件设备的访问方法,其特征在于,所述访问方法应用于硬件设备的访问系统,所述访问系统包括所述硬件设备、运行有应用程序的应用容器和所述硬件设备的驱动程序,其中,所述应用容器部署有板级支持包bsp软件层和所述应用程序;所述方法包括:
所述硬件设备的驱动程序获取所述应用程序通过所述bsp软件层传入的所述应用程序的进程信息,所述应用程序的进程信息是所述应用程序在硬件设备打开后通过所述bsp软件层获取的;
所述驱动程序根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于打开硬件设备的操作命令,将进程控制块的信息设置为空值;
当获取到进程控制信息时,将所述进程控制块的信息更新为所述进程控制信息。
7.一种硬件设备的访问装置,其特征在于,应用于硬件设备的访问系统,所述访问系统包括所述硬件设备、运行有应用程序的应用容器和所述硬件设备的驱动程序,其中,所述应用容器部署有板级支持包bsp软件层和所述应用程序;所述装置设置于所述应用容器,包括:
获取模块,用于在硬件设备打开后,通过所述bsp软件层获取所述应用程序的进程信息;
传入模块,用于将所述进程信息通过所述bsp软件层传入所述硬件设备的驱动程序,以便所述驱动程序根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
8.一种硬件设备的访问装置,其特征在于,应用于硬件设备的访问系统,所述访问系统包括所述硬件设备、运行有应用程序的应用容器和所述硬件设备的驱动程序,其中,所述应用容器部署有板级支持包bsp软件层和所述应用程序;所述装置设置于所述驱动程序,包括:
获取模块,用于获取所述应用程序通过所述bsp软件层传入的所述应用程序的进程信息,所述应用程序的进程信息是所述应用程序在硬件设备打开后通过所述bsp软件层获取的;
访问模块,用于根据被传入的进程信息,获取进程控制信息并基于所述进程控制信息访问所述硬件设备。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210179501.5A CN114564241B (zh) | 2022-02-25 | 2022-02-25 | 硬件设备的访问方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210179501.5A CN114564241B (zh) | 2022-02-25 | 2022-02-25 | 硬件设备的访问方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114564241A CN114564241A (zh) | 2022-05-31 |
CN114564241B true CN114564241B (zh) | 2023-07-25 |
Family
ID=81714842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210179501.5A Active CN114564241B (zh) | 2022-02-25 | 2022-02-25 | 硬件设备的访问方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564241B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688187B (zh) * | 2023-01-04 | 2023-03-21 | 中科方德软件有限公司 | 硬链接数据的安全管理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416511A (zh) * | 2016-06-13 | 2021-02-26 | 华为技术有限公司 | 用于虚拟硬件控制的系统和方法 |
CN113268447A (zh) * | 2021-06-10 | 2021-08-17 | 海光信息技术股份有限公司 | 计算机架构及其内的访问控制、数据交互及安全启动方法 |
-
2022
- 2022-02-25 CN CN202210179501.5A patent/CN114564241B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416511A (zh) * | 2016-06-13 | 2021-02-26 | 华为技术有限公司 | 用于虚拟硬件控制的系统和方法 |
CN113268447A (zh) * | 2021-06-10 | 2021-08-17 | 海光信息技术股份有限公司 | 计算机架构及其内的访问控制、数据交互及安全启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114564241A (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019298B2 (en) | Middleware interface and middleware interface generator | |
US20070239965A1 (en) | Inter-partition communication | |
US20120227057A1 (en) | Driver Shimming | |
CN112930530B (zh) | 用于网络应用程序执行的客户端应用程序 | |
CN114564241B (zh) | 硬件设备的访问方法、装置、计算机设备和存储介质 | |
CN112698888A (zh) | 应用程序的组件化、组件调用和组件初始化方法及其装置 | |
CN110837446A (zh) | 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备 | |
CN112486807A (zh) | 一种压力测试方法、装置、电子设备和可读存储介质 | |
CN110609680A (zh) | 基于Spring拦截器的参数传递方法、装置、存储介质及设备 | |
CN112506781B (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN115629795A (zh) | 一种可执行文件的配置方法、装置及电子设备 | |
CN115633073A (zh) | 微服务调用方法、电子设备、系统及可读存储介质 | |
CN111459564B (zh) | boot阶段初始化兼容的实现方法、系统及计算机设备 | |
US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
CN114281818A (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN113791870A (zh) | 一种WebAssembly虚拟机分布式系统细粒度迁移方法及系统 | |
CN113961366A (zh) | 操作系统的内核函数调用方法及计算机设备 | |
CN112860595A (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
US20040216140A1 (en) | Method and system for accessing system operations through an interface layer | |
CN109901826B (zh) | 用于Java程序的数据处理方法、装置和电子设备 | |
CN114138507B (zh) | Python程序服务化方法、装置及计算机可读存储介质 | |
EP4191407A1 (en) | Method and device for generating and registering ui service package and loading ui service | |
CN117785489B (zh) | 一种服务器及一种任务执行方法、装置和存储介质 | |
CN111459570B (zh) | Pdf插件加载方法、电子设备和计算机存储介质 | |
US20230266879A1 (en) | System, method and computer-readable storage medium for direct memory accesses |
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 |