CN109144554A - 固件升级方法、相关设备、系统及介质 - Google Patents
固件升级方法、相关设备、系统及介质 Download PDFInfo
- Publication number
- CN109144554A CN109144554A CN201810643977.3A CN201810643977A CN109144554A CN 109144554 A CN109144554 A CN 109144554A CN 201810643977 A CN201810643977 A CN 201810643977A CN 109144554 A CN109144554 A CN 109144554A
- Authority
- CN
- China
- Prior art keywords
- electronic equipment
- firmware
- firmware updating
- mentioned
- updating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Abstract
本发明实施例涉及电子技术领域,公开了一种固件升级方法、相关设备、系统及介质,该方法包括:第一电子设备从服务器获取升级固件;所述升级固件包含第一升级固件和第二升级固件;所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件;所述第一电子设备向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。本申请中,第一电子设备从服务器下载包含第一升级固件和第二升级固件的升级固件;利用所述第一升级固件升级所述第一电子设备的固件,并利用所述第二升级固件升级第二电子设备的固件;可以一次性下载升级主固件和第二电子设备固件所需文件,操作简单。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种固件升级、相关设备、系统及介质。
背景技术
随着物联网技术的快速发展,越来越多的设备需要接入到互联网中,以便设备实时从互联网获取数据。在实际应用中,有时需要不停的升级设备中的应用程序(固件),实现设备功能的升级,以更好地满足用户的功能需求。
当前采用的一种固件升级方案是电子设备通过WIFI下载其升级所需的升级固件,然后利用该升级固件进行固件升级。在该方案中,每个需要进行固件升级的电子设备都需要通过WIFI从服务器获取到相应的升级固件。可见,每个需要进行固件升级的电子设备均需要具备WIFI功能,成本较高。另外,不能直接从服务器获取升级固件的电子设备,无法进行固件升级。
发明内容
本申请提供了一种固件升级方法、相关设备、系统及介质,可以一次性下载升级两个或两个以上设备的固件所需的文件,并实现两个或两个设备的升级,操作简单,成本低。
第一方面本申请提供了一种固件升级方法,该方法包括:
第一电子设备从服务器获取升级固件;所述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件;
所述第一电子设备向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。
所述第一电子设备既可以利用第一升级固件实现自身的固件升级,又可以向所述第二电子设备传输第二升级固件,以便于实现第二电子设备的固件升级。可见,所述第二电子设备不需要从服务器获取其进行固件升级所需的升级固件,也就不需要具体与服务器进行通信的功能,减少成本。
本申请中,第一电子设备利用其从服务器获取的升级固件,可以实现其自身的固件升级以及与其相耦合的第二电子设备的固件升级;实现简单,成本低。
在一个可选的实现方式中,所述升级固件包含第一信息;所述第一信息用于指示所述第一升级固件在所述升级固件中对应的地址范围;所述第一电子设备从服务器获取升级固件包括:
所述第一电子设备从所述服务器获取所述升级固件,并存储到所述第一电子设备对应的存储设备;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件包括:
所述第一电子设备根据所述第一信息从所述存储设备存储的所述升级固件中提取所述第一升级固件;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件。
在该实现方式中,第一电子设备通过第一信息,可以准确、快速地确定其升级所需的第一升级固件,实现简单。
在一个可选的实现方式中,所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备向所述第二电子设备发送复位指令;所述复位指令用于指示所述第二电子设备进行复位;
所述第一电子设备接收来自所述第二电子设备的第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;
所述第一电子设备根据第二版本信息和所述第一版本信息的比对结果,确定需要升级所述第二电子设备的固件;所述第二版本信息包含所述第二升级固件的版本信息。
在该实现方式中,第一电子设备通过比较第二电子设备的固件的版本信息和第二升级固件的版本信息,进而确定是否向该第二电子设备发送该第二升级固件,操作简单,可以避免向该第二电子设备其不需要的升级固件。
在一个可选的实现方式中,所述升级固件包含第二信息;所述第二信息用于指示所述第二升级固件在所述升级固件中对应的地址范围;所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备根据所述第二信息从所述存储设备存储的所述升级固件中提取所述第二升级固件。
在该实现方式中,第一电子设备根据第二信息可以准确、完整地提取到待向第二电子设备发送的升级固件。
在一个可选的实现方式中,所述第一电子设备根据所述第一信息从所述存储设备存储的所述升级固件中提取所述第一升级固件之前,所述方法还包括:
所述第一电子设备复位后,运行第一启动引导程序;所述第一启动引导程序用于为升级所述第一电子设备的固件提供软硬件环境。
在该实现方式中,第一电子设备在进行固件升级前,通过运行第一启动引导程序为进行固件升级提供软硬件环境,可以保证固件升级的顺利进行。
第二方面本申请提供了另一种固件升级方法,该方法包括:
第二电子设备接收来自第一电子设备的第二升级固件;所述第一电子设备与所述第二电子设备相耦合;
所述第二电子设备利用所述第二升级固件进行固件升级。
第二电子设备不需要从服务器获取该第二升级固件。也就是说,第二电子设备不需要具备与服务器通信的功能就可以实现固件升级,减少成本。
本申请中,第二电子设备接收与其相耦合的第一电子设备的第二升级固件,并利用该第二升级固件进行固件升级,不需要从服务器获取该第二升级固件,实现简单,成本低。
在一个可选的实现方式中,所述第二电子设备接收来自第一电子设备的第二升级固件之前,所述方法还包括:
所述第二电子设备接收所述第一电子设备发送的复位指令;
所述第二电子设备复位后,运行第二启动引导程序;
通过运行所述第二启动引导程序,向所述第一电子设备发送第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;所述第二电子设备的固件的版本低于所述第二升级固件的版本为所述第一电子设备向所述第二电子设备发送所述第二升级固件所需满足的条件。
在该实现方式中,第二电子设备通过向第一电子设备发送第一版本信息,以便于该第一电子设备确定是否向该第二电子设备发送升级固件,操作简单。
第三方面本申请提供了一种固件生成方法,该方法包括:
编译第二升级程序,得到第二升级固件;所述第二升级固件用于实现第二电子设备的固件升级;
将所述第二升级固件链接到第一升级程序中;
编译链接有所述第二升级固件的所述第一升级程序,得到升级固件;所述升级固件包含第一升级固件和所述第二升级固件;所述第一升级固件为编译所述第一升级程序得到的固件,所述第一升级固件用于实现第一电子设备的固件升级。
本申请中,通过编译链接有第二升级固件的第一升级程序,得到包含第一升级固件以及第二升级固件的升级固件,得到的升级固件可以用于实现第一电子设备和第二电子设备的升级;可以解决一个升级固件仅能用于实现一个电子设备的固件升级的问题。
在一个可选的实现方式中,所述编译链接有所述第二升级固件的所述第一升级程序,得到升级固件还包括:
确定所述第一升级固件在所述升级固件中对应的地址范围,生成第一信息;所述第一信息用于指示所述第一升级固件在所述升级固件中对应的地址范围;
确定所述第二升级固件在所述升级固件中对应的地址范围,生成第二信息;所述第二信息用于指示所述第二升级固件在所述升级固件中对应的地址范围。
所述第一信息和所述第二信息均包含于所述升级固件。
在该实现方式中,通过生成包含第一信息和第二信息的升级固件,以便于第一电子设备准确、快速地确定第一升级固件和第二升级固件。
第四方面本申请了提供一种第一电子设备,该第一电子设备包括用于实现上述第一方面以及上述第一方面的任意一种可选的实现方式的方法的单元。
第五方面本申请了提供一种第二电子设备,该第二电子设备包括用于实现上述第二方面以及上述第二方面的任意一种可选的实现方式的方法的单元。
第六方面本申请提供了一种固件升级系统,包括上述第四方面所述的第一电子设备以及上述第四方面所述的第二电子设备。
第七方面本申请提供了一种编译装置,该编译装置包括用于执行上述第三方面以及上述第三方面的任意一种可选的实现方式的方法的单元。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面、上述第二方面以及上述第三方面任一项所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为本申请提供的一种系统架构的示意图;
图2为本申请提供的一种固件升级方法流程图;
图3为本申请提供的另一种固件升级方法流程图;
图4为本申请提供的另一种固件升级方法流程图;
图5为本申请提供的另一种固件升级方法流程图;
图6为本申请提供的一种固件生成方法流程图;
图7为本申请提供的一种第一电子设备的结构示意图;
图8为本申请提供的一种第二电子设备的结构示意图;
图9为本申请提供的一种编译装置的结构示意图;
图10为本申请提供的另一种第一电子设备的结构示意图;
图11为本申请提供的另一种第二电子设备的结构示意图。
具体实施方式
图1为本申请提供的一种系统架构的示意图,如图1所示,该系统架构包括:第一电子设备101、第二电子设备102、路由器103以及服务器平台104。其中,第一电子设备101通过WIFI与路由器103连接,路由器103通过互联网与服务器平台104连接。第一电子设备101可以通过路由器103向服务器平台104发送数据或服务请求,并可从服务器平台104下载新的固件(升级固件,即第一电子设备和第二电子设备升级所需的固件)。服务器平台104用来接收第一电子设备101发送的数据或服务请求,并向第一电子设备101发送相应的数据。新的升级固件也可放到服务器平台104中,等待第一电子设备101查询是否有新的固件需要升级,并向第一电子设备101发送。服务器平台104可以包括一个或多个服务器。第二电子设备102与第一电子设备101之间通过串口或数据线相连。第二电子设备102与服务器平台104之间无通信连接,也就无法直接从服务器平台104获取数据。第二电子设备102与第一电子设备101可以是相互配套的两个电子设备,第一电子设备101与第二电子设备102之间可以通过串口、数据线或无线网络连接实现通信。可以理解,第一电子设备101可以直接从服务器平台104获取数据,第二电子设备102不能直接从服务器平台104获取数据,第二电子设备102与第一电子设备101之间可以进行数据通信。在本发明实施例中,上述第一电子设备和上述第二电子设备均可以是具有存储功能和数据处理功能的电子设备,上述第一电子设备和第二电子设备可以为具有功能配套的电子设备,例如,上述第一电子设备可以是诊断头,用于实现对生理数据的采集与处理,上述第二电子设备可以是与上述第一电子设备配套的显示装置,用于对上述诊断头采集到的生理数据进行显示,或对处理生理数据后得到的处理信息进行显示,或者还可以用于对上述诊断头的处理模式进行控制等。基于上述系统架构本申请提供了一种固件升级方法,如图2所示,该方法包括:
201、第一电子设备从服务器获取升级固件。
所述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级。上述第一升级固件和上述第二升级固件均为二进制文件,即编译程序代码得到的BIN文件。
上述第一电子设备可以通过路由器或无线接入点接入上述服务器,进而获取上述升级固件。在实际应用中,第一电子设备和服务器之间传输的数据包中每帧数据都带有循环冗余校验码(Cyclic Redundancy Check,CRC),一个数据包出错,丢弃整个文件,重新开始传输。上述第一电子设备可以是诊断头,上述第二电子设备可以是上述第一电子设备配套的显示装置。举例来说,第一电子设备为诊断头,第二电子设备为与该诊断头通过数据线相连接的显示装置,该第一电子设备用于采集用户的睡眠数据,并将根据这些睡眠数据处理得到的各项睡眠参数传输至该第二电子设备,该第二电子设备用于显示这些睡眠参数,并根据用户输入的设置指令相应地调整显示的睡眠参数。本申请提供的一个应用场景的举例如下:诊断头(第一电子设备)通过路由器从服务器获取包含第一升级固件和第二升级固件的升级固件;该诊断头利用该第一升级固件进行固件升级,并将该第二升级固件传输至与其相耦合的显示装置(第二电子设备);该显示装置利用该第二升级固件进行固件升级。
在一个可选的实现方式中,上述第一电子设备从服务器获取升级固件之前,上述方法还包括:
上述第一电子设备查询上述服务器是否存储有上述第一电子设备或上述第二电子设备进行固件升级所需的固件。
上述第一电子设备从服务器获取升级固件包括:
上述第一电子设备在确定上述服务器存储有上述第一电子设备或上述第二电子设备进行固件升级所需的固件的情况下,上述第一电子设备从服务器获取升级固件。
具体的,上述第一电子设备向上述服务器发送查询指令,上述服务器向上述第一电子设备发送上述升级固件对应的版本信息;该版本信息可以包含上述第一升级固件的版本号以及上述第二升级固件的版本号。若上述第一电子设备根据上述版本信息确定上述升级固件包含的第一升级固件的版本高于上述第一电子设备的固件的版本或上述升级固件包含的第二升级固件的版本高于上述第二电子设备的固件的版本,则上述第一电子设备确定上述服务器存储有上述第一电子设备或上述第二电子设备进行固件升级所需的固件。
202、上述第一电子设备利用上述第一升级固件升级上述第一电子设备的固件。
在一种可选的实现方式中,所述升级固件包含第一信息;所述第一信息用于指示所述第一升级固件在所述升级固件中对应的地址范围;所述第一电子设备从服务器获取升级固件包括:
所述第一电子设备从所述服务器获取所述升级固件,并存储到所述第一电子设备对应的存储设备;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件包括:
所述第一电子设备根据所述第一信息从所述存储设备存储的所述升级固件中提取所述第一升级固件;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件。
上述第一电子设备对应的存储设备可以是上述第一电子设备的闪存(Flash)或外设的闪存。上述第一信息用于指示上述第一升级固件在上述升级固件中对应的地址范围;上述第一电子设备可以根据上述第一信息准确、快速地提取到第一升级固件。举例来说,升级固件的地址范围为0-2000行,第一信息指示的地址范围为0-1500行,第一电子设备提取升级固件中0-1500行的代码作为第一升级固件。
在该实现方式中,第一电子设备通过第一信息,可以准确、快速地确定其升级所需的第一升级固件,实现简单。
在一种可选的实现方式中,上述第一电子设备根据上述第一信息从上述存储设备存储的上述升级固件中提取上述第一升级固件之前,上述方法还包括:
上述第一电子设备复位后,运行第一启动引导程序;上述第一启动引导程序用于为升级上述第一电子设备的固件提供软硬件环境。
上述第一启动引导程序为上述第一电子设备的启动引导程序(BootLoader)。上述第一电子设备可以通过运行上述第一启动引导程序,从上述第一电子设备对应的存储设备(闪存)中加载第一升级固件,并进行第一电子设备固件的升级。上述第一启动引导程序是第一电子设备复位后运行的第一段软件代码;通过运行这段软件代码,第一电子设备可以初始化硬件设备、建立内存空间的映射图,从而将第一电子设备的软硬件环境带到一个合适的状态,以便为升级固件准备好正确的环境。
203、上述第一电子设备向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。
具体的,上述第一电子设备采用Ymodem协议向上述第二电子设备传输上述第二升级固件。Ymodem协议是一种文件传输协议,具有快速,稳定传输的优点。每次可传输1024或者128字节数据,数据的发送会使用循环冗余校验(Cyclic Redundancy Check,CRC),保证数据传输的正确性。每次传输完一帧数据时,都会等待接收端回应ACK信号,接收到回应之后,才会继续传输下一帧数据,保证数据已经全部接收。
在一种可选的实现方式中,所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备向所述第二电子设备发送复位指令;所述复位指令用于指示所述第二电子设备进行复位;
所述第一电子设备接收来自所述第二电子设备的第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;
所述第一电子设备根据第二版本信息和所述第一版本信息的比对结果,确定需要升级所述第二电子设备的固件;所述第二版本信息包含所述第二升级固件的版本信息。
可选的,所述第二电子设备在实现复位后,向所述第一电子设备发送所述第一版本信息。
在该实现方式中,第一电子设备通过比较第二电子设备的固件的版本信息和第二升级固件的版本信息,进而确定是否向该第二电子设备发送该第二升级固件,操作简单,可以避免向该第二电子设备其不需要的升级固件。
在一种可选的实现方式中,所述升级固件包含第二信息;所述第二信息用于指示所述第二升级固件在所述升级固件中对应的地址范围;所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备根据所述第二信息从所述存储设备存储的所述升级固件中提取所述第二升级固件。
举例来说,升级固件的地址范围为0-2000行,第二信息指示的地址范围为1501-2000行,第一电子设备提取升级固件中1501-2000行的代码作为第二升级固件。
在该实现方式中,第一电子设备根据第二信息可以准确、完整地提取到待向第二电子设备发送的升级固件。
本申请中,第一电子设备利用其从服务器获取的升级固件,可以实现其自身的固件升级以及与其相耦合的第二电子设备的固件升级;实现简单,成本低。
基于图1中的系统架构,本申请提供了另一种固件升级方法,如图3所示,该方法可包括:
301、第二电子设备接收来自第一电子设备的第二升级固件。
所述第一电子设备与所述第二电子设备相耦合。可选的,所述第一电子设备与所述第二电子设备之间通过串口、数据线或无线网络连接实现通信。第二电子设备接收来自第一电子设备的第二升级固件可以是所述第二电子设备采用Ymodem协议接收来自上述第一电子设备的上述第二升级固件。
上述第一电子设备可以是诊断头,上述第二电子设备可以是上述第一电子设备配套的显示装置。上述第一电子设备和上述第二电子设备还可以是其它相互配套的设备,本申请不作限定。举例来说,第一电子设备为诊断头,第二电子设备为与该诊断头通过数据线相连接的显示装置,该第一电子设备用于采集用户的睡眠数据,并将根据这些睡眠数据处理得到的各项睡眠参数传输至该第二电子设备,该第二电子设备用于显示这些睡眠参数,并根据用户输入的设置指令相应地调整显示的睡眠参数。本申请提供的一个应用场景的举例如下:诊断头(第一电子设备)通过路由器从服务器获取包含第一升级固件和第二升级固件的升级固件;该诊断头利用该第一升级固件进行固件升级,并将该第二升级固件传输至与其相耦合的显示装置(第二电子设备);该显示装置利用该第二升级固件进行固件升级。
在一个可选的实现方式中,所述第二电子设备接收来自第一电子设备的第二升级固件之前,所述方法还包括:
所述第二电子设备接收所述第一电子设备发送的复位指令;
所述第二电子设备复位后,运行第二启动引导程序;
通过运行所述第二启动引导程序,向所述第一电子设备发送第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;所述第二电子设备的固件的版本低于所述第二升级固件的版本为所述第一电子设备向所述第二电子设备发送所述第二升级固件所需满足的条件。
上述第二启动引导程序是上述第二电子设备复位后运行的第一段软件代码;通过运行这段软件代码,上述第二电子设备向所述第一电子设备发送第一版本信息。
在该实现方式中,第二电子设备通过向第一电子设备发送第一版本信息,以便于该第一电子设备确定是否向该第二电子设备发送升级固件,操作简单。
302、所述第二电子设备利用所述第二升级固件进行固件升级。
本申请中,第二电子设备接收与其相耦合的第一电子设备的第二升级固件,并利用该第二升级固件进行固件升级,不需要从服务器获取该第二升级固件,实现简单,成本低。
基于图1中的系统架构,本申请提供了另一种固件升级方法,如图4所示,该方法可包括:
401、第一电子设备运行未升级前的固件。
402、上述第一电子设备查询服务器是否存储有上述第一电子设备或第二电子设备进行固件升级所需的固件。
若是,执行403;若否,执行401。上述第一电子设备通过WIFI连接到上述服务器,可设置在特定的时间段(例如夜间,用户休息之后)主动查询上述服务器是否有新的升级固件,即上述第一电子设备或第二电子设备进行固件升级所需的固件。上述第二电子设备通过串口或数据线与上述第一电子设备相连接。可选的,上述第一电子设备向上述服务器发送查询指令,上述服务器向上述第一电子设备发送上述升级固件对应的版本信息;该版本信息可以包含上述第一升级固件的版本号以及上述第二升级固件的版本号。若上述第一电子设备根据上述版本信息确定上述升级固件包含的第一升级固件的版本高于上述第一电子设备的固件的版本或上述升级固件包含的第二升级固件的版本高于上述第二电子设备的固件的版本,则上述第一电子设备确定上述服务器存储有上述第一电子设备或上述第二电子设备进行固件升级所需的固件。
403、上述第一电子设备从上述服务器下载升级固件;上述升级固件包含第一升级固件和第二升级固件。
上述第一电子设备可以将下载的上述升级固件存储上述第一电子设备对应的存储设备,例如上述第一电子设备的闪存或上述第一电子设备外扩的闪存。
404、上述第一电子设备判断是否完成上述升级固件的下载。
若是,执行405;若否,执行403。
405、上述第一电子设备向第二电子设备发送复位指令。
406、上述第一电子设备控制自身复位。
407、上述第一电子设备运行启动引导程序,加载上述第一升级固件进行升级。
举例来说,第一电子设备完成复位后,开始运行启动引导程序,即BootLoader,从闪存中加载第一升级固件进行升级。可选的,上述第一电子设备的固件升级完成后,上述第一电子设备运行升级后的固件。
408、上述第一电子设备接收上述第二电子设备发送的版本信息。
上述版本信息包含上述第二电子设备的固件的版本信息,如版本号。
409、上述第一电子设备判断是否需要升级上述第二电子设备的固件。
若是,执行410;若否,执行413。可选的,若上述第二电子设备的固件的版本低于上述第二升级固件的版本,则确定需要升级上述第二电子设备的版本;否则,确定不需要升级上述第二电子设备的版本。
410、上述第一电子设备向上述第二电子设备传输上述第二升级固件。
可选的,上述第一电子设备采用Ymodem协议向上述第二电子设备传输上述第二升级固件。
411、上述第一电子设备判断是否完成上述第二升级固件的传输。
若是,执行412;若否,执行410。可选的,上述第一电子设备判断是否接收到上述第二电子设备发送的文件传输完成标志。
412、上述第一电子设备运行升级后的固件。
413、上述第一电子设备向上述第二电子设备发送不需要升级固件的指令。
本发明实施例中,第一电子设备通过一次性下载包含第一升级固件和第二升级固件的升级固件,并将第二升级固件传输至第二电子设备;可以实现第一电子设备和第二电子设备的固件升级,操作简单。
基于图1中的系统架构,图5为本申请提供的另一种固件升级方法,如图5所示,该方法可包括:
501、第二电子设备运行未升级前的固件。
502、上述第二电子设备判断是否接收到来自第一电子设备的复位指令。
上述复位指令指示上述第二电子设备进行复位。若是,执行503;若否,执行501。
503、上述第二电子设备进行复位。
第二电子设备进行复位也就是上述第二电子设备进行重启。
504、上述第二电子设备运行启动引导程序,并向上述第一电子设备发送版本信息。
上述版本信息包含上述第二电子设备的固件的版本信息,如版本号。可选的,上述第一电子设备复位后,开始运行基于Ymodem协议的启动引导程序(BootLoader)与第一电子设备进行通讯,发送Ymodem命令(版本信息)到第一电子设备,等待第一电子设备回复。该Ymodem命令可以包含第二电子设备的固件的版本号。
505、上述第二电子设备判断是否接收到来自上述第一电子设备的不需要升级固件的指令。
若是,执行501;若否,执行506。可选的,若上述第二电子设备在目标时长内未接收到不需要升级固件的指令,则判断未接收到不需要升级固件的指令;否则,判断接收到不需要升级固件的指令。上述目标时长可以是10ms、100ms、1s、5s等。可选的,在Ymodem协议上新增一条指令,如果第二电子设备新旧固件的版本号一致,发送新增的指令,直接运行旧版本固件,避免第二电子设备启动后时长时间等待。
506、上述第二电子设备接收来自上述第一电子设备的第二升级固件,并进行固件升级。
上述第二电子设备接收来自上述第一电子设备的第二升级固件,并加载到上述第二电子设备的闪存或其他存储器。可以理解,上述第二电子设备加载上述第二升级固件的过程即为升级上述第二电子设备的固件的过程。
507、上述第二电子设备判断是否完成上述第二升级固件的接收。
若是,执行508;若否,执行506。可以理解,上述第二电子设备完成上述第二升级固件的接收相当于上述第二电子设备完成固件的升级。
508、上述第二电子设备向上述第一电子设备发送文件传输完成标志。
509、上述第二电子设备运行升级后的固件。
第二电子设备实现固件升级,需要在与第一电子设备连接的串口上实现基于Ymodem文件传输协议的Boot Loader。当第二电子设备复位之后,首先运行基于Ymodem协议的Boot Loader程序,与第一电子设备进行通讯。如果第一电子设备返回新的固件名称,即第二升级固件的名称,则开始固件升级,如果返回不需要升级固件的指令,则开始运行旧固件程序。
本实施例中,第二电子设备从第一电子设备获取第二升级固件,并完成固件的升级;不需要第二电子设备从服务器下载第二升级固件,可以快速地实现固件升级。
从前述实施例可知,图2至图5中的方法实现的基础是第一电子设备获取到包含第一升级固件和第二升级固件的升级固件。图6为本申请提供的一种固件生成方法,如图6所示,该方法可包括:
601、编译第二升级程序,得到第二升级固件。
所述第二升级固件用于实现第二电子设备的固件升级。上述第二升级固件为二进制文件。在实际应用中,可以采用keil、IAR等系统开发工具编译第二升级程序,得到该第二升级程序对应的第二升级固件。
602、将上述第二升级固件链接到第一升级程序中。
可选的,通过编译装置的编译器的文件链接功能,将上述第二升级固件链接到上述第一升级程序中。这样第二升级固件就可以作为上述第一升级程序的一部分。
603、编译链接有上述第二升级固件的上述第一升级程序,得到升级固件。
上述升级固件包含第一升级固件和上述第二升级固件;上述第一升级固件为编译上述第一升级程序得到的固件,所述第一升级固件用于实现第一电子设备的固件升级。可以理解,第二升级固件作为上述第一升级程序的一部分编译到上述升级固件中。因此,得到的上述升级固件包含第一升级固件和上述第二升级固件。
在一个可选的实现方式中,上述第二升级固件和上述升级固件均为二进制文件;上述编译链接有所述第二升级固件的所述第一升级程序,得到升级固件之后,上述方法还包括:
将上述升级固件上传到服务器。
本申请中,将第二升级固件链接到第一升级程序,并进行编译;可以得到包含第一升级固件和第二升级固件的升级固件,实现简单。
图7为本申请提供的一种第一电子设备的结构示意图,如图7所示,第一电子设备70包括:
获取单元701,用于从服务器获取升级固件;上述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级;
升级单元702,用于利用上述第一升级固件升级上述第一电子设备的固件;
传输单元703,用于向第二电子设备传输上述第二升级固件;上述第一电子设备70和上述第二电子设备相耦合。
具体实现方式与图2中的方式相同,这里不再详述。上述获取单元701可以具备WIFI功能,上述第一电子设备可以通过获取单元701连接路由器,进而通过上述路由器从服务器获取上述升级固件。
在一种可选的实现方式中,上述升级固件包含第一信息;上述第一信息用于指示上述第一升级固件在上述升级固件中对应的地址范围;上述第一电子设备70还包括:
存储单元704,用于存储上述升级固件;
提取单元705,用于根据上述第一信息从上述存储设备存储的上述升级固件中提取上述第一升级固件。
上述存储单元704可以是闪存或上述第一电子设备70外扩的闪存。
在一种可选的实现方式中,上述传输单元703,还用于向上述第二电子设备发送复位指令,上述复位指令用于指示上述第二电子设备进行复位;接收来自上述第二电子设备的第一版本信息,上述第一版本信息包含上述第二电子设备的固件的版本信息;上述第一电子设备70还包括:
确定单元706,用于根据第二版本信息和上述第一版本信息的比对结果,确定需要升级上述第二电子设备的固件;上述第二版本信息包含上述第二升级固件的版本信息。
在一种可选的实现方式中,上述升级固件包含第二信息;上述第二信息用于指示上述第二升级固件在上述升级固件中对应的地址范围;
上述提取单元705,还用于根据上述第二信息从上述存储设备存储的上述升级固件中提取上述第二升级固件。
在一种可选的实现方式中,上述第一电子设备70还包括:
复位单元707,用于实现第一电子设备70的复位;
运行单元708,用于运行第一启动引导程序;上述第一启动引导程序用于为升级上述第一电子设备的固件提供软硬件环境。
图8为本申请提供的一种第二电子设备的结构示意图,如图8所示,第二电子设备80包括:
传输单元801,用于接收来自第一电子设备的第二升级固件;上述第一电子设备与上述第二电子设备相耦合;
升级单元802,用于利用上述第二升级固件进行固件升级。
具体实现方式与图3中的方式相同,这里不再详述。
在一种可选的实现方式中,上述传输单元801,还用于接收上述第一电子设备发送的复位指令;上述第二电子设备80还包括:
复位单元803,用于实现复位功能;
运行单元804,用于运行第二启动引导程序;
上述传输单元801,还用于通过运行上述第二启动引导程序,向上述第一电子设备发送第一版本信息;上述第一版本信息包含上述第二电子设备的固件的版本信息;上述第二电子设备的固件的版本低于上述第二升级固件的版本为上述第一电子设备向上述第二电子设备发送第二升级固件所需满足的条件。
本申请不仅保护独立的第一电子设备70和第二电子设备80,还保护同时包含第一电子设备70和第二电子设备80的配套设备。也就是说,第一电子设备70、第二电子设备80以及同时包含第一电子设备80和第二电子设备90的配套设备均为本申请所要求包含的主体。
图9为本申请提供的一种编译装置的结构示意图,如图9所示,编译装置90包括:
编译单元901,用于编译第二升级程序,得到第二升级固件;
链接单元902,用于将上述第二升级固件链接到第一升级程序中;
上述编译单元901,还用于编译链接有上述第二升级固件的上述第一升级程序,得到升级固件;上述升级固件包含第一升级固件和上述第二升级固件;上述第一升级固件为编译上述第一电子设备程序得到的固件,所述第一升级固件用于实现第一电子设备的固件升级。
具体实现方式与图6中的方式相同,这里不再详述。
在一个可选的实现方式中,上述编译装置90还包括:
上传单元903,用于将上述升级固件上传到服务器。
参见图10,是本申请提供的一种第一电子设备的结构示意图。如图10所示的本申请中的第一电子设备可以包括:处理器1001;一个或多个输入设备1003,一个或多个输出设备1004、存储器1002以及收发器1005。上述处理器1001、输入设备1003、输出设备1004、存储器1002以及收发器1005通过总线1006连接。存储器1002用于存储指令,处理器1001用于执行存储器1002存储的指令。其中,处理器1001可以用于前述任意一种实施例所述的方法。处理器1001可以用于:从服务器获取升级固件;所述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级;利用所述第一升级固件升级所述第一电子设备的固件;向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。
参见图11,是本申请提供的一种第二电子设备的结构示意图。如图11所示的本申请中的第二电子设备可以包括:处理器1101;一个或多个输入设备1103,一个或多个输出设备1104以及存储器1102。上述处理器1101、输入设备1103、输出设备1104和存储器1102通过总线1105连接。存储器1102用于存储指令,处理器1101用于执行存储器1102存储的指令。其中,处理器1101可以用于前述任意一种实施例所述的方法。处理器1101可以用于:接收来自第一电子设备的第二升级固件;所述第一电子设备与所述第二电子设备相耦合;利用所述第二升级固件进行固件升级。
本申请中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:从服务器获取升级固件;所述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级;利用所述第一升级固件升级所述第一电子设备的固件;向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。
本申请中提供另一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:接收来自第一电子设备的第二升级固件;所述第一电子设备与所述第二电子设备相耦合;利用所述第二升级固件进行固件升级。
本申请中提供另一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:编译第二升级程序,得到第二升级固件;所述第二升级固件用于实现第二电子设备的固件升级;将所述第二升级固件链接到第一升级程序中;编译链接有所述第二升级固件的所述第一升级程序,得到升级固件;所述升级固件包含第一升级固件和所述第二升级固件;所述第一升级固件为编译所述第一升级程序得到的固件,所述第一升级固件用于实现第一电子设备的固件升级。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种固件升级方法,其特征在于,包括:
第一电子设备从服务器获取升级固件;所述升级固件包含第一升级固件和第二升级固件;所述第一升级固件用于实现所述第一电子设备的固件升级,所述第二升级固件用于实现第二电子设备的固件升级;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件;
所述第一电子设备向所述第二电子设备传输所述第二升级固件;所述第一电子设备和所述第二电子设备相耦合。
2.根据权利要求1所述的方法,其特征在于,所述升级固件包含第一信息;所述第一信息用于指示所述第一升级固件在所述升级固件中对应的地址范围;所述第一电子设备从服务器获取升级固件包括:
所述第一电子设备从所述服务器获取所述升级固件,并存储到所述第一电子设备对应的存储设备;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件包括:
所述第一电子设备根据所述第一信息从所述存储设备存储的所述升级固件中提取所述第一升级固件;
所述第一电子设备利用所述第一升级固件升级所述第一电子设备的固件。
3.根据权利要求2所述的方法,其特征在于,所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备向所述第二电子设备发送复位指令;所述复位指令用于指示所述第二电子设备进行复位;
所述第一电子设备接收来自所述第二电子设备的第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;
所述第一电子设备根据第二版本信息和所述第一版本信息的比对结果,确定需要升级所述第二电子设备的固件;所述第二版本信息包含所述第二升级固件的版本信息。
4.根据权利要求3所述的方法,其特征在于,所述升级固件包含第二信息;所述第二信息用于指示所述第二升级固件在所述升级固件中对应的地址范围;所述第一电子设备向第二电子设备传输所述第二升级固件之前,所述方法还包括:
所述第一电子设备根据所述第二信息从所述存储设备存储的所述升级固件中提取所述第二升级固件。
5.根据权利要求3或4所述的方法,其特征在于,所述第一电子设备根据所述第一信息从所述存储设备存储的所述升级固件中提取所述第一升级固件之前,所述方法还包括:
所述第一电子设备复位后,运行第一启动引导程序;所述第一启动引导程序用于为升级所述第一电子设备的固件提供软硬件环境。
6.一种固件升级方法,其特征在于,包括:
第二电子设备接收来自第一电子设备的第二升级固件;所述第一电子设备与所述第二电子设备相耦合;
所述第二电子设备利用所述第二升级固件进行固件升级。
7.根据权利要求6所述的方法,其特征在于,所述第二电子设备接收来自第一电子设备的第二升级固件之前,所述方法还包括:
所述第二电子设备接收所述第一电子设备发送的复位指令;
所述第二电子设备复位后,运行第二启动引导程序;
通过运行所述第二启动引导程序,向所述第一电子设备发送第一版本信息;所述第一版本信息包含所述第二电子设备的固件的版本信息;所述第二电子设备的固件的版本低于所述第二升级固件的版本为所述第一电子设备向所述第二电子设备发送所述第二升级固件所需满足的条件。
8.一种固件生成方法,其特征在于,包括:
编译第二升级程序,得到第二升级固件;所述第二升级固件用于实现第二电子设备的固件升级;
将所述第二升级固件链接到第一升级程序中;
编译链接有所述第二升级固件的所述第一升级程序,得到升级固件;所述升级固件包含第一升级固件和所述第二升级固件;所述第一升级固件为编译所述第一升级程序得到的固件,所述第一升级固件用于实现第一电子设备的固件升级。
9.一种第一电子设备,其特征在于,包括处理器、收发器以及存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-5任一项所述的方法。
10.一种第二电子设备,包括处理器、收发器以及存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求6-7任一项所述的方法。
11.一种固件升级系统,其特征在于,包括权利要求9所述的第一电子设备和权利要求10所述的第二电子设备。
12.一种编译装置,其特征在于,包括处理器、收发器以及存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求8任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643977.3A CN109144554B (zh) | 2018-06-21 | 2018-06-21 | 固件升级方法、相关设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643977.3A CN109144554B (zh) | 2018-06-21 | 2018-06-21 | 固件升级方法、相关设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144554A true CN109144554A (zh) | 2019-01-04 |
CN109144554B CN109144554B (zh) | 2022-07-08 |
Family
ID=64802169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810643977.3A Active CN109144554B (zh) | 2018-06-21 | 2018-06-21 | 固件升级方法、相关设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144554B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309348A (zh) * | 2019-05-27 | 2020-06-19 | 深圳市鸿合创新信息技术有限责任公司 | 电子设备的固件升级方法及电子设备 |
CN114640584A (zh) * | 2022-02-14 | 2022-06-17 | 西安广和通无线软件有限公司 | 模块升级方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379142A (zh) * | 2012-04-17 | 2013-10-30 | 国基电子(上海)有限公司 | 终端设备固件升级方法及系统 |
CN104281479A (zh) * | 2014-10-31 | 2015-01-14 | 深圳市大疆创新科技有限公司 | 一种固件升级方法及装置 |
CN104484185A (zh) * | 2014-12-30 | 2015-04-01 | 深圳市大疆创新科技有限公司 | 固件生成系统及方法 |
CN104991800A (zh) * | 2015-06-26 | 2015-10-21 | 深圳市兰丁科技有限公司 | 一种未联网设备固件升级方法、装置和系统 |
CN107608701A (zh) * | 2017-10-20 | 2018-01-19 | 深圳市道通科技股份有限公司 | 一种升级固件的方法和装置 |
CN108170450A (zh) * | 2017-12-28 | 2018-06-15 | 北京远特科技股份有限公司 | 一种设备中系统固件的升级方法、装置及系统 |
CN108182077A (zh) * | 2018-01-29 | 2018-06-19 | 广东美的制冷设备有限公司 | 设备、设备的固件升级方法、装置和存储介质 |
-
2018
- 2018-06-21 CN CN201810643977.3A patent/CN109144554B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379142A (zh) * | 2012-04-17 | 2013-10-30 | 国基电子(上海)有限公司 | 终端设备固件升级方法及系统 |
CN104281479A (zh) * | 2014-10-31 | 2015-01-14 | 深圳市大疆创新科技有限公司 | 一种固件升级方法及装置 |
CN104484185A (zh) * | 2014-12-30 | 2015-04-01 | 深圳市大疆创新科技有限公司 | 固件生成系统及方法 |
CN104991800A (zh) * | 2015-06-26 | 2015-10-21 | 深圳市兰丁科技有限公司 | 一种未联网设备固件升级方法、装置和系统 |
CN107608701A (zh) * | 2017-10-20 | 2018-01-19 | 深圳市道通科技股份有限公司 | 一种升级固件的方法和装置 |
CN108170450A (zh) * | 2017-12-28 | 2018-06-15 | 北京远特科技股份有限公司 | 一种设备中系统固件的升级方法、装置及系统 |
CN108182077A (zh) * | 2018-01-29 | 2018-06-19 | 广东美的制冷设备有限公司 | 设备、设备的固件升级方法、装置和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309348A (zh) * | 2019-05-27 | 2020-06-19 | 深圳市鸿合创新信息技术有限责任公司 | 电子设备的固件升级方法及电子设备 |
CN111309348B (zh) * | 2019-05-27 | 2023-05-02 | 深圳市鸿合创新信息技术有限责任公司 | 电子设备的固件升级方法及电子设备 |
CN114640584A (zh) * | 2022-02-14 | 2022-06-17 | 西安广和通无线软件有限公司 | 模块升级方法和系统 |
CN114640584B (zh) * | 2022-02-14 | 2023-11-24 | 西安广和通无线软件有限公司 | 模块升级方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109144554B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034814B (zh) | 基于以太坊虚拟机的智能合约处理方法和装置 | |
US20110138381A1 (en) | System and method for requesting resources into a virtual machine using connection information | |
CN109542443A (zh) | 应用程序的编译方法及装置、计算机终端、数据处理方法 | |
CN109144554A (zh) | 固件升级方法、相关设备、系统及介质 | |
CN104780189A (zh) | 一种软件升级方法及装置 | |
CN109416629A (zh) | 固件升级方法、电子设备、相机系统和无人飞行器 | |
CN106713384A (zh) | 一种车载终端外设程序远程更新方法及系统 | |
CN110336699A (zh) | 自动化部署网关系统的方法、装置及系统 | |
CN110851163B (zh) | 一种基于can通信的兼容多设备平台的软件更新方法 | |
CN108958777A (zh) | 一种无线充电设备及控制方法 | |
CN107992315A (zh) | 一种应用程序自动升级方法及存储介质 | |
CN115150454A (zh) | 一种跨操作系统的中心化发布订阅通信中间件 | |
CN106980502A (zh) | 一种在线获取bios固件更新的方法 | |
CN103987064A (zh) | 接入点ap升级方法及装置 | |
CN111367685A (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN110673862A (zh) | 兼用多模式的嵌入式设备固件无线升级方法、设备、介质 | |
CN103003033A (zh) | 机器人系统的控制方法和装置 | |
CN107547591A (zh) | 升级服务器、机顶盒、机顶盒升级文件下发方法及系统 | |
CN109062714A (zh) | 远程控制安卓设备的方法、装置及电子设备 | |
CN106487524B (zh) | 远程开机的方法 | |
CN109639842B (zh) | Nb-iot设备软件升级系统及方法 | |
CN105530544B (zh) | 一种模块化电视的显示屏端升级方法及模块化电视 | |
KR20090076712A (ko) | 펌웨어 업그레이드 시스템 | |
CN110198225A (zh) | 一种多集群的管理方法及管理服务器 | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518000 Guangdong science and technology innovation and Research Institute, Shenzhen, Shenzhen, Nanshan District No. 6, science and technology innovation and Research Institute, Shenzhen, D 10, 1004, 10 Patentee after: Shenzhen Hetai intelligent home appliance controller Co.,Ltd. Address before: 518000 Guangdong science and technology innovation and Research Institute, Shenzhen, Shenzhen, Nanshan District No. 6, science and technology innovation and Research Institute, Shenzhen, D 10, 1004, 10 Patentee before: SHENZHEN H&T DATA RESOURCES AND CLOUD TECHNOLOGY Ltd. |
|
CP01 | Change in the name or title of a patent holder |