电子设备及其硬件配置方法和装置与流程

文档序号:19942891发布日期:2020-02-14 23:25阅读:217来源:国知局
电子设备及其硬件配置方法和装置与流程

本申请属于电子技术领域,尤其是一种电子设备及其硬件配置方法和装置。



背景技术:

随着底层技术和设备能力的改进,诸如智能电话和平板设备的便携式电子设备变得越来越普遍,这些电子设备集成的功能也越来越丰富。这些电子设备包括支持各种功能和应用的硬件模块,例如当前的智能电话包括支持指纹识别、红外感应、蓝牙等功能的硬件模块。在现有的电子设备中,每集成一个新的硬件模块,需要同时完成对与硬件环境中的硬件设备相关的驱动软件以及中间软件等配置软件的加载工作。

出于成本控制和质量保障的考虑,现有的电子设备厂商对于同类硬件模块会选择多家制造厂商,而不同制造厂商的硬件模块的配置软件之间大多互不兼容。如果对于每个制造厂商的硬件模块都配置不同的软件系统,会降低硬件配置的效率,并且还会提高后期的设备维护成本。



技术实现要素:

为克服相关技术中存在的问题,本申请公开一种电子设备及其硬件配置方法和装置,提高电子设备中硬件模块的加载过程的加载效率、以及提高加载过程的灵活性以降低后期设备的维护成本。

根据本申请实施例的第一方面,提供一种电子设备的硬件配置方法,包括:

将至少一个驱动软件及其对应的第一设备标识存储到系统文件中,所述驱动软件用于驱动所述电子设备中对应的硬件模块;

获取待加载硬件模块的第二设备标识;以及

根据所述第二设备标识从所述系统文件中确定对应的驱动软件并加载。

优选地,所述根据所述第二设备标识从所述系统文件中确定对应的驱动软件并加载包括:

将所述第二设备标识与所述至少一个第一设备标识进行比较,将与所述第二设备标识相同的第一设备标识作为待调用设备标识,以及

加载所述待调用标识对应的驱动软件。

优选地,所述根据所述第二设备标识从所述系统文件中确定对应的驱动软件并加载包括:

从所述系统文件中选择一个驱动软件进行预加载;

将被选择的驱动软件的第一设备标识与所述第二设备标识进行比较,若所述第一设备标识与所述第二设备标识相同,则继续加载所述被选择的驱动软件;若不相同,则退出加载,并从剩余的驱动软件中选择一个驱动软件进行预加载;

重复上述步骤,直至从所述系统文件中确定与所述第二设备标识对应的驱动软件。

优选地,所述第一设备标识和所述第二设备标识包括:所述硬件模块的厂商号和/或设备号。

优选地,所述获取待加载硬件模块的第二设备标识包括:

在所述电子设备在每次启动时扫描并获取与所述电子设备连接的待加载硬件模块的第二设备标识。

根据本申请实施例的第二方面,提供一种电子设备的硬件配置装置,包括:

存储单元,用于存储至少一个驱动软件及其对应的第一设备标识,所述驱动软件用于驱动所述电子设备中对应的硬件模块;

获取单元,用于获取待加载硬件模块的第二设备标识;以及

加载单元,用于根据所述第二设备标识确定对应的驱动软件并加载。

优选地,所述加载单元包括:硬件识别模块,用于将所述第二设备标识与所述至少一个第一设备标识进行比较,将与所述第二设备标识相同的第一设备标识作为待调用设备标识;以及

处理模块,用于加载所述待调用标识对应的驱动软件。

优选地,所述加载单元包括:与所述至少一个驱动软件相对应的至少一个识别器,每个所述识别器用于在对应的驱动软件处于预加载状态时将所述驱动软件的第一设备标识与所述第二设备标识进行比较,若所述第一设备标识与所述第二设备标识相同,则继续加载所述驱动软件;若不相同,则退出加载。

优选地,所述加载单元依次从所述至少一个驱动软件中选择一个驱动软件进行预加载,直至从所述系统文件中确定与所述第二设备标识对应的驱动软件。

优选地,所述第一设备标识和所述第二设备标识包括:所述硬件模块的厂商号和/或设备号。

优选地,所述获取单元在所述电子设备在每次启动时扫描并获取与所述电子设备连接的待加载硬件模块的第二设备标识。

根据本申请实施例的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述的硬件配置方法。

本申请的实施例提供的技术方案可以包括以下有益效果:

