一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

驱动加载方法、装置、计算机设备和存储介质与流程

2022-03-26 12:10:46 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种驱动加载方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,设备使用的传感器越来越多,然而设备通过加载传感器的驱动才能使用传感器,驱动包括传感器对应的配置文件,配置文件相当于传感器的使用说明书。因此出现了驱动加载技术,该技术是将设备通过软件使用传感器时所需要的配置文件及信息写入到微控制单元芯片中,设备根据写入的配置文件使用传感器。传统的驱动程序加载方式是将传感器驱动程序加载到设备的在内核中加载并进行解析使用。然而,当传感器发生变化时,导致内核中驱动程序无法使用,存在不兼容的问题。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高兼容性的驱动加载的方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.一种驱动加载方法,所述方法,包括:
5.当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
6.当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
7.根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
8.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;
9.当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。
10.在其中一个实施例中,当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,包括:
11.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息中的备份配置项名称和备份配置项参数更新为当前配置信息中的配置项名称和配置项参数;
12.基于当前配置信息中的当前传感器初始化信息对当前传感器进行初始化,包括:
13.基于当前配置存储空间存储的当前配置信息中的初始化配置项和初始化配置项对应的初始化参数对当前传感器进行初始化。
14.在其中一个实施例中,在当当前传感器通信校验通过时,基于当前配置信息中的当前传感器初始化信息,对当前传感器进行初始化之后,还包括:
15.从当前配置存储空间存储的当前配置信息获取当前传感器对应的运行参数信息,并将运行参数信息发送至当前传感器,当前传感器根据运行参数信息运行;
16.将当前传感器对应的备份配置信息更新为当前配置信息。
17.在其中一个实施例中,基于当前配置信息中通信校验信息对当前传感器进行通信校验,包括:
18.基于当前配置存储空间存储的当前配置信息中的当前传感器总线信息进行总线初始化,得到当前总线;
19.基于通信校验信息中的当前传感器地址,通过当前总线向当前传感器发送传感器标识查询信息;
20.获取当前传感器根据传感器标识查询信息返回的目标传感器标识;
21.基于目标传感器标识与通信校验信息中的当前传感器标识进行一致性校验。
22.在其中一个实施例中,所述方法,还包括:
23.当当前传感器对应的备份版本信息与当前传感器对应的当前版本信息未存在差异时,获取当前配置存储空间存储的备份配置信息中的备份初始化配置信息和备份总线;
24.通过备份总线使用备份初始化配置信息对当前传感器进行初始化。
25.在其中一个实施例中,所述方法,还包括:
26.从当前配置存储空间中获取各个传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取各个传感器对应的当前配置信息中的当前版本信息;
27.将各个传感器对应的备份版本信息与各个传感器对应的当前版本信息进行匹配,得到各个传感器对应的版本匹配结果;
28.基于版本匹配结果中的未匹配结果从各个传感器中确定未匹配传感器,将未匹配传感器对应的未匹配配置存储空间存储的备份配置信息更新为未匹配传感器对应的当前配置信息;
29.根据配置序号,基于未匹配配置存储空间存储的当前配置信息中通信校验信息对未匹配传感器进行通信校验;
30.当未匹配传感器通信校验通过时,基于未匹配配置存储空间存储的当前配置信息中的初始化配置信息对未匹配传感器进行初始化。
31.一种驱动加载装置,所述装置包括:
32.清除模块,用于当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
33.写入模块,当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
34.获取模块,用于根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
35.更新模块,用于当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验
信息对当前传感器进行通信校验;
36.初始化模块,用于当当前传感器通信校验通过时,基于当前配置信息中的当前传感器初始化信息对当前传感器进行初始化。
37.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38.当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
39.当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
40.根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
41.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;
42.当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。
43.一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
44.当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
45.当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
46.根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
47.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;
48.当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。
49.一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
50.当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
51.当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
52.根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文
件中获取当前传感器对应的当前配置信息中的当前版本信息;
53.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;
54.当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。
55.上述驱动加载方法、装置、计算机设备、存储介质和计算机程序产品,当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。由于使用了预设传感器配置文件,当传感器版本信息发生变化时,可以通过预设传感器配置文件获取到当前配置信息,然后使用当前配置信息中的初始化配置信息对当前传感器进行初始化,避免传感器版本信息发生变化时,驱动程序无法加载的问题,从而可以兼容不同版本信息的传感器。
附图说明
56.图1为一个实施例中驱动加载方法的应用环境图;
57.图2为一个实施例中驱动加载方法的流程示意图;
58.图3为一个实施例中通信校验的流程示意图;
59.图4为另一个实施例中驱动加载方法的流程示意图;
60.图5为一个具体实施例中配置文件更新的流程示意图;
61.图6为图5具体实施例中驱动加载的流程示意图;
62.图7为一个实施例中驱动加载装置的结构框图;
63.图8为一个实施例中计算机设备的内部结构图
64.图9为另一个实施例中计算机设备的内部结构图。
具体实施方式
65.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
66.本技术实施例提供的驱动加载方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102检测到重新启动时,清除传感器对应的配置存储空间中的已有配置信息;当重新启动完成
时,终端102获取传感器对应的备份配置信息和配置序号,将传感器对应的备份配置信息写入对应的配置存储空间中;终端102根据配置序号从传感器中确定当前传感器,终端102从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;当备份版本信息与当前版本信息存在差异时,终端102将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;当当前传感器通信校验通过时,终端102基于当前配置信息中的初始化配置信息对当前传感器进行初始化,其中,预设传感器配置文件可以是从服务器104中的数据存储系统中下载得到的。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
67.在一个实施例中,如图2所示,提供了一种驱动加载方法步骤的示意图,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
68.步骤202,当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息。
69.其中,配置存储空间是指传感器对应的在进行驱动加载时配置信息存储的空间,该存储空间是可以重复写入和读取的。
70.具体地,已有配置信息可以是已损坏的已有配置信息,也可以是未损坏的已有配置信息。比如,当检测到操作系统重新启动时,终端清除各个传感器对应的配置存储空间中已损坏的已有配置信息。
71.步骤204,当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中。
72.其中,备份配置信息是指终端在操作系统重新启动前在预设存储空间内保存的传感器对应的配置信息,终端使用该配置信息在操作系统重新启动前对该传感器进行驱动加载。配置序号是指终端在操作系统重新启动后对各个传感器有序进行驱动加载的序号,该序号用于指示传感器驱动加载的优先级,比如,序号越小,越优先加载。配置序号记录在预设传感器配置文件中。
73.具体地,当操作系统重新启动完成时,终端从预设存储空间获取各个传感器对应的备份配置信息并从预设传感器配置文件中获取配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中。
74.步骤206,根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息。
75.其中,当前传感器是指在操作系统重新启动完成后,终端对配置序号按照配置顺序进行驱动加载的对应的传感器。备份版本信息是指在操作系统重新启动前的传感器对应的版本标识。预设传感器配置文件是指预先保存的记录传感器对应的配置信息的可修改配置文件。
76.具体地,预设传感器配置文件中存储的配置信息可以是传感器对应的未变更的配
置信息,也可以是传感器对应的变更的配置信息。当前传感器可以是一个也可以是多个。在操作系统重新启动完成后,终端可以根据配置序号由小到大的配置顺序确定当前传感器时,比如,配置序号为1的传感器为当前传感器,从该当前传感器对应的当前配置存储空间获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的用户修改后的当前配置信息中的当前版本信息。
77.步骤208,当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验。
78.其中,更新是指将当前配置存储空间中当前传感器对应的备份配置信息替换为当前配置信息。通信校验信息是指终端与当前传感器进行通信校验时使用的信息,该信息用于校验终端与当前传感器建立的通信连接是否能实现相互通信。
79.具体地,当备份版本信息与当前版本信息不一致时,终端将当前配置存储空间中当前传感器对应的备份配置信息替换为当前配置信息,基于当前配置存储空间存储的当前配置信息中通信校验信息对当前传感器建立通信连接并进行通信校验。
80.步骤210,当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。
81.其中,初始化配置信息是指当前配置存储空间存储的当前配置信息中的初始化配置信息。
82.具体地,当当前传感器通信校验通过时,终端基于当前配置存储空间存储的当前配置信息中的初始化配置信息对当前传感器进行初始化,并且终端当前传感器初始化完成后,即驱动程序加载完成,此时,终端可以正常使用当前传感器。
83.上述驱动加载方法中,上述驱动加载方法、装置、计算机设备、存储介质和计算机程序产品,当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;当当前传感器通信校验通过时,基于当前配置信息中的初始化配置信息对当前传感器进行初始化。由于使用了预设传感器配置文件,当传感器版本信息发生变化时,可以通过预设传感器配置文件获取到当前配置信息,然后使用当前配置信息中的初始化配置信息对当前传感器进行初始化,避免传感器版本信息发生变化时,驱动程序无法加载的问题,从而可以兼容不同版本信息的传感器。
84.在一个实施例中,步骤208,备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,包括:
85.当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息中的备份配置项名称和备份配置项参数更新为当前配置信息中的配置项名称和配置项参数;
86.基于当前配置信息中的当前传感器初始化信息对当前传感器进行初始化,包括:
87.基于当前配置存储空间存储的当前配置信息中的初始化配置项和初始化配置项对应的初始化参数对当前传感器进行初始化。
88.其中,配置项名称是指终端对传感器进行驱动加载的过程中需要加载的配置项目的名称。配置项参数是指端对传感器进行驱动加载的过程中需要加载的配置项目的参数。配置存储空间是以数据结构的形式存在,通过预先定义的数据类型解析从预设传感器配置文件获取的当前配置信息中的配置项名称和配置项参数,并以该数据类型存储在配置存储空间中。
89.具体地,终端获取的预设传感器配置文件的当前配置信息中的配置项名称可以是宏定义,用于定义终端对传感器需要配置的配置项目,包括校验,初始化,配置,读取数据等。比如:
90.#define nwy_sensor_config_version 0x00000000
91.用于定义检查版本的配置项目,0x00000000为该配置项目编号;
92.#define nwy_sensor_check_config 0x00010000
93.用于定义检查校验的配置项目,0x00010000为该配置项目编号;
94.#define nwy_sensor_check_isi2c 0x00000001
95.用于定义检测传感器通信协议是不是i2c(inter-integrated circuit,两线式串行总线),0x00000001为0x00010000对应的配置项目的第一个子配置项目编号;
96.#define nwy_sensor_check_slaveaddr 0x00000002
97.用于定义配置传感器从机地址的配置项目,0x00000002为0x00010000对应的配置项目的第二个子配置项目编号;
98.#define nwy_sensor_check_csgpio 0x00000003
99.用于定义配置spi(serial peripheral interface,串行外围设备接口)片选脚的配置项目,0x00000003为0x00010000对应的配置项目的第三个子配置项目编号;
100.#define nwy_sensor_check_whoami 0x00000004
101.用于定义检查传感器标识的配置项目,0x00000004为0x00010000对应的配置项目的第四个子配置项目编号;
102.#define nwy_sensor_init_config 0x00020000
103.用于定义传感器初始化配置的配置项目,0x00020000为该配置项目编号。
104.终端获取预设传感器配置文件的当前配置信息中的配置项名称对应的配置项参数可以是终端对该配置项名称对应的配置项目进行配置的过程中需要的具体值,包括寄存器地址和该寄存器存储的值,终端用于根据该具体值进行配置操作,比如,配置项名称为“#define nwy_sensor_check_whoami”,其对应的配置项参数为“0x0a”,用于终端通过该寄存器地址读取传感器标识。
105.配置存储空间可以是结构体,包括各个配置项名称的结构体,比如,
106.[0107][0108]“nwy_sensors_config”表示完整的数据结构,“int version”表示版本号,“struct nwy_sensors_check”表示校验结构体,“struct nwy_sensors_init”表示初始化结构体,比如:
[0109][0110]“struct nwy_sensors_check”表示校验结构体,“uint8 addr[0]”表示寄存器的配置项参数,“int value[0]”表示该寄存器对应的值。
[0111]
当备份版本信息与当前版本信息存在差异时,终端将当前配置存储空间中当前传感器对应的备份配置信息中的备份配置项结构体和备份配置项寄存器地址和值替换为当前配置信息中的配置项结构体和配置项寄存器地址和值;
[0112]
终端基于当前配置存储空间存储的当前配置信息中的初始化结构体和初始化配置项对应的初始化寄存器地址和值对当前传感器进行初始化,初始化可以是对当前传感器的上电部分、模式和状态等进行初始化。
[0113]
上述实施例中,当前传感器发生版本更新时,终端将预设传感器配置文件中当前传感器对应的配置信息写入对应的当前配置存储空间中,并且配置信息以预先定义的数据类型形式存在;终端通过当前配置存储空间中的配置信息对当前传感器的配置项进行配置,完成当前传感器的驱动加载,从而可以兼容不同版本信息的传感器。
[0114]
在一个实施例中,步骤210,在当当前传感器通信校验通过时,基于当前配置信息中的当前传感器初始化信息,对当前传感器进行初始化之后,还包括:
[0115]
从当前配置存储空间存储的当前配置信息获取当前传感器对应的运行参数信息,并将运行参数信息发送至当前传感器,当前传感器根据运行参数信息运行;
[0116]
将当前传感器对应的备份配置信息更新为当前配置信息。
[0117]
其中,运行参数是指当前传感器在运行过程中向终端传输其所需的运行数据时的运行配置。
[0118]
具体地,运行参数可以是当前传感器的阈值、上报频率和采样率等。比如,当前传感器根在运行过程中按照运行参数中的上报频率和采样率向终端传输实时数据和传感器阈值。备份配置信息存储于终端用于存储备份文件的预设存储空间内,该预设存储空间可以是flash(flash eeprom memory,闪存),比如,将终端flash中当前传感器对应的备份配
置信息替换为当前配置信息。
[0119]
上述实施例中,通过将预设存储空间中当前传感器对应的备份配置信息替换为当前配置信息,终端在操作系统重新启动时将预设存储空间中的配置信息读取出来并写入到当前配置存储空间中,可使终端通过当前配置存储空间内的配置信息对当前传感器进行驱动加载,从而可以兼容版本变更的传感器。
[0120]
在一个实施例中,如图3所示,基于当前配置信息中通信校验信息对当前传感器进行通信校验,包括:
[0121]
步骤302,基于当前配置存储空间存储的当前配置信息中的当前传感器总线信息进行总线初始化,得到当前总线;
[0122]
步骤304,基于通信校验信息中的当前传感器地址,通过当前总线向当前传感器发送传感器标识查询信息;
[0123]
步骤306,获取当前传感器根据传感器标识查询信息返回的目标传感器标识;
[0124]
步骤308,基于目标传感器标识与通信校验信息中的当前传感器标识进行一致性校验。
[0125]
其中,当前传感器总线信息是指当前传感器使用的通信协议。总线初始化是指终端根据当前传感器使用的通信协议通过初始化启用相同的通信协议。
[0126]
具体地,总线通信协议可以是i2c,也可以是spi。比如,终端通过当前传感器总线信息确定当前传感器的通信协议是i2c,则通过i2c对当前传感器建立通信连接;基于通信校验信息中的当前传感器地址,通过当前总线向当前传感器发送传感器标识查询信息;获取当前传感器根据传感器标识查询信息返回的目标传感器标识;当检测到目标传感器标识与通信校验信息中的当前传感器标识一致时通信校验完成。上述实施例中,终端通过当前配置信息中的通信校验信息与当前传感器进行通信校验,通信校验通过后终端可以使用通信总线对当前传感器进行驱动加载。
[0127]
在一个实施例中,所述方法,还包括:
[0128]
当当前传感器对应的备份版本信息与当前传感器对应的当前版本信息未存在差异时,获取当前配置存储空间存储的备份配置信息中的备份初始化配置信息和备份总线;
[0129]
通过备份总线使用备份初始化配置信息对当前传感器进行初始化。
[0130]
其中,备份总线是指当前传感器对应的备份版本信息与当前传感器对应的当前版本信息未存在差异时,终端可以与当前传感器进行通信的在操作系统重新启动前通过通信校验的通信总线。
[0131]
具体地,当当前传感器对应的备份版本信息与当前传感器对应的当前版本信息未存在差异时,终端获取当前配置存储空间存储的备份配置信息中的备份初始化配置信息和备份总线;通过备份总线使用备份初始化配置信息对当前传感器进行初始化。
[0132]
上述实施例中,当当前传感器未发生版本变更时,终端可以使用当前传感器对应的备份配置信息对当前传感器进行驱动加载,从而可以兼容未发生版本变更的传感器。
[0133]
在一个实施例中,如图4所示,所述方法,还包括:
[0134]
步骤402,从当前配置存储空间中获取各个传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取各个传感器对应的当前配置信息中的当前版本信息;
[0135]
步骤404,将各个传感器对应的备份版本信息与各个传感器对应的当前版本信息进行匹配,得到各个传感器对应的版本匹配结果;
[0136]
步骤406,基于版本匹配结果中的未匹配结果从各个传感器中确定未匹配传感器,将未匹配传感器对应的未匹配配置存储空间存储的备份配置信息更新为未匹配传感器对应的当前配置信息;
[0137]
步骤408,根据配置序号,基于未匹配配置存储空间存储的当前配置信息中通信校验信息对未匹配传感器进行通信校验;
[0138]
步骤410,当未匹配传感器通信校验通过时,基于未匹配配置存储空间存储的当前配置信息中的初始化配置信息对未匹配传感器进行初始化。
[0139]
具体地,未匹配传感器可以是一个也可以是多个。终端可以根据配置序号由小到大的配置顺序对各个传感器进行驱动加载,配置序号为1的传感器可以是未匹配传感器,也可以是配置序号为2的传感器是未匹配传感器。根据配置序号,当检测到配置序号为1的传感器是未匹配传感器时,终端基于未匹配配置存储空间存储的当前配置信息中通信校验信息对未匹配传感器进行通信校验;当未匹配传感器通信校验通过时,终端基于未匹配配置存储空间存储的当前配置信息中的初始化配置信息对未匹配传感器进行初始化。
[0140]
上述实施例中,通过当终端检测到存在版本变更的传感器时,将该传感器对应的配置存储空间存储的配置信息进行更新,终端按照配置序号并且根据各个传感器对应的配置存储空间存储的配置信息对各个传感器依次进行驱动加载,从而可以兼容不同版本信息的传感器并且提高传感器的驱动加载效率。
[0141]
在一个具体的实施例中,如图5所示,为一种配置文件更新的流程示意图,包括:
[0142]
接收到对已有传感器配置文件的修改指令,修改指令携带有当前标传感器对应的当前配置信息;
[0143]
基于当前传感器对应的当前配置信息对已有传感器配置文件中当前传感器对应的已有配置信息进行更新,得到更新传感器配置文件;
[0144]
接收到操作系统重新启动指令,终端对操作系统进行重新启动,当检测到操作系统重新启动时,执行驱动加载流程,如图6所示,为驱动加载的流程示意图,包括:
[0145]
当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
[0146]
当操作系统重新启动完成时,终端从预设存储空间内读取各个传感器对应的备份配置信息,并将各个传感器对应的备份配置信息写入对应的配置存储空间中进行恢复;
[0147]
根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
[0148]
通过将当前传感器对应的备份版本信息与当前传感器对应的当前版本信息进行匹配判断当前传感器版本是否改变;
[0149]
当当前传感器版本未改变时,使用当前传感器对应的备份配置信息,并通过该备份配置信息对终端与当前传感器的总线进行配置,当当前传感器版本改变时,使用预设传感器配置文件中当前传感器对应的当前配置信息,并通过该当前配置信息对终端与当前传感器的总线进行配置;
[0150]
总线配置完成后终端通过总线对当前传感器进行硬件校验,当硬件校验失败时,结束当前传感器的驱动加载;当硬件校验成功时,终端根据当前传感器对应的当前配置信息对当前传感器做初始化配置,当前传感器根据运行参数对终端进行数据上报时,当前传感器的驱动加载完成,上述实施例中,通过修改预设配置文件中各个传感器对应的配置信息,当检测到传感器的版本发生变更时,终端使用该传感器对应的配置信息对传感器进行驱动加载,可以提高终端对传感器的驱动加载效率,同时可以兼容不同版本信息的传感器,增加用户的使用便携性。
[0151]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0152]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的驱动加载方法的驱动加载装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个驱动加载装置实施例中的具体限定可以参见上文中对于驱动加载方法的限定,在此不再赘述。
[0153]
在一个实施例中,如图7所示,提供了一种驱动加载装置700,包括:清除模块702、写入模块704、获取模块706、更新模块708和初始化模块710,其中:
[0154]
清除模块704,用于当检测到操作系统重新启动时,清除各个传感器对应的配置存储空间中的已有配置信息;
[0155]
写入模块704,当操作系统重新启动完成时,获取各个传感器对应的备份配置信息和配置序号,将各个传感器对应的备份配置信息写入对应的配置存储空间中;
[0156]
获取模块706,用于根据配置序号从各个传感器中确定当前传感器,从当前传感器对应的当前配置存储空间中获取当前传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取当前传感器对应的当前配置信息中的当前版本信息;
[0157]
更新模块708,用于当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,基于当前配置信息中通信校验信息对当前传感器进行通信校验;
[0158]
初始化模块710,用于当当前传感器通信校验通过时,基于当前配置信息中的当前传感器初始化信息对当前传感器进行初始化。
[0159]
在一个实施例中,更新模块708,还用于:
[0160]
当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息更新为当前配置信息,包括:当备份版本信息与当前版本信息存在差异时,将当前配置存储空间中当前传感器对应的备份配置信息中的备份配置项名称和备份配置项参数更新为当前配置信息中的配置项名称和配置项参数;基于当前配置信息中的当前传感器初始化信息对当前传感器进行初始化,包括:基于当前配置存储空间存储的当前配置信息中的初始化配置项和初始化配置项对应的初始化参数对当前传感器进行初始化。
[0161]
在一个实施例中,初始化模块710,还用于:
[0162]
在当当前传感器通信校验通过时,基于当前配置信息中的当前传感器初始化信息,对当前传感器进行初始化之后,还包括:
[0163]
从当前配置存储空间存储的当前配置信息获取当前传感器对应的运行参数信息,并将运行参数信息发送至当前传感器,当前传感器根据运行参数信息运行;将当前传感器对应的备份配置信息更新为当前配置信息。
[0164]
在一个实施例中,更新模块708,还用于:
[0165]
基于当前配置信息中通信校验信息对当前传感器进行通信校验,包括:基于当前配置存储空间存储的当前配置信息中的当前传感器总线信息进行总线初始化,得到当前总线;基于通信校验信息中的当前传感器地址,通过当前总线向当前传感器发送传感器标识查询信息;获取当前传感器根据传感器标识查询信息返回的目标传感器标识;基于目标传感器标识与通信校验信息中的当前传感器标识进行一致性校验。
[0166]
在一个实施例中,驱动加载装置700,还用于:
[0167]
当当前传感器对应的备份版本信息与当前传感器对应的当前版本信息未存在差异时,获取当前配置存储空间存储的备份配置信息中的备份初始化配置信息和备份总线;通过备份总线使用备份初始化配置信息对当前传感器进行初始化。
[0168]
在一个实施例中,驱动加载装置700,还用于:
[0169]
从当前配置存储空间中获取各个传感器对应的备份配置信息中的备份版本信息,并从预设传感器配置文件中获取各个传感器对应的当前配置信息中的当前版本信息;将各个传感器对应的备份版本信息与各个传感器对应的当前版本信息进行匹配,得到各个传感器对应的版本匹配结果;基于版本匹配结果中的未匹配结果从各个传感器中确定未匹配传感器,将未匹配传感器对应的未匹配配置存储空间存储的备份配置信息更新为未匹配传感器对应的当前配置信息;根据配置序号,基于未匹配配置存储空间存储的当前配置信息中通信校验信息对未匹配传感器进行通信校验;当未匹配传感器通信校验通过时,基于未匹配配置存储空间存储的当前配置信息中的初始化配置信息对未匹配传感器进行初始化。
[0170]
上述驱动加载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0171]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储传感器配置文件、已有配置信息、备份配置信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种驱动加载装置方法。
[0172]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存
储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种驱动加载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0173]
本领域技术人员可以理解,图8-9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0174]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0175]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0176]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0177]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0178]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0179]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献