嵌入式设备固件升级方法、装置、电子设备和存储介质与流程
未命名
09-29
阅读:95
评论:0
1.本技术涉及数据处理领域,尤其涉及一种嵌入式设备固件升级方法、装置、电子设备和存储介质。
背景技术:
2.内窥镜产品由镜体,传输连接部,处理器组成,属于复杂的嵌入式系统,传统的内窥镜嵌入式设备在进行系统固件升级时,一般先通过jtag(joint test action group,联合测试工作组)接口将启动加载程序固化到设备的flash存储器(快闪存储器)中,然后再启动加载程序通过串口或网络接口去更新其它系统固件。
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.图1是根据本技术实施例的一种可选的嵌入式设备固件升级方法的流程示意图;
54.图2是根据本技术实施例的一种可选的嵌入式设备固件自动升级的整体流程示意图;
55.图3是根据本技术实施例的一种可选的嵌入式设备固件升级装置的结构框图;
56.图4是根据本技术实施例的一种可选的电子设备的结构框图。
具体实施方式
57.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
58.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
59.电子上下消化道镜,由镜体、光源、处理器组成。镜体头端载有图像传感器,对人体内部组织进行成像,手持部对图像传感器图像电信号进行电平增强,连接部接入光源或处理器。光源对镜体提供照明。处理器对图像进行处理,视频图像显示,并实现人机交互功能。
60.内窥镜系统是典型的嵌入式设备,系统从软件角度来看,可分4个层次,分别为bootloader(即引导加载程序)、linux内核、根文件系统以及用户应用程序。传统的内窥镜嵌入式设备在进行系统固件升级时,采用串口更新系统固件的方式,导致需要搭建的环境较复杂,需要网络客户端和服务器端的配合,增加了整套内镜系统的研发成本,并且容易在升级过程中出现失败的现象。为了解决上述问题,本技术实施例提出一种嵌入式设备固件升级方法,该方法可以应用于嵌入式系统,比如内窥镜系统内,该方法可以包括如下步骤:
61.步骤s101,在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系。
62.可选地,在本技术实施例中,嵌入式系统根据自身上电情况,启动运行bootloader(目标引导加载程序)。具体地,在嵌入式系统接收到自身已处于上电状态的指示信息之后,运行目标引导加载程序。
63.需要说明的是,本技术实施例提供的目标引导加载程序为拓展后的、加入了系统自动升级功能的启动程序,业务人员可以提前对目标引导加载程序的底层代码进行功能开发和优化,使得最终拓展后的目标引导加载程序能够满足嵌入式系统自动升级的目的。
64.基于预先固化的目标引导加载程序初始化串行总线设备(即usb设备)驱动,以检测usb接口与待更新固件的usb存储设备之间的连接关系,进一步地,检测usb接口是否带有待更新固件的usb存储设备连接。
65.步骤s102,根据连接关系确定待更新固件是否存在升级需求。
66.可选地,基于usb接口与待更新固件的usb存储设备连接关系,确定当前待更新固件是否存在升级需求。
67.步骤s103,在存在升级需求的情况下,对待更新固件进行升级。
68.可选地,在确定好待更新固件存在升级需求之后,根据该升级需求对待更新固件执行升级操作。
69.在本技术实施例中,在接收到当前处于上电状态的指示信息的情况下,利用预先
固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;根据连接关系确定待更新固件是否存在升级需求;在存在升级需求的情况下,对待更新固件进行升级。由于本技术实施例利用预先固化的目标引导加载程序初始化串行总线设备驱动,并根据检测到的串行总线接口与待更新固件的串行总线存储设备之间的连接关系,自动判定待更新固件的升级需求,并根据升级需求对待更新固件进行升级,整个过程无须用户干预,嵌入式系统能自动进行检测,这种无需人为干预系统固件自动升级方案,更加高效、灵活、方便、稳定,克服传统的升级方式的局限性,简化系统的升级步骤,减轻研发成本,提高系统升级的稳定性和速度,进而解决了相关技术中存在的升级速度慢、效率低,消耗较多研发成本且稳定性差的问题。
70.作为一种可选实施例,根据连接关系确定待更新固件是否存在升级需求,包括:
71.在串行总线接口处连接有串行总线存储设备的情况下,确定存在升级需求;或者,
72.在串行总线接口处未连接有串行总线存储设备的情况下,确定不存在升级需求。
73.可选地,若usb接口处连接有usb存储设备,则执行系统自动升级流程,对待更新固件进行升级;若usb接口处未连接有usb存储设备,说明待更新固件不存在升级需求,对嵌入式系统所属的嵌入式设备执行正常开机流程。
74.在本技术实施例中,在判断是否需要执行嵌入式系统自动升级流程时,根据usb接口是否已经连接了带有待更新固件的usb存储设备即可,整个过程无须用户干预,嵌入式系统能自动进行检测。
75.作为一种可选实施例,对待更新固件进行升级,包括:
76.读取待更新固件;
77.将待更新固件更新到目标分区,完成对待更新固件的升级。
78.可选地,当嵌入式设备执行系统自动升级流程时,可以通过读取待更新固件到内存的方式,获取到待更新固件,在检验待更新固件无误后,然后将待更新固件更新到flash(即闪存)对应目标分区上,进而完成对待更新固件的升级。
79.在本技术实施例中,通过将读取到的待更新固件更新到目标分区上,自动完成对待更新固件的升级,流程以及操作都较简便。
80.作为一种可选实施例,读取待更新固件,包括:
81.若串行总线存储设备中包含至少一个待更新固件,从目标串行总线存储设备中读取待更新固件。
82.可选地,在本技术实施例中,在读取待更新固件时,可以通过逐个获取usb存储设备的方式读取待更新固件。若usb存储设备中包含至少一个待更新固件,只需将待更新固件读取到内存。
83.作为一种可选实施例,将待更新固件更新到目标分区,包括:
84.获取待更新固件的固件信息,其中,固件信息用于唯一表征待更新固件;
85.根据固件信息获取预先设置在分区表内的预设起始地址和预设结束地址;
86.根据预设起始地址和预设结束地址,确定目标分区;
87.将待更新固件更新到目标分区上。
88.可选地,在将待更新固件读取到内存后,检查待更新固件,在检验无误后,可以将其更新到嵌入式设备的flash对应分区上。
89.其中,在写入分区时,是按照如下方式进行的:flash分区表是从内窥镜设备出厂已经预先设定好的,其包括每个系统固件需要存放到对应的flash分区的预设起始地址和预设结束地址,bootloader目标引导加载程序会通过读取待更新固件的固件信息,比如固件文件名的形式判断出是哪些固件,根据固件信息获取对应的起始地址和结束地址,从而确定出目标分区,更新待更新固件到对应的flash目标分区上。
90.在本技术实施例中,根据起始地址和结束地址确定目标分区,然后直接将待更新固件更新到目标分区上,整个过程无需人为干预,更加高效、灵活、方便、稳定。
91.作为一种可选实施例,在对待更新固件进行升级之后,该方法还包括:
92.在接收到待更新固件升级完成的指示信息的情况下,执行重启操作。
93.可选地,待更新固件升级时,为了方便用户查看升级进度,显示屏可以显示出对应的升级进程的升级进度条,提示用户不能误操作,同时可以发送升级提示信息至终端,比如升级成功信息或升级失败信息等。
94.在接收到提示待更新固件升级完成的指示信息下,可以自动重启嵌入式系统,然后再次开机,完成对嵌入式系统自动升级流程。
95.在本技术实施例中,可以以一种可视化的方式提示待更新固件升级完成,直观性更强,便于嵌入式系统自动进入升级流程。
96.基于上述各实施例的内容,作为一种可选实施例,如图2,本技术实施例公开一种可选的嵌入式设备固件自动升级的整体流程示意图,可以包括如下步骤:
97.开始;
98.系统上电启动,运行bootloader;
99.初始化usb设备驱动;
100.判断是否需要执行系统自动升级流程?
101.若需要升级,则读取usb存储设备固件到内存,检验无误,则更新到flash分区;升级完成,重启新的系统固件;
102.若不需要升级,正常启动原始的系统固件;
103.结束。
104.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
105.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom(read-only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
106.根据本技术实施例的另一个方面,还提供了一种用于实施上述嵌入式设备固件升
级方法的嵌入式设备固件升级装置。图3是根据本技术实施例的一种可选的嵌入式设备固件升级装置的结构框图,如图3所示,该装置可以包括:
107.初始化模块301,用于在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;
108.确定模块302,用于根据连接关系确定待更新固件是否存在升级需求;
109.升级模块303,用于在存在升级需求的情况下,对待更新固件进行升级。
110.需要说明的是,该实施例中的初始化模块301可以用于执行上述步骤s101,该实施例中的确定模块302可以用于执行上述步骤s102,该实施例中的升级模块303可以用于执行上述步骤s103。
111.通过上述模块,利用预先固化的目标引导加载程序初始化串行总线设备驱动,并根据检测到的串行总线接口与待更新固件的串行总线存储设备之间的连接关系,自动判定待更新固件的升级需求,并根据升级需求对待更新固件进行升级,整个过程无须用户干预,嵌入式系统能自动进行检测,这种无需人为干预系统固件自动升级方案,更加高效、灵活、方便、稳定,克服传统的升级方式的局限性,简化系统的升级步骤,减轻研发成本,提高系统升级的稳定性和速度,进而解决了相关技术中存在的升级速度慢、效率低,消耗较多研发成本且稳定性差的问题。
112.作为一种可选的实施例,确定模块包括:
113.第一确定单元,用于在串行总线接口处连接有串行总线存储设备的情况下,确定存在升级需求;或者,
114.第二确定单元,用于在串行总线接口处未连接有串行总线存储设备的情况下,确定不存在升级需求。
115.在本技术实施例中,在判断是否需要执行嵌入式系统自动升级流程时,根据usb接口是否已经连接了带有待更新固件的usb存储设备即可,整个过程无须用户干预,嵌入式系统能自动进行检测。
116.可选地,该装置还包括:
117.在确定不存在升级需求之后,对所属的嵌入式设备执行开机操作。
118.可选地,升级模块包括:
119.读取单元,用于读取待更新固件;
120.更新单元,用于将待更新固件更新到目标分区,完成对待更新固件的升级。
121.在本技术实施例中,通过将读取到的待更新固件更新到目标分区上,自动完成对待更新固件的升级,流程以及操作都较简便。
122.可选地,读取单元包括:
123.读取子模块,用于若串行总线存储设备中包含至少一个待更新固件,从目标串行总线存储设备中读取待更新固件。
124.可选地,更新单元包括:
125.第一获取子模块,用于获取待更新固件的固件信息,其中,固件信息用于唯一表征待更新固件;
126.第二获取子模块,用于根据固件信息获取预先设置在分区表内的预设起始地址和
预设结束地址;
127.确定子模块,用于根据预设起始地址和预设结束地址,确定目标分区;
128.更新子模块,用于将待更新固件更新到目标分区上。
129.在本技术实施例中,根据起始地址和结束地址确定目标分区,然后直接将待更新固件更新到目标分区上,整个过程无需人为干预,更加高效、灵活、方便、稳定。
130.可选地,该装置还包括:
131.重启模块,用于在对待更新固件进行升级之后,在接收到待更新固件升级完成的指示信息的情况下,执行重启操作。
132.在本技术实施例中,可以以一种可视化的方式提示待更新固件升级完成,直观性更强,便于嵌入式系统自动进入升级流程。
133.根据本技术实施例的又一个方面,还提供了一种用于实施上述嵌入式设备固件升级方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
134.图4是根据本技术实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401、通信接口402和存储器403通过通信总线404完成相互间的通信,其中,
135.存储器403,用于存储计算机程序;
136.处理器401,用于执行存储器403上所存放的计算机程序时,实现如下步骤:
137.在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;
138.根据连接关系确定待更新固件是否存在升级需求;
139.在存在升级需求的情况下,对待更新固件进行升级。
140.可选地,在本实施例中,上述的通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
141.通信接口用于上述电子设备与其他设备之间的通信。
142.存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
143.作为一种示例,如图4所示,上述存储器403中可以但不限于包括上述嵌入式设备固件升级装置中的初始化模块301、确定模块302、升级模块303。此外,还可以包括但不限于上述嵌入式设备固件升级装置中的其他模块单元,本示例中不再赘述。
144.上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
145.此外,上述电子设备还包括:显示器,用于显示嵌入式设备固件升级结果。
146.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
147.本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述嵌入式设备固件升级方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图4其并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
148.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
149.根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行嵌入式设备固件升级方法的程序代码。
150.可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
151.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
152.在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;
153.根据连接关系确定待更新固件是否存在升级需求;
154.在存在升级需求的情况下,对待更新固件进行升级。
155.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
156.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
157.根据本技术实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的嵌入式设备固件升级方法步骤。
158.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
159.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例嵌入式设备固件升级方法的全部或部分步骤。
160.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
161.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻
辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
162.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
163.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
164.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种嵌入式设备固件升级方法,其特征在于,所述方法包括:在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;根据所述连接关系确定所述待更新固件是否存在升级需求;在存在所述升级需求的情况下,对所述待更新固件进行升级。2.根据权利要求1所述的嵌入式设备固件升级方法,其特征在于,所述根据所述连接关系确定所述待更新固件是否存在升级需求,包括:在串行总线接口处连接有所述串行总线存储设备的情况下,确定存在升级需求;或者,在串行总线接口处未连接有所述串行总线存储设备的情况下,确定不存在升级需求。3.根据权利要求2所述的嵌入式设备固件升级方法,其特征在于,在所述确定不存在升级需求之后,所述方法还包括:对所属的嵌入式设备执行开机操作。4.根据权利要求1所述的嵌入式设备固件升级方法,其特征在于,所述对所述待更新固件进行升级,包括:读取所述待更新固件;将所述待更新固件更新到目标分区,完成对所述待更新固件的升级。5.根据权利要求4所述的嵌入式设备固件升级方法,其特征在于,所述读取所述待更新固件,包括:若所述串行总线存储设备中包含至少一个所述待更新固件,从所述目标串行总线存储设备中读取所述待更新固件。6.根据权利要求4所述的嵌入式设备固件升级方法,其特征在于,所述将所述待更新固件更新到目标分区,包括:获取所述待更新固件的固件信息,其中,所述固件信息用于唯一表征所述待更新固件;根据所述固件信息获取预先设置在分区表内的预设起始地址和预设结束地址;根据所述预设起始地址和所述预设结束地址,确定所述目标分区;将所述待更新固件更新到所述目标分区上。7.根据权利要求1至6任一项所述的嵌入式设备固件升级方法,其特征在于,在所述对所述待更新固件进行升级之后,所述方法还包括:在接收到所述待更新固件升级完成的指示信息的情况下,执行重启操作。8.一种嵌入式设备固件升级装置,其特征在于,所述装置包括:初始化模块,用于在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;确定模块,用于根据所述连接关系确定所述待更新固件是否存在升级需求;升级模块,用于在存在所述升级需求的情况下,对所述待更新固件进行升级。9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至7中任一项中所述的方法步骤。
技术总结
本申请提供了一种嵌入式设备固件升级方法、装置、电子设备和存储介质,其中,该方法包括:在接收到当前处于上电状态的指示信息的情况下,利用预先固化的目标引导加载程序初始化串行总线设备驱动,以检测串行总线接口与待更新固件的串行总线存储设备之间的连接关系;根据连接关系确定是否存在升级需求连接关系确定待更新固件是否存在升级需求;在存在升级需求的情况下,对待更新固件进行升级。通过本申请,解决了相关技术中存在的升级速度慢、效率低,消耗较多研发成本且稳定性差的问题。消耗较多研发成本且稳定性差的问题。消耗较多研发成本且稳定性差的问题。
技术研发人员:黄莨元 董亮
受保护的技术使用者:深圳市科曼医疗设备有限公司
技术研发日:2023.04.28
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/