首先将电子设备的可用的各种类型和规格的至少一个硬件模块的驱动软件及其对应的第一设备标识存储在电子设备的系统文件中,然后在检测到新的硬件模块接入时,根据连接到电子设备的待加载硬件模块的第二设备标识,选择与该第二设备标识对应的驱动软件进行加载,从而能够灵活高效地实现对硬件模块相关的驱动软件的加载工作,以适应不同的业务需求,并且还可降低后期设备的维护成本。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1示出根据现有技术的电子设备的软件结构示意图;

图2示出根据本申请一示例性实施例的一种硬件配置方法的流程示意图;

图3示出根据本申请第一实施例的电子设备的软件结构示意图;

图4示出根据本申请第二实施例的电子设备的软件结构示意图;

图5示出根据本申请另一示例性实施例的一种硬件配置装置的结构示意图;

图6示出根据一示例性实施例的一种用于上述硬件配置方法的电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1示出根据现有技术的电子设备的软件结构示意图。如图1所示,现有的电子设备例如通过嵌入式系统实现,一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成。嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

所述硬件层包括例如嵌入式微处理器、存储器(sdram、rom、flash等)、通用设备接口和i/o接口(a/d、d/a、i/o等)等多个硬件结构。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块,其中操作系统和应用程序都可以固化在rom中。如图1所示的硬件模块a和硬件模块b就包括在硬件层中。

所述嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(reducedinstructionsetcomputer,risc)和复杂指令系统cisc(complexinstructionsetcomputer,cisc)等。

嵌入式系统的软件结构包括驱动软件层110、系统组件层120、以及应用软件层130。驱动软件层110主要用于与硬件相关的设备驱动,驱动软件用于指示嵌入式系统要安装的硬件模块的设备类型、生产厂商、型号、要加载的文件、以及加载到的目标路径等。在系统初始化过程中由中间软件的bsp(boardsupportpackage,板级支持包)将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。系统组件层120负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动,通过装卸某些模块来达到系统所要求的功能。应用软件层130包括多个与系统软件相对应的应用软件,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。

在现有技术中,每新增一个硬件模块都需要对其对应的驱动软件进行加载。以硬件模块a为例,首先将硬件厂商将硬件模块a的驱动软件a以及中间软件按照设定的顺序集成到电子设备的系统文件中,当电子设备的操作系统启动之后,可自动调用系统文件,并在读取到需要加载驱动软件a的命令时,将硬盘中预先存储的驱动软件a读取到内存中以完成加载工作。

出于成本控制和质量保障的考虑,现有的电子设备厂商对于同类硬件模块会选择多家制造厂商,而不同制造厂商的硬件模块的驱动软件之间大多互不兼容。如果对于每个制造厂商的硬件模块都配置不同的软件系统,会降低硬件配置的效率,并且还会提高后期的设备维护成本。

为了提高电子设备中硬件模块的加载过程的加载效率、以及提高加载过程的灵活性以降低后期设备的维护成本,本申请实施例提供了一种电子设备的硬件配置方法及装置,能够将与电子设备连接的至少一个硬件模块的驱动软件及其对应的第一设备标识存储在电子设备的系统文件中,根据连接到电子设备的硬件模块的第二设备标识,选择与该第二设备标识对应的驱动软件进行加载。

为便于对本申请方案的理解,下面通过具体实施例对本申请方案进行详细描述,当然,本申请并不限于以下实施例。

图2示出根据本申请一示例性实施例的一种硬件配置方法的流程示意图,包括以下步骤:

步骤s101:将至少一个驱动软件及其对应的第一设备标识存储到系统文件中,每个所述驱动软件用于驱动所述电子设备中对应的硬件模块。

在本实施例中,可根据不同的业务需求,系统软件将不同类型的不同规格的硬件模块的驱动软件及其对应的第一设备标识集成在电子设备中,生成镜像文件以存储到电子设备的系统文件中,以便后续根据实际连接的硬件模块的规格,从系统文件中获取对应的驱动软件进行加载。相比现有技术中在每次更换硬件模块时都需要从光盘或者网络侧下载相关的驱动软件,可以节省获取驱动软件的时间,提高驱动软件加载过程中的效率。

其中,第一设备标识包含该硬件模块的身份标识信息,如设备号、厂商号等。

步骤s102:读取与所述电子设备连接的硬件模块的寄存器,识别出所述待加载硬件模块的第二设备标识。

其中,与电子设备连接的硬件模块可包含外部设备互联总线(peripheralcomponentinterconnect,pci)设备以及通用串行总线(universalserialbus,usb)设备。所述pci设备即为通过pci插槽与所述电子设备连接的硬件模块,如声卡、网卡等。所述usb设备即为通过usb接口与所述电子设备连接的硬件设备,如鼠标、键盘等。

