设备固件更新方法、电子装置及存储介质与流程

文档序号:32996537发布日期:2023-01-18 00:17阅读:36来源:国知局
设备固件更新方法、电子装置及存储介质与流程

1.本技术涉及固件管理技术领域,尤其涉及一种设备固件更新方法、电子装置及存储介质。


背景技术:

2.现如今,mcu(microcontroller unit,微控制器)已广泛应用于家电控制、车用电子、教育娱乐、机器人等领域,可以提高产品的智能化。许多设备如机器人等通常设有多个mcu以实现不同的功能,为加入新的功能或修复异常,包含mcu在内的嵌入式系统需要具备现场更新固件的能力。常用的固件更新方法为将每个mcu与烧录器连接,通过烧录器将固件烧录至mcu,然而,由于mcu通常位于设备的不同位置,连接烧录器需要花费大量时间,从而降低固件更新效率。此外,设备内部线路分布复杂,将mcu与烧录器连接的过程中容易造成线路错接或短路,从而导致损坏设备。


技术实现要素:

3.有鉴于此,有必要提供一种设备固件更新方法、电子装置及存储介质,通过网络将固件传输至终端设备的微控制器进行固件更新。
4.本技术提供一种设备固件更新方法,所述方法包括:
5.通过通信装置建立电子装置与至少一终端设备之间的网络连接,其中,所述通信装置与所述终端设备通信连接,所述终端设备包括至少一个微控制器;
6.测试所述电子装置与所述通信装置之间的连接强度,以及测试所述电子装置与所述终端设备之间的连接强度;
7.若所述电子装置与所述通信装置之间的连接强度以及所述电子装置与所述终端设备之间的连接强度通过测试,发送固件更新指令至所述终端设备;
8.接收所述终端设备的至少一微控制器发送的固件读取指令,将待更新的固件发送至所述微控制器,控制所述微控制器进行固件更新。
9.可选地,所述方法还包括:
10.判断所述电子装置是否在发送所述固件更新指令的预设时间内接收到所述终端设备反馈的固件更新状态;
11.若所述电子装置未在所述预设时间内接收到所述终端设备发送的固件更新状态,或所述终端设备反馈的所述固件更新状态为更新失败,重新发送所述固件更新指令至所述终端设备,并输出提示信息。
12.可选地,所述测试所述电子装置与所述通信装置之间的连接强度包括:
13.在所述电子装置与所述通信装置无线连接时,接收所述通信装置的无线信号;
14.判断接收所述无线信号时的第一接收信号强度是否大于或等于第一阈值,若所述第一接收信号强度大于或等于所述第一阈值,确定所述电子装置与所述通信装置之间的连接强度通过测试。
15.可选地,所述测试所述电子装置与所述终端设备之间的连接强度包括:
16.根据广播地址发送指令至所述终端设备,并接收所述终端设备发送的反馈指令;
17.判断接收所述反馈指令时的第二接收信号强度是否大于或等于第二阈值,若所述第二接收信号强度大于或等于所述第二阈值,确定所述电子装置与所述终端设备之间的连接强度通过测试。
18.可选地,所述终端设备还包括控制主板,所述控制主板通过uart接口与所述至少一个微控制器连接,每一微控制器具有一识别信息,所述方法还包括:
19.确定需要进行固件更新的微控制器的识别信息,根据所述微控制器的识别信息生成所述固件更新指令,并将所述固件更新指令发送至所述终端设备的控制主板,通过所述控制主板根据所述固件更新指令中的识别信息确定需要进行固件更新的微控制器,并将所述固件更新指令发送至需要进行固件更新的所述微控制器。
20.可选地,所述确定需要进行固件更新的微控制器的识别信息包括:
21.接收所述控制主板发送的来自所述微控制器自动生成的固件读取指令,根据所述固件读取指令确定所述微控制器的识别信息,并将所述微控制器的识别信息确定为需要进行固件更新的微控制器的识别信息。
22.可选地,所述控制主板包括以太网接口,所述电子装置将所述固件更新指令或所述待更新的固件经由所述通信装置传送至所述以太网接口,再经由所述uart接口将所述固件更新指令或所述待更新的固件分发至所述微控制器。
23.可选地,所述将待更新的固件发送至所述微控制器,控制所述微控制器进行固件更新包括:
24.将待更新的固件发送至所述微控制器,控制所述微控制器根据引导加载程序进行固件更新。
25.本技术还提供一种电子装置,包括:
26.处理器;以及
27.存储器,所述存储器中存储有多个程序模块,所述多个程序模块由所述处理器加载并执行上述的设备固件更新方法。
28.本技术还提供一种计算机可读存储介质,其上存储有至少一条计算机指令,所述指令由处理器并加载执行上述的设备固件更新方法。
29.上述设备固件更新方法、电子装置及存储介质通过网络将固件传输至终端设备的微控制器进行固件更新,固件在网络中传输速度较快,有效提高了固件更新效率,并且避免微控制器与烧录器连接的过程中造成线路错接或短路,从而有效保护终端设备。
附图说明
30.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
31.图1是本技术较佳实施方式提供的设备固件更新方法的应用环境架构示意图。
32.图2是本技术较佳实施方式提供的电子装置、通信装置与终端设备的连接示意图。
33.图3是本技术较佳实施方式提供的设备固件更新方法的流程图。
34.图4是本技术较佳实施方式提供的电子装置的结构示意图。
35.主要元件符号说明
36.电子装置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ137.处理器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
10
38.存储器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
20
39.计算机程序
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
30
40.通信装置
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ241.终端设备
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ342.控制主板
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
300
43.以太网接口
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
301
44.第一uart接口
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
302
45.微控制器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
303
46.第二uart接口
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
304
47.存储单元
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
305
48.移动终端
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ449.如下具体实施方式将结合上述附图进一步说明本技术。
具体实施方式
50.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施例对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
51.在下面的描述中阐述了很多具体细节以便于充分理解本技术,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
53.请参阅图1所示,为本技术较佳实施方式提供的设备固件更新方法的应用环境架构示意图。
54.本技术中的设备固件更新方法应用在电子装置1中,所述电子装置1与通信装置2及移动终端4通过网络建立通信连接。所述网络可以是有线网络,也可以是无线网络,例如无线电、无线保真(wireless fidelity,wifi)、蜂窝、卫星、广播等。蜂窝网络可以是4g网络或5g网络。所述通信装置2与所述终端设备3通过网络建立通信连接,从而使得所述电子装置1经由所述通信装置2与所述终端设备3建立通信连接。
55.所述电子装置1可以为安装有设备固件更新程序的电子设备,例如个人电脑、服务器等,其中,所述服务器可以是单一的服务器、服务器集群等。
56.所述通信装置2为路由器、交换机等。所述终端设备3可以是个人电脑、服务器、智能电视、机器人等。所述移动终端4为智能手机、平板电脑、个人数字助理等。
57.请参阅图2所示,所述终端设备3包括,但不仅限于,控制主板300及至少一微控制器303。所述控制主板300至少包括以太网接口301及第一uart(universal asynchronous receiver/transmitter,通用异步收发传输器)接口302。所述微控制器303至少包括第二uart接口304及存储单元305。所述电子装置1与所述通信装置2通信连接,每个终端设备3的以太网接口301与所述通信装置2连接,每个微控制器303的第二uart接口304与所述控制主板300的第一uart接口302连接。
58.请参阅图3所示,为本技术较佳实施方式提供的设备固件更新方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
59.s301,通过通信装置2建立电子装置1与至少一终端设备3之间的网络连接。
60.在一实施方式中,将所述电子装置1与所述通信装置2通过无线网络进行连接,将至少一个终端设备3的以太网接口301与所述通信装置2通过无线网络连接,从而电子装置1与至少一终端设备3之间的无线网络连接。
61.s302,测试所述电子装置1与所述通信装置2之间的连接强度,以及测试所述电子装置1与所述终端设备3之间的连接强度。
62.在一实施方式中,在所述电子装置1与所述通信装置2无线连接时,接收所述通信装置2的无线信号,判断接收所述无线信号时的第一接收信号强度是否大于或等于第一阈值。若所述第一接收信号强度大于或等于所述第一阈值,确定所述电子装置1与所述通信装置2之间的连接强度通过测试。若所述第一接收信号强度小于所述第一阈值,确定所述电子装置1与所述通信装置2之间的连接强度未通过测试。
63.在一实施方式中,根据广播地址(broadcast address)发送指令至所述终端设备3,并接收所述终端设备3发送的反馈指令,判断接收所述反馈指令时的第二接收信号强度是否大于或等于第二阈值。若所述第二接收信号强度大于或等于所述第二阈值,确定所述电子装置1与所述终端设备3之间的连接强度通过测试。若所述第二接收信号强度小于所述第二阈值,确定所述电子装置1与所述终端设备3之间的连接强度未通过测试。
64.所述广播地址是用于同时向网络中所有终端设备3进行发送的一个地址。在tcp/ip协议的网络中,主机标识段host id为全1的ip地址为广播地址,广播的分组传送给host id段所涉及的所有终端设备3。例如,对于10.1.1.0(255.255.255.0)网段,广播地址为10.1.1.255(255即为2进制的11111111),当发出一个目的地址为10.1.1.255的数据包时,所述数据包将被分发给该网段上的所有终端设备。在一实施方式中,所述指令为测试指令,将目的地址为所述广播地址的测试指令发送至所述通信装置2,通过所述通信装置2将所述测试指令分发至所述终端设备3,所述终端设备3在接收到所述测试指令后,发送所述反馈指令至所述电子装置1,具体为经由所述通信装置2将所述反馈指令发送所述电子装置1。
65.s303,若所述电子装置1与所述通信装置2之间的连接强度以及所述电子装置1与所述终端设备3之间的连接强度通过测试,发送固件更新指令至所述终端设备3。
66.在一实施方式中,每个微控制器303具有一识别信息,s303包括:确定需要进行固件更新的微控制器303的识别信息,根据所述微控制器303的识别信息生成所述固件更新指令,并将所述固件更新指令发送至所述终端设备3的控制主板300,通过所述控制主板300根据所述固件更新指令中的识别信息确定需要进行固件更新的微控制器303,并将所述固件更新指令发送至需要进行固件更新的所述微控制器303。
67.在一实施方式中,所述识别信息可以是预设的编号、序列号或识别码。所述电子装置1存储有连接的终端设备3的所有微控制器303的识别信息及固件版本。在对终端设备3的微控制器的固件进行管理的过程中,电子装置1的存储器存储所有微控制器的实时固件信息,例如固件版本。用户可以通过查询所有微控制器303的固件版本确定固件版本不是最新的微控制器303,确定固件版本不是最新的微控制器303需要进行固件更新,获取需要进行固件更新的微控制器303的识别信息,并根据所述识别信息生成所述固件更新指令,使得所述固件更新指令包含所述识别信息。
68.在另一实施方式中,用户可以在检修所有微控制器303的过程中确定因故障而需要进行固件更新的微控制器303。其中,所述故障可以是固件异常或其他可以通过固件更新进行修复的故障。获取所述因故障而需要进行固件更新的微控制器303的识别信息,并根据所述识别信息生成所述固件更新指令。
69.在其他实施方式中,接收所述控制主板300发送的来自所述微控制器303自动生成的固件读取指令,根据所述固件读取指令确定所述微控制器303的识别信息,并将所述微控制器303的识别信息确定为需要进行固件更新的微控制器303的识别信息。可以理解的是,在所述微控制器303发生固件故障或一定时间(例如一周)内未更新固件时,可以自动发送固件读取指令至所述控制主板300,所述控制主板300在接收到所述微控制器303自动发送的固件读取指令时,确定自动发送所述固件读取指令的所述微控制器303的识别信息,将所述固件读取指令和所述识别信息经由所述通信装置2发送至所述电子装置1,所述电子装置1在接收到所述固件读取指令和所述识别信息时,将所述识别信息确定为需要进行固件更新的微控制器303的识别信息,并发送待更新的固件至所述识别信息对应的微控制器303。
70.s304,接收所述终端设备3的至少一微控制器303发送的固件读取指令,将待更新的固件发送至所述微控制器303,控制所述微控制器303进行固件更新。
71.在一实施方式中,将待更新的固件发送至所述微控制器303,控制所述微控制器303根据引导加载程序(bootloader)进行固件更新。
72.具体的,在所述微控制器303接收到所述固件更新指令时,对系统进行重置,并启动bootloader,bootloader可以初始化硬件设备和建立内存空间映射图,在所述存储单元305划分用于存储所述待更新的固件的存储区域,然后在所述待更新的固件传送至所述微控制器303时,bootloader读取所述待更新的固件,将所述待更新的固件存储于所述存储区域,使用所述待更新的固件覆盖原始固件,从而进行固件更新。在固件更新完成后,关闭bootloader。
73.在一实施方式中,所述电子装置1将所述固件更新指令或所述待更新的固件经由所述通信装置2传送至所述以太网接口301,再经由所述第一uart接口302根据所述固件更新指令中的识别信息,识别出需要进行固件更新的微控制器303,然后将所述固件更新指令或所述待更新的固件分发至所述需要进行固件更新的微控制器303的第二uart接口304,所述微控制器303基于所述待更新的固件进行固件更新。
74.s305,判断所述电子装置1是否在发送所述固件更新指令后的预设时间内接收到所述终端设备3发送的固件更新状态。
75.在一实施方式中,在bootloader关闭后,所述微控制器303对系统进行重置,并运行更新后的固件,若更新后的固件正常运行,确定固件更新状态为更新成功,若更新后的固
件未正常运行,确定固件更新状态为失败。所述微控制器303进一步将所述固件更新状态发送至所述控制主板300,所述控制主板300将所述固件更新状态经由所述通信装置2发送至所述电子装置1。可选地,所述预设时间为三十分钟。
76.s306,若所述电子装置1未在所述预设时间内接收到所述终端设备3发送的固件更新状态,或接收到的所述固件更新状态为更新失败,重新发送所述固件更新指令至所述终端设备3,重复上述s304-s305,并输出提示信息,将所述提示信息发送至所述移动终端4,以提醒用户所述微控制器303的固件更新失败。其中,所述提示信息至少包括所述微控制器303的识别信息,以便于用户确定固件更新失败的微控制器303。
77.若所述电子装置1在所述预设时间内接收到所述终端设备3发送的固件更新状态,并且接收到的所述固件更新状态为更新成功,说明所述微控制器303的固件更新成功。
78.请参阅图4所示,为本技术较佳实施方式提供的电子装置的结构示意图。
79.所述电子装置1包括,但不仅限于,处理器10、存储器20及存储在所述存储器20中并可在所述处理器10上运行的计算机程序30。例如,所述计算机程序30为设备固件更新程序。所述处理器10执行所述计算机程序30时实现设备固件更新方法中的步骤,例如图3所示的步骤s301~s306。
80.示例性的,所述计算机程序30可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器10执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序30在所述电子装置1中的执行过程。
81.本领域技术人员可以理解,所述示意图仅仅是电子装置1的示例,并不构成对电子装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子装置1还可以包括输入输出设备、网络接入设备、总线等。
82.所称处理器10可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微控制器或者所述处理器10也可以是任何常规的处理器等,所述处理器10是所述电子装置1的控制中心,利用各种接口和线路连接整个电子装置1的各个部分。
83.所述存储器20可用于存储所述计算机程序30和/或模块/单元,所述处理器10通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述电子装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括易失性和非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
84.所述电子装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实
现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)。
85.本技术提供的设备固件更新方法、电子装置及存储介质通过网络将固件传输至终端设备的微控制器进行固件更新,固件在网络中传输速度较快,有效提高了固件更新效率,并且避免微控制器与烧录器连接的过程中造成线路错接或短路,从而有效保护终端设备。
86.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由同一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
87.以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1