CN113741856A - 驱动绑定方法、装置、电子设备及存储介质 - Google Patents
驱动绑定方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113741856A CN113741856A CN202110855343.6A CN202110855343A CN113741856A CN 113741856 A CN113741856 A CN 113741856A CN 202110855343 A CN202110855343 A CN 202110855343A CN 113741856 A CN113741856 A CN 113741856A
- Authority
- CN
- China
- Prior art keywords
- codec
- audio processing
- driver
- target
- identifier
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 177
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- 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
Abstract
本申请涉及一种驱动绑定方法、装置、电子设备及存储介质。该驱动绑定方法包括:获取与音频处理设备连接的目标编译码器的驱动信息;根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。提高音频处理设备对应的驱动的兼容性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种驱动绑定方法、装置、电子设备及存储介质。
背景技术
高级Linux声音架构(Advanced Linux Sound Architecture,ALSA)在Linux操作系统上提供了音频和音乐设备数字化接口(Musical Instrument Digital Interface,MIDI)的支持。嵌入式Linux音频子系统(ALSA System on Chip,ASOC)是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频编译码器(Codec)的一套软件体系,其包含三个模块:平台(Platform)、机器(Machine)以及Codec。Machine是指某一款机器,可以是某款设备,某款开发板,又或者是某款智能手机,Machine为CPU、Codec、输入输出设备提供了一个载体。Machine驱动负责处理机器特有的一些控件和音频事件,单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结合在一起才能完成整个设备的音频处理工作。
目前嵌入式linux系统使用的Codec驱动绑定方法是在Machine代码中绑定特定的Codec驱动。默认情况下,一个Machine驱动只能运行一个特定的Codec驱动,如果更换其他的Codec驱动,必须更改Machine驱动的代码,缺乏兼容性。
发明内容
鉴于上述现有技术的不足,本申请的目的在于提供一种驱动绑定方法、装置、电子设备及存储介质,旨在解决Machine驱动缺乏兼容性的问题。
第一方面,本申请实施例提供一种驱动绑定方法,包括:
获取与音频处理设备连接的目标编译码器的驱动信息;
根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。
在本申请实施例中,首先获取与音频处理设备连接的目标编译码器的驱动信息,再根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
在第一方面的一种实施方式中,所述获取与音频处理设备连接的目标编译码器的驱动信息,包括:
从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息;所述数据集中包括一个或一个以上编译码器的驱动信息。
在本申请实施例中,从音频处理设备的数据集中读取与音频处理设备连接的编译码器的驱动信息,绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器的驱动,完成编译码器驱动的绑定。在更换编译码器驱动时,只需要修改音频处理设备的数据集中编译码器的驱动信息,无需对音频处理设备对应的驱动的代码进行修改,提高了音频处理设备对应的驱动的兼容性和可移植性。
在一种可能的实施方式中,所述从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息之前,所述方法还包括:
从所述数据集中读取第一编译码器的第一标识;所述第一编译码器为所述一个或一个以上编译码器中的任一个;
从所述第一编译码器对应的目标寄存器中读取第二标识;
在所述第一标识与所述第二标识相同的情况下,将所述第一编译码器确定为所述目标编译码器。
在本申请实施例中,从数据集中读取第一编译码器的第一标识,从与第一编译码器对应的目标寄存器中读取第二标识,在第一标识和第二标识相同的情况下,说明确定第一编译码器在硬件上与音频处理设备连接,将第一编译码器确定为目标编译码器,以绑定音频处理设备对应的驱动和第一编译码器对应的驱动。利用数据集中存储的第一编译码器的信息绑定音频处理设备对应的驱动和第一编译码器对应的驱动,对于单个编译码器来说,只需要将编译码器的硬件信息和驱动信息添加到数据集中,就可以实现编译码器对应的驱动的动态绑定,方便编译码器驱动的更换和修改。
在一种可能实施方式中,所述从所述第一编译码器对应的目标寄存器中读取第二标识,包括:
通过I2C总线从所述第一编译码器对应的目标寄存器中读取所述第二标识。
在本申请实施例中,通过I2C总线从第一编译码器对应额目标寄存器中读取第二标识,只需要两根线即可实现音频处理设备与第一编译码器之间的数据传输,节约成本。
在第一方面的一种实施方式中,所述驱动信息包括所述目标编译码器的驱动标识;所述根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动,包括:
根据所述驱动标识确定所述目标编译码器对应的驱动;
将所述音频处理设备对应的驱动和所述目标编译码器对应的驱动绑定。
在第一方面的一种实施方式中,所述将所述音频处理设备对应的驱动和所述目标编译码器对应的驱动绑定,包括:
将所述驱动标识赋值给所述音频处理设备对应的驱动中的连接结构的配置字段。
在本申请实施例中,通过音频处理设备对应的驱动中的连接结构描述音频处理设备驱动和编译码器驱动的绑定关系。只需将从数据集中读取目标编译码器的驱动标识赋值给音频处理设备对应的驱动中的连接结构的配置字段中,即可完成音频处理设备对应的驱动和目标编译码器对应的驱动的绑定,提高绑定效率。
第二方面,本申请实施例提供一种驱动绑定装置,包括:
获取单元,用于获取与音频处理设备连接的目标编译码器的驱动信息;
绑定单元,用于根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。
在第二方面的一种实施方式中,所述获取单元具体用于从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息;所述数据集中包括一个或一个以上编译码器的驱动信息。
在第二方面的一种实施方式中,所述驱动绑定装置还包括:
第一读取单元,用于从所述数据集中读取第一编译码器的第一标识;所述第一编译码器为所述一个或一个以上编译码器中的任一个;
第二读取单元,用于从所述第一编译码器对应的目标寄存器中读取第二标识;
第一确定单元,用于在所述第一标识与所述第二标识相同的情况下,将所述第一编译码器确定为所述目标编译码器。
在第二方面的一种实施方式中,所述第二读取单元具体用于通过I2C总线从所述第一编译码器对应的目标寄存器中读取所述第二标识。
在第二方面的一种实施方式中,所述驱动信息包括所述目标编译码器的驱动标识,所述绑定单元具体用于根据所述驱动标识确定所述目标编译码器对应的驱动;将所述音频处理设备对应的驱动和所述目标编译码器对应的驱动绑定。
在第二方面的一种实施方式中,所述绑定单元具体用于将所述驱动标识赋值给所述音频处理设备对应的驱动中的连接结构的配置字段。
在本申请实施例中,提供的装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。
第三方面,本申请实施例提供了一种电子设备,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面中所描述的部分或全部步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如本申请实施例第一方面中所描述的部分或全部步骤。
在本申请实施例中,从音频处理设备的数据集中读取与音频处理设备连接的编译码器的驱动标识,绑定音频处理设备对应的驱动标识和与音频处理设备连接的编译码器的驱动标识,完成编译码器驱动的绑定。在更换编译码器驱动时,只需要修改音频处理设备的数据集中编译码器的驱动标识,无需对音频处理设备驱动的代码进行修改,提高了音频处理设驱动的兼容性和可移植性。
附图说明
图1为本申请实施例提供的一种ASOC的架构图;
图2为本申请实施例提供的一种驱动绑定方法的流程示意图;
图3为本申请实施例提供的又一种驱动绑定方法的流程示意图;
图4为本申请实施例提供的一种驱动绑定装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。
本申请提供了一种驱动绑定方法,为了更清楚地描述本申请的方案,下面先介绍一些与音频处理相关的知识。
高级Linux声音架构(Advanced Linux Sound Architecture,ALSA):在Linux操作系统上提供了音频和音乐设备数字化接口(Musical Instrument Digital Interface,MIDI)的支持。
嵌入式Linux音频子系统(ALSASystem on Chip,ASOC):是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频编译码器(Audio Codec)的一套软件体系。
I2C总线:是由Philips公司开发的一种简单、双向二线制同步串行总线。通过串行数据线和串行时钟线实现连接于总线上的器件之间的信息传送。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件,在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件,然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
ASOC的架构如图1所示,ASOC包含三个模块:平台(Platform)、机器(Machine)以及Codec。Machine是指某一款机器,可以是某款设备,某款开发板,又或者是某款智能手机,Machine为中央处理器(Central Processing Unit,CPU)、Codec、输入输出设备提供了一个载体。Machine驱动负责处理机器特有的一些控件和音频事件。Platform一般是指某一个系统级芯片(System on Chip,SoC)平台,与音频相关的通常包含该SoC中的时钟、直接存储器访问(Direct Memory Access,DMA)通道、集成电路内置音频总线(Inter—IC Sound,I2S)、脉冲编码调制(Pulse Code Modulation,PCM)接口等等。Platform驱动包含了该SoC平台的音频DMA和音频接口的配置和控制(I2S,PCM等等)。Codec就是编译码器,里面包含了I2S接口、数模转换器、模拟数字转换器、混音器、功率放大器,通常还包含多种输入和多个输出。Codec驱动包含了一些音频的控件、音频接口、动态音频电源管理的定义和Codec的输入输出功能。单独的Platform和Codec驱动是不能工作的,必须由Machine驱动把它们结合在一起才能完成整个设备的音频处理工作。
默认情况下,一个Machine驱动只能运行一个特定的Codec驱动,如果更换其他的Codec驱动,必须更改Machine驱动的代码,例如:硬件A使用的Codec是MAX9867,硬件B使用的Codec是NAU88U10,要驱动硬件A和硬件B则需要编译两个版本的Machine驱动来运行不同的Codec驱动,缺乏兼容性和灵活性,也不方便维护。
基于此,本申请希望提供一种能够解决上述技术问题的方案,其详细内容将在后续实施例中得以阐述。
请参阅图2,图2为本申请实施例提供的一种驱动绑定方法的流程示意图。如图2所示,该驱动绑定方法包括如下步骤。
201,获取与音频处理设备连接的目标编译码器的驱动信息。
电子设备获取与音频处理设备连接的目标编译码器的驱动信息,目标编译码器为在硬件上与该音频处理设备连接的编译码器。电子设备获取目标编译码器的驱动信息,以根据驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。
进一步的,可以从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息。上述音频处理设备的数据集中包括一个或一个以上编译码器的驱动信息,上述一个或一个以上编译码器包括上述目标编译码器。上述数据集具体可以为结构体数组,用来保存不同的编译码器的硬件信息。结构体数组中的每个结构体保存一个编译码器的硬件信息,编译码器的硬件信息可以包括编译码器的总线信息、设备地址、寄存器地址以及驱动信息。
在本申请实施例中,预先将可以和上述音频处理设备连接的编译码器的硬件信息保存到数据集中,在绑定音频处理设备对应的驱动和编译码器的驱动时,从数据集中获取与该音频处理设备连接的目标编译码器的驱动信息,以绑定音频处理设备对应的驱动和目标编译码器对应的驱动,使得音频处理设备能够驱动目标编译码器。
在本申请实施例中,从音频处理设备的数据集中读取与音频处理设备连接的编译码器的驱动信息,绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器的驱动,完成编译码器驱动的绑定。在更换编译码器驱动时,只需要修改音频处理设备的数据集中编译码器的驱动信息,无需对音频处理设备对应的驱动的代码进行修改,提高了音频处理设备对应的驱动的兼容性和可移植性。
在一种实施方式中,上述从音频处理设备的数据集中读取与上述音频处理设备连接的上述目标编译码器的驱动信息之前,上述驱动绑定方法还可以包括如下步骤:
(11)从上述数据集中读取第一编译码器的第一标识;上述第一编译码器为上述一个或一个以上编译码器中的任一个;
(12)从上述第一编译码器对应的目标寄存器中读取第二标识;
(13)在上述第一标识与上述第二标识相同的情况下,将所述第一编译码器确定为所述目标编译码器。
具体的,上述第一编译码器为上述一个或一个以上编译码器中的任一个,第一标识用于对第一编译码器的身份进行验证。在数据集中预先保存第一编译码器的第一标识以对第一编译码器进行验证。在驱动绑定过程中,从数据集中获取第一编译码器的第一标识,从第一编译码器对应的目标寄存器中读取第二标识。在第一标识和第二标识相同的情况下,说明第一编译码器在硬件上与音频处理设备连接,则将第一编译码器确定为目标编译码器。
进一步的,可以从上述数据集中获取第一编译码器的总线信息、设备地址和寄存器地址,总线信息用于指示第一编译码器所挂载的I2C总线。从数据集中获取第一编译码器的总线信息、设备地址以及寄存器地址,由第一编译码器的总线信息、设备地址以及寄存器地址确定第一编译码器对应的目标寄存器,通过I2C总线从目标寄存器中读取第二标识。具体为,利用总线信息获取对应的I2C控制器,再利用设备地址和寄存器地址填充I2C信息传输结构体,然后调用Linux接口函数实现I2C总线上的数据传输,从目标寄存器中读取到第二标识。将从寄存器中读取到的第二标识与从数据集中读取到的第一标识进行比较,若第一标识与第二标识相同,则说明第一编译码器在硬件上与音频处理设备连接,将第一编译码器确定为目标编译码器。第二标识可以为目标寄存器的值,即通过I2C总线获取目标寄存器的值,得到第二标识。
在本申请实施例中,通过I2C总线从第一编译码器对应额目标寄存器中读取第二标识,只需要两根线即可实现音频处理设备与第一编译码器之间的数据传输,节约成本。
202,根据上述驱动信息绑定音频处理设备对应的驱动和所述目标编译码器对应的驱动。
电子设备获取到与音频处理设备连接的目标编译码器的驱动信息后,根据获取到的驱动信息绑定音频处理设备对应驱动和目标编译码器对应的驱动。
具体的,上述驱动信息包括驱动标识,电子设备根据目标编译码器的驱动标识驱动目标编译码器对应的驱动,将音频处理设备对应的驱动和目标编译码器对应的驱动绑定。
在本申请实施例中,首先获取与音频处理设备连接的目标编译码器的驱动信息,再根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
在一种实施方式中,上述将音频处理设备对应的驱动和目标编译码器对应的驱动绑定,可以包括如下步骤:
将所述驱动标识赋值给所述音频处理设备对应的驱动中的连接结构的配置字段。
具体的,上述音频处理设备对应的驱动中包括连接结构,该连接结构用于描述音频处理设备对应的驱动与目标编译码器对应的驱动的连接关系。从数据集中读取目标编译码器的驱动标识,根据该驱动标识确定目标编译码器对应的驱动,并将目标编译码器的驱动标识赋值给音频处理设备对应的驱动中的连接结构对应的配置字段中,完成音频处理设备对应的驱动和编译码器的驱动的绑定。
上述数据集中还包括目标编译码器的数字音频接口标识,从数据集中读取目标编译码器的驱动标识的同时还可以从数据集中读取目标编译码器的数字音频接口标识,并将该数字音频接口标水赋值给音频处理设备对应的驱动中的链接结构对应的配置字段中。
上述音频处理设备和编译码器具体可以为ASOC中的Machine和Codec,Machine驱动负责绑定Platform驱动和Codec驱动,进行声卡设备的注册。当Machine驱动和对应的Machine设备匹配上之后,启动Machine驱动初始化程序,以绑定Codec驱动。从数据集中获取Codec的第一标识、总线信息、设备地址以及寄存器地址,利用Codec的总线信息、设备地址以及寄存器地址从Codec对应的目标寄存器中读取第二标识。再将第一标识与第二标识进行比较,在第一标识与第二标识相同的情况下,确定Codec在硬件上与Machine连接,从数据集中获取Codec的驱动标识和数字音频接口标识,分别将Codec的驱动标识和数字音频接口标识赋值给Machine驱动中的连接结构snd_soc_dai_link中对应的配置字段中,完成Codec驱动的绑定。
在本申请实施例中,通过音频处理设备对应的驱动中的连接结构描述音频处理设备驱动和编译码器驱动的绑定关系。只需将从数据集中读取目标编译码器的驱动标识赋值给音频处理设备对应的驱动中的连接结构的配置字段中,即可完成音频处理设备对应的驱动和目标编译码器对应的驱动的绑定,提高驱动绑定的效率。
在本申请实施例中,首先获取与音频处理设备连接的目标编译码器的驱动信息,再根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
请参阅图3,图3为本申请实施例提供的又一种驱动绑定方法的流程示意图。如图3所示,该驱动绑定方法包括如下步骤。
301,从音频处理设备的数据集中读取第一编译码器的第一标识。
具体的,上述音频处理设备的数据集中包括多个编译码器的硬件信息,上述第一编译码器为多个编译码器中的任一个,上述硬件信息包括第一标识。第一标识用于对第一编译码器的身份进行验证,第一标识可以具体为第一编译码器的寄存器的值。因为音频处理设备的数据集中包括一个或一个以上编译码器的硬件信息,且需要需要绑定数据集中保存的硬件信息对应的每一个编译码器对应的驱动和音频处理设备对应的驱动,为了使说明更为方便简洁,本申请实施例将从数据集保存的硬件信息对应的多个编译码器中随机抽取一个编译码器作为第一编译码器,后续以绑定第一编译码器对应的驱动为例进行说明,其中,该第一编译码器是数据集保存的硬件信息对应的多个编译码器中的任一个。
302,从第一编译码器对应的寄存器中读取第二标识。
具体的,上述硬件信息还包括总线信息、设备地址和寄存器地址。从数据集中读取第一编译码器的总线信息、设备地址和寄存器地址,根据总线信息、设备地址和寄存器地址从第一编译码器对应的寄存器中读取第二标识,第二标识可以具体为第一编译码器对应的寄存器的值。
303,在第一标识和第二标识相同的情况下,确定第一编译码器与音频处理设备连接。
具体的,在第一标识和第二标识相同的情况下,说明数据集所描述的第一编译码器与硬件上连接的编译码器相同,则确定第一编译码器在硬件上与音频处理设备连接。
在第一标识和第二标识不相同的情况下,说明数据集所描述的第一编译码器与硬件上连接的编译码器不相同,则确定第一编译码器在硬件上不与音频处理设备连接,不绑定第一编译码器对应的驱动和音频处理设备对应的驱动。从数据集中读取第二编译码器的第一标识,以绑定第二编译码器对应的驱动和音频处理设备对应的驱动,第二编译码器为数据集保存的硬件信息对应的多个编译码器中除了第一编译码器外的任一个。
304,从数据集中获取第一编译码器的驱动信息。
305,根据驱动信息绑定音频处理设备对应的驱动和第一编译码器对应的驱动。
其中,上述步骤304和步骤305的具体描述可以参照上述图2所描述的驱动绑定方法的相应步骤,在此不再赘述。
在本申请实施例中,从数据集中读取第一编译码器的第一标识,从与第一编译码器对应的目标寄存器中读取第二标识,在第一标识和第二标识相同的情况下,确定第一编译码器在硬件上与音频处理设备连接,绑定音频处理设备对应的驱动和第一编译码器对应的驱动。利用数据集中存储的第一编译码器的信息绑定音频处理设备对应的驱动和第一编译码器对应的驱动,对于单个编译码器来说,只需要将编译码器的硬件信息和驱动信息添加到数据集中,就可以实现编译码器对应的驱动的动态绑定,方便编译码器驱动的更换和修改。
请参阅图4,图4为本申请实施例提供的一种驱动绑定装置的结构示意图。如图4所示,该驱动绑定装置40包括获取单元401和绑定单元402。
上述获取单元401用于获取与音频处理设备连接的目标编译码器的驱动信息。
上述绑定单元402用于根据上述驱动信息绑定上述音频处理设备对应的驱动和上述目标编译码器对应的驱动。
在本申请实施例中,首先获取与音频处理设备连接的目标编译码器的驱动信息,再根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
在一种实施方式中,上述获取单元401具体用于从上述音频处理设备的数据集中读取与上述音频处理设备连接的上述目标编译码器的驱动信息;上述数据集中包括一个或一个以上编译码器的驱动信息。
在本申请实施例中,从音频处理设备的数据集中读取与音频处理设备连接的编译码器的驱动信息,绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器的驱动,完成编译码器驱动的绑定。在更换编译码器驱动时,只需要修改音频处理设备的数据集中编译码器的驱动信息,无需对音频处理设备对应的驱动的代码进行修改,提高了音频处理设备对应的驱动的兼容性和可移植性。
在一种实施方式中,上述驱动绑定装置40还包括:
第一读取单元403,用于从上述数据集中读取第一编译码器的第一标识;上述第一编译码器为上述一个或一个以上编译码器中的任一个;
第二读取单元404,用于从上述第一编译码器对应的目标寄存器中读取第二标识;
第一确定单元405,用于在上述第一标识与上述第二标识相同的情况下,将上述第一编译码器确定为上述目标编译码器。
在本申请实施例中,从数据集中读取第一编译码器的第一标识,从与第一编译码器对应的目标寄存器中读取第二标识,在第一标识和第二标识相同的情况下,说明确定第一编译码器在硬件上与音频处理设备连接,将第一编译码器确定为目标编译码器,以绑定音频处理设备对应的驱动和第一编译码器对应的驱动。利用数据集中存储的第一编译码器的信息绑定音频处理设备对应的驱动和第一编译码器对应的驱动,对于单个编译码器来说,只需要将编译码器的硬件信息和驱动信息添加到数据集中,就可以实现编译码器对应的驱动的动态绑定,方便编译码器驱动的更换和修改。
在一种实施方式中,上述第二读取单元404具体用于通过I2C总线从上述第一编译码器对应的目标寄存器中读取上述第二标识。
在本申请实施例中,通过I2C总线从第一编译码器对应额目标寄存器中读取第二标识,只需要两根线即可实现音频处理设备与第一编译码器之间的数据传输,节约成本。
在一种实施方式中,上述驱动信息包括上述目标编译码器的驱动标识,上述绑定单元402具体用于根据上述驱动标识确定上述目标编译码器对应的驱动;将上述音频处理设备对应的驱动和上述目标编译码器对应的驱动绑定。
在一种实施方式中,上述绑定单元402具体用于将上述驱动标识赋值给上述音频处理设备对应的驱动中的连接结构的配置字段。
在本申请实施例中,通过音频处理设备对应的驱动中的连接结构描述音频处理设备驱动和编译码器驱动的绑定关系。只需将从数据集中读取目标编译码器的驱动标识赋值给音频处理设备对应的驱动中的连接结构的配置字段中,即可完成音频处理设备对应的驱动和目标编译码器对应的驱动的绑定,提高驱动绑定的效率。
请参阅图5,图5为本申请实施例提供的一种电子设备50的结构示意图。该电子设备50可以包括存储器501、处理器502。进一步可选的,还可以包含通信接口503以及总线504,其中,存储器501、处理器502以及通信接口503通过总线504实现彼此之间的通信连接。通信接口503用于与上述驱动绑定装置30进行数据交互。
其中,存储器501用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器501包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)。
处理器502是进行算术运算和逻辑运算的模块,可以是中央处理器(centralprocessing unit,CPU)、显卡处理器(graphics processing unit,GPU)或微处理器(microprocessor unit,MPU)等处理模块中的一种或者多种的组合。
存储器501中存储有计算机程序,处理器502调用存储器501中存储的计算机程序,以执行上述图2所示的驱动绑定方法:
获取与音频处理设备连接的目标编译码器的驱动信息;
根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。
上述处理器502执行方法的具体内容可参阅上述图2,此处不再赘述。
相应的,处理器502调用存储器501中存储的计算机程序,还可以用于执行上述图4所示的驱动绑定装置40中的各个单元所执行的方法步骤,其具体内容可参阅上述图4,此处不再赘述。
在图4所描述的驱动绑定装置40中,在本申请实施例中,首先获取与音频处理设备连接的目标编译码器的驱动信息,再根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当上述计算机程序在一个或多个处理器上运行时,可以实现上述图2所示的方法。
本申请实施例还提供一种计算机程序产品,当上述计算机程序产品在处理器上运行时,可以实现上述图2所示的方法。
本申请实施例还提供一种芯片,该芯片包括处理器和通信接口,所述处理器用于从该通信接口调用并运行指令,当该处理器执行所述指令时,可以实现上述图2所示的方法。
本申请实施例还提供了一种系统,该系统包括了至少一个如上述招标公告生成装置40或电子设备50或芯片。
综上上述,通过实施本申请实施例中的驱动绑定方法,获取与音频处理设备连接的目标编译码器的驱动信息,根据获取到的驱动信息绑定音频处理设备对应的驱动和目标编译码器对应的驱动。在更换编译码器驱动时,可以根据硬件情况自动绑定音频处理设备对应的驱动和与音频处理设备连接的编译码器对应的驱动,无需修改音频处理设备对应的驱动的代码,提高音频处理设备对应的驱动的兼容性。
应当理解的是,本申请的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本申请所附权利要求的保护范围。
Claims (10)
1.一种驱动绑定方法,其特征在于,所述方法包括:
获取与音频处理设备连接的目标编译码器的驱动信息;
根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。
2.根据权利要求1所述的方法,其特征在于,所述获取与音频处理设备连接的目标编译码器的驱动信息,包括:
从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息;所述数据集中包括一个或一个以上编译码器的驱动信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息之前,所述方法还包括:
从所述数据集中读取第一编译码器的第一标识;所述第一编译码器为所述一个或一个以上编译码器中的任一个;
从所述第一编译码器对应的目标寄存器中读取第二标识;
在所述第一标识与所述第二标识相同的情况下,将所述第一编译码器确定为所述目标编译码器。
4.根据权利要求3所述的方法,其特征在于,所述从所述第一编译码器对应的目标寄存器中读取第二标识,包括:
通过I2C总线从所述第一编译码器对应的目标寄存器中读取所述第二标识。
5.根据权利要求2至4所述的方法,其特征在于,所述驱动信息包括所述目标编译码器的驱动标识;所述根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动,包括:
根据所述驱动标识确定所述目标编译码器对应的驱动;
将所述音频处理设备对应的驱动和所述目标编译码器对应的驱动绑定。
6.根据权利要求5所述的方法,其特征在于,所述将所述音频处理设备对应的驱动和所述目标编译码器对应的驱动绑定,包括:
将所述驱动标识赋值给所述音频处理设备对应的驱动中的连接结构的配置字段。
7.一种驱动绑定装置,其特征在于,包括:
获取单元,用于获取与音频处理设备连接的目标编译码器的驱动信息;
绑定单元,用于根据所述驱动信息,绑定所述音频处理设备对应的驱动和所述目标编译码器对应的驱动。
8.根据权利要求7所述的装置,其特征在于,所述获取单元具体用于从所述音频处理设备的数据集中读取与所述音频处理设备连接的所述目标编译码器的驱动信息;所述数据集中包括一个或一个以上编译码器的驱动信息。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如权利要求1~6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110855343.6A CN113741856A (zh) | 2021-07-27 | 2021-07-27 | 驱动绑定方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110855343.6A CN113741856A (zh) | 2021-07-27 | 2021-07-27 | 驱动绑定方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113741856A true CN113741856A (zh) | 2021-12-03 |
Family
ID=78729300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110855343.6A Pending CN113741856A (zh) | 2021-07-27 | 2021-07-27 | 驱动绑定方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741856A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131147A1 (en) * | 2002-01-04 | 2003-07-10 | Microsoft Corporation | Systems and methods for managing drivers in a computing system |
US20040010687A1 (en) * | 2002-06-11 | 2004-01-15 | Yuichi Futa | Content distributing system and data-communication controlling device |
US20070094673A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Configuration of Isolated Extensions and Device Drivers |
CN101297280A (zh) * | 2005-10-26 | 2008-10-29 | 微软公司 | 隔离扩展和设备驱动程序的配置 |
CN101706675A (zh) * | 2009-11-17 | 2010-05-12 | 北京中科大洋科技发展股份有限公司 | 一种具有内部切换功能的高标清视音频io卡 |
CN102800319A (zh) * | 2012-06-28 | 2012-11-28 | 大唐移动通信设备有限公司 | 音频编解码组件、音频编解码器识别方法及系统 |
CN105025355A (zh) * | 2015-07-14 | 2015-11-04 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒的智能家居多路背景音乐系统 |
US20170115997A1 (en) * | 2012-09-25 | 2017-04-27 | International Business Machines Corporation | Customizing program logic for booting a system |
CN108667588A (zh) * | 2018-07-24 | 2018-10-16 | Oppo广东移动通信有限公司 | 载波聚合配置方法、相关设备及存储介质 |
CN109274405A (zh) * | 2018-08-14 | 2019-01-25 | Oppo广东移动通信有限公司 | 数据传输方法、装置、电子设备及计算机可读介质 |
-
2021
- 2021-07-27 CN CN202110855343.6A patent/CN113741856A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131147A1 (en) * | 2002-01-04 | 2003-07-10 | Microsoft Corporation | Systems and methods for managing drivers in a computing system |
US20040010687A1 (en) * | 2002-06-11 | 2004-01-15 | Yuichi Futa | Content distributing system and data-communication controlling device |
US20070094673A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Configuration of Isolated Extensions and Device Drivers |
CN101297280A (zh) * | 2005-10-26 | 2008-10-29 | 微软公司 | 隔离扩展和设备驱动程序的配置 |
CN101706675A (zh) * | 2009-11-17 | 2010-05-12 | 北京中科大洋科技发展股份有限公司 | 一种具有内部切换功能的高标清视音频io卡 |
CN102800319A (zh) * | 2012-06-28 | 2012-11-28 | 大唐移动通信设备有限公司 | 音频编解码组件、音频编解码器识别方法及系统 |
US20170115997A1 (en) * | 2012-09-25 | 2017-04-27 | International Business Machines Corporation | Customizing program logic for booting a system |
CN105025355A (zh) * | 2015-07-14 | 2015-11-04 | 福建新大陆通信科技股份有限公司 | 一种基于机顶盒的智能家居多路背景音乐系统 |
CN108667588A (zh) * | 2018-07-24 | 2018-10-16 | Oppo广东移动通信有限公司 | 载波聚合配置方法、相关设备及存储介质 |
CN109274405A (zh) * | 2018-08-14 | 2019-01-25 | Oppo广东移动通信有限公司 | 数据传输方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102150135B (zh) | 用于在多线程处理器中分配中断的方法及系统 | |
CN106797388B (zh) | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
CN112198820B (zh) | 一种中断服务实现方法、装置、设备及存储介质 | |
CN105094877B (zh) | 一种固件升级的方法和主机端装置及系统 | |
CN104040494A (zh) | 准虚拟化的域着色器、外壳着色器和几何着色器 | |
US20070168905A1 (en) | Networked linux machine and windows software development system | |
CN104111844A (zh) | 在移动终端内安装应用程序的方法及系统 | |
CN113360422A (zh) | 一种异构系统中实时操作系统设备收发数据的方法及装置 | |
US20140351833A1 (en) | Multi-computing environment operating on a single native operating system | |
CN113687868A (zh) | 设备固件启动方法、装置及电子设备 | |
US8261257B1 (en) | Method and apparatus for transferring firmware between an operating system and a device in a host | |
CN114138363A (zh) | 程序数据调用方法、装置、设备及存储介质 | |
US20200225992A1 (en) | Operating method of operating system and electronic device supporting same | |
CN113741856A (zh) | 驱动绑定方法、装置、电子设备及存储介质 | |
CN114691223B (zh) | 一种通过网络传输bios日志的方法及装置 | |
CN115587026A (zh) | 芯片测试方法、装置、存储介质及芯片 | |
CN109408407B (zh) | 显示内存的分配方法和装置 | |
US6820141B2 (en) | System and method of determining the source of a codec | |
CN114020414A (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN113360411A (zh) | 基于并行变异测试的代码覆盖率检测方法及装置 | |
CN107506212B (zh) | 一种在实时操作系统上动态加载声卡驱动的方法 | |
CN112115092A (zh) | 一种pcie总线号的分配方法、装置、设备及存储介质 | |
CN211075748U (zh) | 汽车中控导航娱乐系统、核心板及车载电子设备 | |
CN100414523C (zh) | 具有dma能力的usb主机控制器 | |
CN116361033B (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 |