此外,与电子设备连接的硬件模块还可包含集成于所述电子设备内部的设备,如摄像头、红外传感器、惯性传感器、指纹识别模块等。或者与所述电子设备通过无线实现通信的设备,如蓝牙耳机、触控笔等。

在具体实施例中,电子设备在上电后,嵌入式操作系统在每次启动时扫描硬件环境中与电子设备连接的待加载硬件模块,并记录该硬件模块的第二设备标识。同样的,所述第二设备标识也包含该硬件模块的身份标识信息,如设备号、厂商号等。

步骤s103:根据所述第二设备标识从所述系统文件中确定对应的驱动软件并加载。

在一种实施例中,电子设备的操作系统中配置有硬件识别模块,所述硬件识别模块用于将获取的所述第二设备标识与系统文件中存储的至少一个第一设备标识进行比较,将与所述第二设备标识相同的第一设备标识作为待调用设备标识,并加载所述待调用标识对应的驱动软件。

在一种实施例中,所述至少一个驱动软件存储于电子设备的文件系统中,嵌入式操作系统根据所述待调用标识从所述文件系统中读取对应的驱动软件到内存中,然后调用并执行所述驱动软件中的初始化函数。在另一种实施例中,所述至少一个驱动软件直接以软件的形式存储于嵌入式操作系统中,随操作系统一同存储于电子设备的内存中,在所述加载过程中嵌入式操作系统直接根据所述待调用标识调用对应的驱动软件并执行所述驱动软件的初始化函数。

参照图3所示,为根据本申请第一实施例的电子设备的软件结构示意图,为了方便说明,本实施例中以包括两种规格的硬件模块a(即硬件模块a1和硬件模块a2)为例进行说明,但是本申请并不以本实施例为限制。

电子设备包括驱动软件层210、系统组件层220、以及应用软件层230。其中本实施例的系统组件层220和应用软件层230与图1中的系统组件层120和应用软件层130相同,在此不再赘述。本实施例与图1的电子设备的不同之处在于,驱动软件层210还包括硬件识别模块211,硬件识别模块211用于将获取的所述第二设备标识与系统文件中存储的至少一个第一设备标识进行比较,将与所述第二设备标识相同的第一设备标识作为待调用设备标识,并加载所述待调用标识对应的驱动软件。

如图3所示,当待加载硬件模块ax(x可以为1或2)连接到电子设备上时,硬件识别模块211获取待加载硬件模块ax的第二设备标识,并将该第二设备标识分别与驱动软件a1对应的第一设备标识以及驱动软件a2对应的第一设备标识进行比较,当该第二设备标识与驱动软件a1对应的第一设备标识相同时,硬件识别模块211则加载驱动软件a1;当第二设备标识与驱动软件a2对应的第一设备标识相同时,硬件识别模块211则加载驱动软件a2。

在另一实施例中,嵌入式操作系统从系统文件中选择一个驱动软件进行预加载,被选择的驱动软件在预加载时将其对应的第一设备标识与第二设备标识进行比较,若第一设备标识与所述第二设备标识相同,则继续完成加载;若不相同,则退出加载,操作系统再从剩余的驱动软件中选择一个驱动软件进行预加载,重复上述步骤,直至完成所述待加载硬件模块的加载。

参照图4所示,为根据本申请第二实施例的电子设备的软件结构示意图,为了方便说明,本实施例中以包括两种规格的硬件模块a(即硬件模块a1和硬件模块a2)为例进行说明,但是本申请并不以本实施例为限制。

电子设备包括驱动软件层310、系统组件层320、以及应用软件层330。其中本实施例的系统组件层320和应用软件层330与图1中的系统组件层120和应用软件层130相同,在此不再赘述。本实施例与图1的电子设备的不同之处在于,驱动软件层210还包括至少一个识别器(即识别器a1与识别器a2)。所述识别器与相对应的驱动软件一同存储在系统文件中,当从系统文件中选择一个驱动软件进行预加载时,该驱动软件对应的识别器首先启动,获取待加载硬件模块的第二设备标识,并将所述驱动软件的第一设备标识与所述第二设备标识进行比较,若所述第一设备标识与所述第二设备标识相同,则继续加载所述驱动软件;若不相同,则退出加载。

如图4所示,当待加载硬件模块ax(x可以为1或2)连接到电子设备上时,操作系统首先预加载驱动软件a1,识别器a1将驱动软件a1对应的第一设备标识与待加载硬件模块ax的第二设备标识进行比较,若二者相同,则继续加载驱动软件a1;若二者不相同,则停止加载驱动软件a1。然后操作系统预加载驱动软件a2,重复上述步骤,直至完成硬件模块ax的驱动软件的加载。

