一种固件处理方法、装置、设备及存储介质与流程

未命名 10-18 阅读:136 评论:0


1.本技术涉及互联网技术领域,尤其涉及一种固件处理方法、装置、设备及存储介质。


背景技术:

2.随着开源鸿蒙系统的不断发展与广泛应用,鸿蒙设备的功能越来越多。
3.然而,现有的鸿蒙设备无法为外部设备提供固件升级包,不利于提高固件升级效率。其原因在于,固件升级包的参数很多,如果采用人工在外部设备配置固件升级包的参数,工作量很大,费时费力,因此现有的鸿蒙设备无法为外部设备提供固件升级包,不利于提高固件升级效率。


技术实现要素:

4.本技术实施例提供一种固件处理方法、装置、设备及存储介质,以解决上述现有的鸿蒙设备无法为外部设备提供固件升级包,不利于提高固件升级效率。
5.第一方面,本技术实施例提供了一种固件处理方法,所述固件处理方法包括:
6.获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;
7.将所述gpio配置方案传输至预设的gpio数据寄存器;
8.控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;
9.配置所述模拟i2c总线中gpio引脚的电平状态;
10.根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;
11.如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
12.作为一个可选的实施方式,所述获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案,具体为:
13.获取所述鸿蒙系统的共享请求,在所述共享请求中获取共享对象;
14.判断所述共享对象是否为所述鸿蒙系统的固件升级包;
15.如果所述共享对象为所述鸿蒙系统的固件升级包,就获取所述固件升级包对应的所述gpio配置方案。
16.作为一个可选的实施方式,所述配置所述模拟i2c总线中gpio引脚的电平状态,具体为:
17.在所述gpio数据寄存器获取所述gpio引脚的当前状态;
18.判断所述gpio引脚的当前状态是否为占用状态;
19.如果所述gpio引脚的当前状态不为所述占用状态,将所述gpio引脚的电平状态配置为预设的第一电平。
20.作为一个可选的实施方式,所述根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备,具体为:
21.判断所述gpio引脚是否从预设的第一电平变为预设的第二电平;
22.如果所述gpio引脚从所述第一电平变为所述第二电平,就判断所述模拟i2c总线已经连接所述外部设备。
23.作为一个可选的实施方式,所述如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级,具体为:
24.如果所述模拟i2c总线连接所述外部设备;
25.获取所述固件升级包中的升级内容;
26.如果所述模拟i2c总线连接了所述外部设备,如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述升级内容完成固件升级。
27.作为一个可选的实施方式,所述升级信号包括低电平信号和高电平信号中的其中一种。
28.作为一个可选的实施方式,所述鸿蒙设备为搭载了开源鸿蒙系统的设备。
29.第二方面,本技术实施例还提供了一种固件处理装置,所述固件处理装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行上述的固件处理方法。
30.第三方面,本技术实施例还提供了一种设备,所述设备包括如上述的固件处理装置。
31.第四方面,本技术实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序被处理器执行时使所述处理器实现上述的固件处理方法。
32.本技术实施例提供了一种固件处理方法、装置、设备及存储介质,方法包括:
33.获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;
34.将所述gpio配置方案传输至预设的gpio数据寄存器;
35.控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;
36.配置所述模拟i2c总线中gpio引脚的电平状态;
37.根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;
38.如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
39.本技术实施例有益效果在于两方面,一方面,鸿蒙设备能给外部设备提供固件升级包,有利于提高固件升级效率;另一方面,简化了鸿蒙设备的固件处理过程,有利于提高固件处理的效率。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本技术实施例提供的固件处理方法的流程示意图;
42.图2是本技术实施例提供的获取gpio配置方案的流程图;
43.图3是本技术实施例提供的配置gpio引脚的流程图;
44.图4是本技术实施例提供的连接外部设备的流程图;
45.图5是本技术实施例提供的固件处理装置的示意性框图。
具体实施方式
46.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
48.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在部分实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
49.另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
50.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
51.请参阅图1,图1是本技术实施例提供的固件处理方法的流程示意图,该方法可以应用于设备,其中,设备可以是手机、相机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、个人计算机(personal computer,pc)、上网本、个人数字助理(personal digital assistant,pda)中任一者,本技术实施例中不作任何限制。
52.如图1所示,本技术实施例提供的固件处理方法包括以下步骤,详述如下:
53.s101,获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;
54.其中,获取用户编译的固件升级包作为鸿蒙系统的固件升级包;或者,获取网络下载的固件升级包作为鸿蒙系统的固件升级包。
55.需说明的是,获取鸿蒙系统的固件升级包,具体为:
56.通过预设网络模式连接服务器,在所述服务器中下载固件升级包。
57.其中,预设网络模式包括3g网络模式、4g网络模式、5g网络模式、wifi网络模式中的其中一种或其组合。
58.其中,gpio配置方案,可以由用户配置,也可以由系统配置,在此不做限制。
59.s102,将所述gpio配置方案传输至预设的gpio数据寄存器;
60.s103,控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;
61.其中,gpio数据寄存器收到gpio配置方案后,根据gpio配置方案,控制gpio管脚模拟i2c总线。
62.s104,配置所述模拟i2c总线中gpio引脚的电平状态;
63.其中,配置所述模拟i2c总线指定的gpio引脚的电平状态。
64.s105,根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;
65.s106,如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
66.其中,s106,具体为:
67.如果所述模拟i2c总线连接所述外部设备;
68.获取所述固件升级包中的升级内容;
69.如果所述模拟i2c总线连接了所述外部设备,如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述升级内容完成固件升级。
70.其中,所述升级信号包括低电平信号和高电平信号中的其中一种。
71.其中,升级信号用于指示所述外部设备通过所述模拟i2c总线读取所述升级内容完成固件升级。
72.当本设备准备好固件升级包后,就通过升级信号通知外部设备,以使外部设备主动通过所述模拟i2c总线读取所述升级内容完成固件升级。
73.其中,外部设备包括但不限于没有屏幕的鸿蒙设备。这样,即使外部设备无法直接连接服务器,也可以通过本设备提供的固件升级包,完成固件升级,有利于提高固件升级效率。
74.其中,所述鸿蒙设备为搭载了开源鸿蒙系统的设备。
75.需说明的是,在s106之后,方法还包括:
76.在预设时间内,检测是否接收到所述外部设备发送的升级成功指令;
77.在预设时间内,如果接收到所述外部设备发送的升级成功指令,在屏幕上显示升级成功的指令。
78.在预设时间内,如果没接收到所述外部设备发送的升级成功指令,重新向所述外部设备发送所述升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。其中,重新发送升级信号再次通知外部设备,这样,即使外部设备处于休眠状态,也能唤醒外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
79.其中,预设时间可以为用户预设,也可以系统默认,在此不做限制。
80.本技术实施例有益效果在于两方面,一方面,鸿蒙设备能给外部设备提供固件升级包,有利于提高固件升级效率;另一方面,简化了鸿蒙设备的固件处理过程,有利于提高固件处理的效率。
81.请参阅图2,图2是本技术实施例提供的获取gpio配置方案的流程图,详述如下:
82.s201,获取所述鸿蒙系统的共享请求,在所述共享请求中获取共享对象;
83.s202,判断所述共享对象是否为所述鸿蒙系统的固件升级包;
84.s203,如果所述共享对象为所述鸿蒙系统的固件升级包,就获取所述固件升级包对应的所述gpio配置方案。
85.在本技术实施例中,通过获取gpio配置方案,有利于生成所述gpio配置方案对应的模拟i2c总线。
86.请参阅图3,图3是本技术实施例提供的配置gpio引脚的流程图,详述如下:
87.s301,在所述gpio数据寄存器获取所述gpio引脚的当前状态;
88.s302,判断所述gpio引脚的当前状态是否为占用状态;
89.s303,如果所述gpio引脚的当前状态不为所述占用状态,将所述gpio引脚的电平状态配置为预设的第一电平。
90.在本技术实施例中,如果所述gpio引脚的当前状态不为所述占用状态,将所述gpio引脚的电平状态配置为预设的第一电平,避免了配置占用状态下的gpio引脚,有利于提高配置gpio引脚的准确率。
91.请参阅图4,图4是本技术实施例提供的连接外部设备的流程图,详述如下:
92.s401,判断所述gpio引脚是否从预设的第一电平变为预设的第二电平;
93.s402,如果所述gpio引脚从所述第一电平变为所述第二电平,就判断所述模拟i2c总线已经连接所述外部设备。
94.其中,第一电平和第二电平为不同的电平。第一电平为低电平时,第二电平为高电平。第一电平为高电平时,第二电平为低电平。
95.在本技术实施例中,如果gpio引脚从所述第一电平变为所述第二电平,说明电平发生了变化,所述模拟i2c总线已经连接所述外部设备,后续所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
96.请参阅图5,图5是本技术实施例提供的固件处理装置的示意性框图。
97.如图5所示,该固件处理装置200可以包括处理器211和存储器212,处理器211和存储器212通过总线连接,该总线比如为i2c(inter-integrated circuit)总线。
98.具体地,处理器211可以是微控制单元(micro-controller unit,mcu)、中央处理单元(central processing unit,cpu)或数字信号处理器(digital signal processor,dsp)等。
99.具体地,存储器212可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。存储器212中存储有供处理器211执行的各种计算机程序。
100.其中,所述处理器211用于运行存储在存储器处理器211中的计算机程序,并在执行所述计算机程序时实现如下步骤:
101.获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;
102.将所述gpio配置方案传输至预设的gpio数据寄存器;
103.控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;
104.配置所述模拟i2c总线中gpio引脚的电平状态;
105.根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;
106.如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
107.在一些实施例中,处理器211,用于实现:
108.获取所述鸿蒙系统的共享请求,在所述共享请求中获取共享对象;
109.判断所述共享对象是否为所述鸿蒙系统的固件升级包;
110.如果所述共享对象为所述鸿蒙系统的固件升级包,就获取所述固件升级包对应的所述gpio配置方案。
111.在一些实施例中,处理器211,用于实现:
112.在所述gpio数据寄存器获取所述gpio引脚的当前状态;
113.判断所述gpio引脚的当前状态是否为占用状态;
114.如果所述gpio引脚的当前状态不为所述占用状态,将所述gpio引脚的电平状态配置为预设的第一电平。
115.在一些实施例中,处理器211,用于实现:
116.判断所述gpio引脚是否从预设的第一电平变为预设的第二电平;
117.如果所述gpio引脚从所述第一电平变为所述第二电平,就判断所述模拟i2c总线已经连接所述外部设备。
118.在一些实施例中,处理器211,用于实现:
119.如果所述模拟i2c总线连接所述外部设备;
120.获取所述固件升级包中的升级内容;
121.如果所述模拟i2c总线连接了所述外部设备,如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述升级内容完成固件升级。
122.在一些实施例中,处理器211,用于实现:
123.所述升级信号包括低电平信号和高电平信号中的其中一种。
124.在一些实施例中,处理器211,用于实现:
125.所述鸿蒙设备为搭载了开源鸿蒙系统的设备。
126.本技术的实施例中还提供一种设备,该设备的类型包括但不限于是手机、相机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、个人计算机(personal computer,pc)、上网本、个人数字助理(personal digital assistant,pda)等,本技术实施例中不作任何限制。
127.其中,该设备包括固件处理装置,示例性的,该固件处理装置可以为上述实施例中所述的固件处理装置200。设备可以执行本技术实施例所提供的任一种固件处理方法,因此,可以实现本技术实施例所提供的任一种固件处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
128.本技术的实施例中还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现上述实施例提供的固件处理方法的步骤。例如,该计算机程序被处理器加载,可以执行如下步骤:
129.获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;
130.将所述gpio配置方案传输至预设的gpio数据寄存器;
131.控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;
132.配置所述模拟i2c总线中gpio引脚的电平状态;
133.根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;
134.如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。
135.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
136.其中,所述存储介质可以是前述实施例的固件处理装置或设备的内部存储单元,例如固件处理装置或设备的硬盘或内存。所述存储介质也可以是固件处理装置或设备的外部存储设备,例如固件处理装置或设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
137.由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种固件处理方法,因此,可以实现本技术实施例所提供的任一种固件处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
138.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种固件处理方法,其特征在于,所述固件处理方法包括:获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案;将所述gpio配置方案传输至预设的gpio数据寄存器;控制所述gpio数据寄存器生成所述gpio配置方案对应的模拟i2c总线;配置所述模拟i2c总线中gpio引脚的电平状态;根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备;如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级。2.根据权利要求1所述的方法,其特征在于,所述获取鸿蒙系统的固件升级包以及所述固件升级包对应的gpio配置方案,具体为:获取所述鸿蒙系统的共享请求,在所述共享请求中获取共享对象;判断所述共享对象是否为所述鸿蒙系统的固件升级包;如果所述共享对象为所述鸿蒙系统的固件升级包,就获取所述固件升级包对应的所述gpio配置方案。3.根据权利要求1所述的方法,其特征在于,所述配置所述模拟i2c总线中gpio引脚的电平状态,具体为:在所述gpio数据寄存器获取所述gpio引脚的当前状态;判断所述gpio引脚的当前状态是否为占用状态;如果所述gpio引脚的当前状态不为所述占用状态,将所述gpio引脚的电平状态配置为预设的第一电平。4.根据权利要求1所述的方法,其特征在于,所述根据所述gpio引脚的电平状态,判断所述模拟i2c总线是否连接外部设备,具体为:判断所述gpio引脚是否从预设的第一电平变为预设的第二电平;如果所述gpio引脚从所述第一电平变为所述第二电平,就判断所述模拟i2c总线已经连接所述外部设备。5.根据权利要求1所述的方法,其特征在于,所述如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述固件升级包完成固件升级,具体为:如果所述模拟i2c总线连接所述外部设备;获取所述固件升级包中的升级内容;如果所述模拟i2c总线连接了所述外部设备,如果所述模拟i2c总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟i2c总线读取所述升级内容完成固件升级。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述升级信号包括低电平信号和高电平信号中的其中一种。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述鸿蒙设备为搭载了开源鸿蒙系统的设备。8.一种固件处理装置,其特征在于,所述固件处理装置包括处理器、存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时,实现
如权利要求1至7中任一项所述的固件处理方法。9.一种设备,其特征在于,所述设备包括如权利要求8所述的固件处理装置。10.一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的固件处理方法的步骤。

技术总结
本申请公开了一种固件处理方法、装置、设备及存储介质,该方法包括:获取鸿蒙系统的固件升级包以及所述固件升级包对应的GPIO配置方案;将所述GPIO配置方案传输至预设的GPIO数据寄存器;控制所述GPIO数据寄存器生成所述GPIO配置方案对应的模拟I2C总线;配置所述模拟I2C总线中GPIO引脚的电平状态;根据所述GPIO引脚的电平状态,判断所述模拟I2C总线是否连接外部设备;如果所述模拟I2C总线连接了所述外部设备,向所述外部设备发送升级信号,以指示所述外部设备通过所述模拟I2C总线读取所述固件升级包完成固件升级。本申请简化了固件处理过程,有利于提高固件处理的效率。有利于提高固件处理的效率。有利于提高固件处理的效率。


技术研发人员:吕众海 曾嘉 胡善武
受保护的技术使用者:深圳开鸿数字产业发展有限公司
技术研发日:2023.05.25
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