综上,在本申请实施例中,首先将电子设备的可用的各种类型和规格的至少一个硬件模块的驱动软件及其对应的第一设备标识存储在电子设备的系统文件中,然后在检测到新的硬件模块接入时,根据连接到电子设备的待加载硬件模块的第二设备标识,选择与该第二设备标识对应的驱动软件进行加载,从而能够灵活高效地实现对硬件模块相关的驱动软件的加载工作,以适应不同的业务需求,并且还可降低后期设备的维护成本。

参照图4所示,为根据本申请另一示例性实施例提供的一种电子设备的硬件配置装置,包括存储单元410、获取单元420、以及加载单元430。

存储单元410用于存储至少一个驱动软件及其对应的第一设备标识,所述驱动软件用于驱动所述电子设备中对应的硬件模块。

在本实施例中,可根据不同的业务需求,系统软件将不同类型的不同规格的硬件模块的驱动软件及其对应的第一设备标识集成在电子设备中,生成镜像文件以存储到电子设备的系统文件中,以便后续根据实际连接的硬件模块的规格,从系统文件中获取对应的驱动软件进行加载。相比现有技术中在每次更换硬件模块时都需要从光盘或者网络侧下载相关的驱动软件,可以节省获取驱动软件的时间,提高驱动软件加载过程中的效率。

其中,第一设备标识包含该硬件模块的身份标识信息,如设备号、厂商号等。

获取单元420用于通过读取与所述电子设备连接的待加载硬件模块的寄存器,识别出所述待加载硬件模块的第二设备标识。

在具体实施例中,获取单元420用于在电子设备在上电后,嵌入式操作系统每次启动时扫描硬件环境中与电子设备连接的硬件模块,并记录该硬件模块的第二设备标识。同样的,该第二设备标识包含该硬件模块的身份标识信息,如设备号、厂商号等。

加载单元430用于根据所述第二设备标识确定对应的驱动软件并加载。

在一种实施例中,加载单元430包括硬件识别模块和处理模块,用于将所述第二设备标识与所述至少一个第一设备标识进行比较,将与所述第二设备标识相同的第一设备标识作为待调用设备标识。处理模块用于加载所述待调用标识对应的驱动软件。

在另一实施例中,加载单元430包括与至少一个驱动软件相对应的至少一个识别器,每个所述识别器用于在对应的驱动软件处于预加载状态时将所述驱动软件的第一设备标识与所述第二设备标识进行比较,若所述第一设备标识与所述第二设备标识相同,则继续加载所述驱动软件;若不相同,则退出加载。

在具体实施例中,嵌入式操作系统从系统文件中选择一个驱动软件进行预加载,被选择的驱动软件的识别器在预加载时读取所述硬件模块的第二设备标识,并将该第二设备标识与自身的第一设备标识进行比较,若二者相同,则继续加载;若二者不同,则停止加载。嵌入式操作系统从剩下的驱动软件中再选择一个驱动软件进行预加载。重复上述步骤,直至完成所述待加载硬件模块的驱动软件的加载。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图6是根据一示例性实施例示出的一种用于上述硬件配置方法的电子设备500的结构示意图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图6,电子设备500可以包括以下一个或多个组件:处理组件505,存储器501,电源组件502,多媒体组件503,音频组件504,输入/输出(i/o)的接口508,传感器组件507,以及通信组件506。

处理组件505通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件505可以包括一个或多个处理器510来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件505可以包括一个或多个模块,便于处理组件505和其他组件之间的交互。例如,处理组件505可以包括多媒体模块,以方便多媒体组件503和处理组件505之间的交互。

存储器501被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

在本实施例中,可根据不同的业务需求将不同类型的不同规格的硬件模块的驱动软件信息集成在电子设备中,生成镜像文件以存储到电子设备的存储器501中,以便后续根据实际连接的硬件模块的规格,从系统文件中获取对应的驱动软件信息进行加载。

电源组件502为装置500的各种组件提供电力。电源组件502可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。

多媒体组件503包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件503包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件504被配置为输出和/或输入音频信号。例如,音频组件504包括一个麦克风(mic),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器501或经由通信组件506发送。在一些实施例中,音频组件504还包括一个扬声器,用于输出音频信号。

i/o接口508为处理组件505和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启用按钮和锁定按钮。

传感器组件507包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件507可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件507还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件507可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件507还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件507还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件506被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件506经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件506还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述硬件配置方法,以在检测到新的硬件模块接入时,根据连接到电子设备的硬件模块的第二设备标识,选择与该第二设备标识对应的驱动软件进行加载,从而能够灵活高效地实现对硬件模块相关的驱动软件的加载工作,以适应不同的业务需求,并且还可降低后期设备的维护成本。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器501,上述指令可由装置500的处理器510执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1