CN110286932A - 一种程序下载方法及装置 - Google Patents
一种程序下载方法及装置 Download PDFInfo
- Publication number
- CN110286932A CN110286932A CN201910572063.7A CN201910572063A CN110286932A CN 110286932 A CN110286932 A CN 110286932A CN 201910572063 A CN201910572063 A CN 201910572063A CN 110286932 A CN110286932 A CN 110286932A
- Authority
- CN
- China
- Prior art keywords
- program
- program area
- downloading
- upgrade procedure
- area
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000011068 loading method Methods 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 238000007689 inspection Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 238000000151 deposition Methods 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种程序下载方法及装置,涉及家用电器领域,解决了下载MCU程序时网络家电需要停止运行的问题,以及由于下载程序区损坏导致网络家电无法正常运行的问题。具体方案为:接收网络云端发送的升级程序,根据第一程序区域包括的标志位,确定运行程序存储的程序区域,标志位包括第一值或第二值,第一值用于指示运行程序存储在第二程序区域,第二值用于指示运行程序存储在第三程序区域,将升级程序写入除运行程序存储的程序区域外的程序区域,第二程序区域和第三程序区域一个用于存储运行程序,另一个用于存储升级程序。本发明实施例用于网络家电下载升级程序的过程中。
Description
技术领域
本发明实施例涉及家用电器领域,尤其涉及一种程序下载方法及装置。
背景技术
现有技术中,如果网络家电的微处理芯片(Micro programmed Control Unit,MCU)程序出错,或者如果MCU程序经过了改进,则需要对网络家电进行MCU程序的下载。
目前的第一种下载技术中,网络家电可以先进入下载处理程序(Boot Loader),由下载处理程序接收网络发送的MCU新程序,然后将MCU原程序用接收到的新程序覆盖。在MCU新程序覆盖掉原程序后,网络家电可以进行新程序的校验,如果检验无误,则退出下载处理程序,运行MCU新程序。如果检验有错,则表明下载出错,此时网络家电无法正常运行,需要重新下载MCU新程序。虽然重新下载成功能够使得网络家电正常运行,但是会由于MCU程序的升级花费较长时间,导致用户体验差。
目前的第二种下载技术中,网络家电在通过下载处理程序接收到MCU新程序后,可以先将MCU原程序备份到闪存(Flash)只读存储器(Read-Only Memory,ROM)的程序备份区,再使用MCU新程序覆盖下载区的原程序。覆盖完成后,网络家电进行新程序的校验,如果检验无误,则退出下载处理程序,运行新程序。如果校验有错,则表明下载出错,网络家电可以使用闪存只读存储器的程序备份区中的MCU原程序,覆盖MCU新程序,退出下载处理程序,按照MCU原程序运行。
但是在第二种下载技术中,一旦闪存只读存储器的程序备份区损坏,会使得无法备份MCU原程序,如果MCU新程序下载出错,则网络家电无法正常工作。
且对于两种下载技术,在下载MCU新程序时如果网络家电处于运行状态,则由于网络家电的运行程序和下载处理程序不在同一个程序中,导致网络家电需要先停止运行才能进行程序下载,这样用户体验较差。且如果闪存只读存储器的下载程序区损坏,则两种下载技术均会出现下载出错的问题,导致网络家电无法正常运行。
发明内容
本发明提供一种程序下载方法及装置,解决了下载MCU程序时网络家电需要停止运行的问题,以及由于下载程序区损坏导致网络家电无法正常运行的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种程序下载方法,应用于程序下载装置,程序下载装置包括处理器,处理器包括闪存只读存储器,闪存只读存储器包括第一程序区域、第二程序区域和第三程序区域。该方法可以包括:接收网络云端发送的升级程序;根据第一程序区域包括的标志位,确定运行程序存储的程序区域;标志位包括第一值或第二值,第一值用于指示运行程序存储在第二程序区域,第二值用于指示运行程序存储在第三程序区域;将升级程序写入除运行程序存储的程序区域外的程序区域;其中,第二程序区域和第三程序区域一个用于存储运行程序,另一个用于存储升级程序。
结合第一方面,在一种可能的实现方式中,将升级程序写入除运行程序存储的程序区域外的程序区域,具体的可以包括:若运行程序存储在第二程序区域,则将升级程序写入第三程序区域。此时,还可以包括:在确定升级程序的校验和防篡改检验均正确后,将标志位由第一值更改为第二值,并将第一程序区域包括的中断跳转地址由运行程序对应的跳转地址更改为升级程序对应的跳转地址;向网络云端发送升级程序下载成功的消息。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,闪存只读存储器还包括:第四程序区域,第四程序区域用于存储复位程序,方法还包括:如果程序下载装置当前处于运行状态,则保存运行状态参数和运行标志;记录升级程序下载成功的下载成功标志;控制停止运行当前运行程序;根据复位程序和升级程序进行复位重启。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,根据复位程序和升级程序进行复位重启,具体的可以包括:运行复位程序;获取标志位为第二值;根据第二值跳转至第三程序区域;根据下载成功标志确定进行程序升级后的复位重启;根据运行标志和运行状态参数,运行升级程序;清除下载成功标志。
第二方面,本发明提供一种程序下载装置,程序下载装置可以包括:处理器,处理器包括闪存只读存储器,闪存只读存储器包括第一程序区域、第二程序区域和第三程序区域。程序下载装置包括:接收单元、确定单元和存储单元。接收单元,用于接收网络云端发送的升级程序;确定单元,用于根据第一程序区域包括的标志位,确定运行程序存储的程序区域;标志位包括第一值或第二值,第一值用于指示运行程序存储在第二程序区域,第二值用于指示运行程序存储在第三程序区域;存储单元,用于将升级程序写入除运行程序存储的程序区域外的程序区域;其中,第二程序区域和第三程序区域一个用于存储运行程序,另一个用于存储升级程序。
结合第二方面,在一种可能的实现方式中,程序下载装置还包括:更改单元和发送单元。存储单元,具体用于若运行程序存储在第二程序区域,则将升级程序写入第三程序区域;更改单元,用于在确定升级程序的校验和防篡改检验均正确后,将标志位由第一值更改为第二值,并将第一程序区域包括的中断跳转地址由运行程序对应的跳转地址更改为升级程序对应的跳转地址;发送单元,用于向网络云端发送升级程序下载成功的消息。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,闪存只读存储器还包括:第四程序区域,第四程序区域用于存储复位程序,程序下载装置还包括:控制单元和重启单元。存储单元,还用于如果程序下载装置当前处于运行状态,则保存运行状态参数和运行标志;记录升级程序下载成功的下载成功标志;控制单元,用于控制停止运行当前运行程序;重启单元,用于根据复位程序和升级程序进行复位重启。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,重启单元,具体用于:运行复位程序;获取标志位为第二值;根据第二值跳转至第三程序区域;根据下载成功标志确定进行程序升级后的复位重启;根据运行标志和运行状态参数,运行升级程序;清除下载成功标志。
具体的实现方式可以参考第一方面或第一方面的可能的实现方式提供的程序下载方法中程序下载装置的行为功能。
第三方面,提供一种程序下载装置,该程序下载装置包括:至少一个处理器、存储器、通信接口和通信总线。处理器与存储器、通信接口通过通信总线连接,存储器用于存储计算机执行指令,当程序下载装置运行时,处理器执行存储器存储的计算机执行指令,以使程序下载装置执行如第一方面或第一方面的可能的实现方式中任意一项的程序下载方法。
第四方面,提供一种计算机存储介质,其上存储有计算机执行指令,当计算机执行指令在程序下载装置上运行时,使得程序下载装置执行如第一方面或第一方面的可能的实现方式中任意一项的程序下载方法。
本发明提供的程序下载方法,程序下载装置在接收到网络云端发送的升级程序之后,先确定运行程序存储的程序区域,然后将升级程序写入除存储有运行程序的程序区域外的程序区域。这样,由于程序下载装置的正常工作程序与升级程序都在同一个程序中,无需通过下载处理程序来进行程序的下载,因此程序下载装置在下载程序时无需停止运行。且通过将处理器的闪存只读存储器分为多个程序区域,并将接收到的升级程序写入除存储有运行程序的程序区域外的程序区域,这样在用于存储升级程序的下载程序区损坏的情况下,由于存储有运行程序的程序区域仍然存在,使得程序下载装置能够正常运行。
附图说明
图1为本发明实施例提供的一种可以应用本发明实施例的系统架构图;
图2为本发明实施例提供的一种程序下载方法的流程图;
图3为本发明实施例提供的另一种程序下载方法的流程图;
图4为本发明实施例提供的一种程序下载装置的组成示意图;
图5为本发明实施例提供的另一种程序下载装置的组成示意图;
图6为本发明实施例提供的另一种程序下载装置的组成示意图;
图7为本发明实施例提供的另一种程序下载装置的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种可以应用本发明实施例的系统架构图,如图1所示,该系统架构可以包括:网络云端11、N个程序下载装置12和网络13。
其中,网络云端11,通过网络13分别与N个程序下载装置12中的每个程序下载装置进行通信。
网络云端11,可以是实际的云平台,也可以是与网络13连接的计算机,还可以是用于程序升级的工装。
网络13,可以是任何能够进行信息交互的网络,例如:英特网、互联网、物联网、无线局域网等。
程序下载装置12,可以包括处理器,该处理器可以是MCU,MCU包括闪存只读存储器,闪存只读存储器被分为四个程序区域,其中,第一程序区域包括标志位和中断跳转地址,第二程序区域和第三程序区域一个用于存储运行程序另一个用于存储升级程序,第四程序区域用于存储复位程序,这四个程序区域在程序擦除和写入的电路上可以是相互独立的,也可以是同一个擦除写入电路。在具体的实现中,程序下载装置12可以是能够与网络13连接的网络家电。
需要说明的是,在本发明实施例中,程序下载装置12在下载升级程序时,可以一帧完成下载,也可以分多帧进行多批次下载。具体采用哪种下载方式,可以根据网络情况和处理器的随机存取存储器(Random Access Memory,RAM)大小来决定。且本发明中程序下载装置12的处理器包括的闪存只读存储器和RAM,可以是自身带有的,也可以是外部扩展的。
为了解决下载MCU程序时网络家电需要停止运行的问题,以及由于下载程序区损坏导致网络家电无法正常运行的问题,本发明实施例提供了一种程序下载方法,如图2所示,该方法可以包括:
201、接收网络云端发送的升级程序。
其中,由于在下载升级程序时,并不是所有的程序下载装置都能下载成功,因此在多次进行升级程序的下载之后,会出现以下情况:相同型号的程序下载装置、相同型号的处理器,运行程序有的存储在第二程序区域,有的存储在第三程序区域。运行程序存储的程序区域不同,对应的地址便不同。这样,网络云端便需要预先编译第二程序区域的升级程序和对应的中断跳转地址,以及第三程序区域的升级程序和对应的中断跳转地址,并将其保存在程序升级数据库中。
当需要升级程序时,网络云端可以根据升级程序,获取升级程序的版本号,以及需要升级的程序下载装置的型号,每个程序下载装置包括的处理器的型号。然后,网络云端获取在网的程序下载装置的型号,以及每个程序下载装置包括的处理器的型号和当前程序的版本号,并将这些信息与根据升级程序获取的升级程序的版本号,程序下载装置的型号和处理器的型号进行对比,确定需要升级程序的程序下载装置的数量,以及每个程序下载装置对应的地址信息。以网络云端向其中一个程序下载装置发送升级程序为例进行说明,在发送之前网络云端可以先读取该程序下载装置的标志位,并根据该标志位确定待发送的升级程序。具体的,如果标志位为第一值,表明运行程序存储在第二程序区域,则待发送的升级程序为第三程序区域的升级程序;如果标志位为第二值,表明运行程序存储在第三程序区域,则待发送的程序为第二程序区域的升级程序。这样,网络云端向程序下载装置发送相应的升级程序之后,程序下载装置便可以接收网络云端发送的升级程序。
202、根据第一程序区域包括的标志位,确定运行程序存储的程序区域。
其中,程序下载装置在接收到网络云端的升级程序之后,可以读取处理器的闪存只读存储器包括的第一程序区域的标志位,并根据该标志位确定运行程序存储的程序区域。
在具体的实现中,标志位可以包括第一值或第二值,其中第一值用于指示运行程序存储在第二程序区域,第二值用于指示运行程序存储在第三程序区域,例如第一值可以为0,第二值可以为1。
203、将升级程序写入除运行程序存储的程序区域外的程序区域。
其中,由于闪存只读存储器被分为四个程序区域,其中第二程序区域和第三程序区域一个用于存储程序下载装置当前的运行程序,另一个程序区域用于存储升级程序,因此程序下载装置在确定出当前运行程序存储的程序区域之后,可以将步骤201中接收到的升级程序写入另一个未存储有运行程序的程序区域中。本发明实施例在此以标志位为第一值为例进行说明,标志位为第二值的方法与标志位为第一值的方法相同。具体的:若标志位为第一值,则表明运行程序存储在第二程序区域中,此时程序下载装置可以将升级程序写入第三程序区域中。
需要说明的是,在本发明实施例中,第二程序区域和第三程序区域的结构是相同的,可以包括:相对地址和程序内容,但是地址是不同的。对于程序内容,两个程序区域均是将除中断程序外的程序放在前面,以便进行复位之后能够一次性跳到需要运行的程序。
进一步的,在本发明实施例中,在步骤203中的将升级程序写入除运行程序存储的程序区域外的程序区域,具体的可以包括:若运行程序存储在第二程序区域,则将升级程序写入第三程序区域的情况下,如图3所示,在执行完步骤203之后,程序下载方法还可以包括:
204、在确定升级程序的校验和防篡改检验均正确后,将标志位由第一值更改为第二值,并将第一程序区域包括的中断跳转地址由运行程序对应的跳转地址更改为升级程序对应的跳转地址。
其中,程序下载装置在将升级程序写入第三程序区域之后,可以对写入的升级程序进行总的校验和防篡改检验。如果确定无误,则可以将标志位由第一值更改为第二值,并将第一程序区域包括的中断跳转地址由当前运行程序对应的跳转地址更改为升级程序对应的跳转地址。如果存在错误,则程序下载装置可以向网络云端发送校验出错和/或防篡改检验出错的消息,此时程序下载装置仍能够正常运转。
205、向网络云端发送升级程序下载成功的消息。
进一步的,在本发明实施例中,如图3所示,在执行完步骤205之后,程序下载方法还可以包括:
206、如果程序下载装置当前处于运行状态,则保存运行状态参数和运行标志,并记录升级程序下载成功的下载成功标志,控制停止运行当前运行程序。
其中,程序下载装置在向网络云端发送了升级程序下载成功的消息之后,可以判断程序下载装置是否处于运行状态。若处于运行状态,则程序下载装置可以保存自身当前的运行状态参数和运行标志,该运行标志用于表示程序下载装置在进行升级前处于运行状态,并记录升级程序下载成功的下载成功标志,控制停止运行当前运行程序,然后执行以下步骤207。若不是处于运行状态,则程序下载装置可以记录升级程序下载成功的下载成功标志,并执行以下步骤207:
207、根据复位程序和升级程序进行复位重启。
其中,程序下载装置可以先运行第四程序区域的复位程序,并读取第一程序区域的标志位的值为第二值,根据该第二值跳转至第三程序区域。然后判断是否存储有下载成功标志,如果未存储有下载成功标志,则确定需要进行普通的上电启动,则程序下载装置可以直接运行第三程序区域的程序;如果存储有下载成功标志,则确定需要进行程序升级后的复位重启,此时可以通过判断是否存储有运行标志来判断升级前程序下载装置是处于运行状态还是停止状态。如果存储有运行标志,则表明处于运行状态,程序下载装置可以清除下载成功标志,并按照保存的运行状态参数,运行升级程序,以使得程序下载装置恢复到升级前的运行状态;如果未存储有运行标志,则表明处于停止状态,程序下载装置可以清除下载成功标志,并直接运行升级程序。
本发明提供的程序下载方法,程序下载装置在接收到网络云端发送的升级程序之后,先确定运行程序存储的程序区域,然后将升级程序写入除存储有运行程序的程序区域外的程序区域。这样,由于程序下载装置的正常工作程序与升级程序都在同一个程序中,无需通过下载处理程序来进行程序的下载,因此程序下载装置在下载程序时无需停止运行。且通过将处理器的闪存只读存储器分为多个程序区域,并将接收到的升级程序写入除存储有运行程序的程序区域外的程序区域,这样在用于存储升级程序的下载程序区损坏的情况下,由于存储有运行程序的程序区域仍然存在,使得程序下载装置能够正常运行。
上述主要从程序下载装置的角度对本发明实施例提供的方案进行了介绍。可以理解的是,程序下载装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对程序下载装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中涉及的程序下载装置的另一种可能的组成示意图,如图4所示,该程序下载装置可以包括:接收单元31、确定单元32和存储单元33。
其中,接收单元31,用于支持程序下载装置执行图2所示的程序下载方法中的步骤201。
确定单元32,用于支持程序下载装置执行图2所示的程序下载方法中的步骤202。
存储单元33,用于支持程序下载装置执行图2所示的程序下载方法中的步骤203,图3所示的程序下载方法中的步骤206所述的如果程序下载装置当前处于运行状态,则保存运行状态参数和运行标志,并记录升级程序下载成功的下载成功标志。
进一步的,在本发明实施例中,如图5所示,程序下载装置还可以包括:更改单元34、发送单元35、控制单元36和重启单元37。
更改单元34,用于支持程序下载装置执行图3所示的程序下载方法中的步骤204。
发送单元35,用于支持程序下载装置执行图3所示的程序下载方法中的步骤205。
控制单元36,用于支持程序下载装置执行图3所示的程序下载方法中的步骤206所述的控制停止运行当前运行程序。
重启单元37,用于支持程序下载装置执行图3所示的程序下载方法中的步骤207。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本发明实施例提供的程序下载装置,用于执行上述程序下载方法,因此可以达到与上述程序下载方法相同的效果。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的程序下载装置的另一种可能的组成示意图。如图6所示,该程序下载装置包括:处理模块41、通信模块42和存储模块43。
处理模块41用于对程序下载装置的动作进行控制管理,例如,处理模块41用于支持程序下载装置执行图2中的步骤202,图3中的步骤204、步骤206、步骤207,和/或用于本文所描述的技术的其它过程。通信模块42用于支持程序下载装置与其他网络实体,如网络云端的通信。例如,通信模块42,用于支持程序下载装置执行图2中的步骤201,图3中的步骤205。存储模块43,用于存储程序下载装置的程序代码和数据。例如,存储模块43,用于支持程序下载装置执行图2中的步骤203。
其中,处理模块41可以是处理器。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器(Digital Signal Processor,DSP)和微处理器的组合等等。通信模块42可以是通信接口。存储模块43可以是存储器。
当处理模块为处理器,通信模块为通信接口,存储模块为存储器时,程序下载装置可以为图7所示的装置。
图7为本发明实施例提供的一种程序下载装置的组成示意图,如图7所示,该程序下载装置可以包括:至少一个处理器51、存储器52、通信接口53和通信总线54。
下面结合图7对程序下载装置的各个构成部件进行具体的介绍:
其中,处理器51是程序下载装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器51是一个中央处理器(Central Processing Unit,CPU),也可以是MCU。
存储器52可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器52可以是独立存在,通过通信总线54与处理器51相连接。存储器52也可以和处理器51集成在一起。
在具体的实现中,存储器52,用于存储本发明中的数据和执行本发明的软件程序。处理器51可以通过运行或执行存储在存储器52内的软件程序,以及调用存储在存储器52内的数据,执行程序下载装置的各种功能。
通信接口53,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如网络云端、无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local AreaNetworks,WLAN)等。通信接口53可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线54,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种程序下载方法,应用于程序下载装置,所述程序下载装置包括处理器,所述处理器包括闪存只读存储器,其特征在于,所述闪存只读存储器包括第一程序区域、第二程序区域和第三程序区域,所述方法包括:
接收网络云端发送的升级程序;
根据所述第一程序区域包括的标志位,确定运行程序存储的程序区域;所述标志位包括第一值或第二值,所述第一值用于指示所述运行程序存储在所述第二程序区域,所述第二值用于指示所述运行程序存储在所述第三程序区域;
将所述升级程序写入除所述运行程序存储的程序区域外的程序区域;其中,所述第二程序区域和所述第三程序区域一个用于存储所述运行程序,另一个用于存储所述升级程序。
2.根据权利要求1所述的程序下载方法,其特征在于,
所述将所述升级程序写入除所述运行程序存储的程序区域外的程序区域,包括:若所述运行程序存储在所述第二程序区域,则将所述升级程序写入所述第三程序区域;
在确定所述升级程序的校验和防篡改检验均正确后,将所述标志位由所述第一值更改为所述第二值,并将所述第一程序区域包括的中断跳转地址由所述运行程序对应的跳转地址更改为所述升级程序对应的跳转地址;
向所述网络云端发送所述升级程序下载成功的消息。
3.根据权利要求2所述的程序下载方法,其特征在于,所述闪存只读存储器还包括:第四程序区域,所述第四程序区域用于存储复位程序,所述方法还包括:
如果所述程序下载装置当前处于运行状态,则保存运行状态参数和运行标志;
记录所述升级程序下载成功的下载成功标志;
控制停止运行所述运行程序;
根据所述复位程序和所述升级程序进行复位重启。
4.根据权利要求3所述的程序下载方法,其特征在于,所述根据所述复位程序和所述升级程序进行复位重启,包括:
运行所述复位程序;
获取所述标志位为所述第二值;
根据所述第二值跳转至所述第三程序区域;
根据所述下载成功标志确定进行程序升级后的复位重启;
根据所述运行标志和所述运行状态参数,运行所述升级程序;
清除所述下载成功标志。
5.一种程序下载装置,所述程序下载装置包括处理器,所述处理器包括闪存只读存储器,其特征在于,所述闪存只读存储器包括第一程序区域、第二程序区域和第三程序区域,所述程序下载装置包括:接收单元、确定单元和存储单元;
所述接收单元,用于接收网络云端发送的升级程序;
所述确定单元,用于根据所述第一程序区域包括的标志位,确定运行程序存储的程序区域;所述标志位包括第一值或第二值,所述第一值用于指示所述运行程序存储在所述第二程序区域,所述第二值用于指示所述运行程序存储在所述第三程序区域;
所述存储单元,用于将所述升级程序写入除所述运行程序存储的程序区域外的程序区域;其中,所述第二程序区域和所述第三程序区域一个用于存储所述运行程序,另一个用于存储所述升级程序。
6.根据权利要求5所述的程序下载装置,其特征在于,所述程序下载装置还包括:更改单元和发送单元;
所述存储单元,具体用于若所述运行程序存储在所述第二程序区域,则将所述升级程序写入所述第三程序区域;
所述更改单元,用于在确定所述升级程序的校验和防篡改检验均正确后,将所述标志位由所述第一值更改为所述第二值,并将所述第一程序区域包括的中断跳转地址由所述运行程序对应的跳转地址更改为所述升级程序对应的跳转地址;
所述发送单元,用于向所述网络云端发送所述升级程序下载成功的消息。
7.根据权利要求6所述的程序下载装置,其特征在于,所述闪存只读存储器还包括:第四程序区域,所述第四程序区域用于存储复位程序,所述程序下载装置还包括:控制单元和重启单元;
所述存储单元,还用于如果所述程序下载装置当前处于运行状态,则保存运行状态参数和运行标志;记录所述升级程序下载成功的下载成功标志;
所述控制单元,用于控制停止运行所述运行程序;
所述重启单元,用于根据所述复位程序和所述升级程序进行复位重启。
8.根据权利要求7所述的程序下载装置,其特征在于,所述重启单元,具体用于:
运行所述复位程序;
获取所述标志位为所述第二值;
根据所述第二值跳转至所述第三程序区域;
根据所述下载成功标志确定进行程序升级后的复位重启;
根据所述运行标志和所述运行状态参数,运行所述升级程序;
清除所述下载成功标志。
9.一种程序下载装置,其特征在于,所述程序下载装置包括:处理器、存储器、通信接口和通信总线;
所述处理器与所述存储器、所述通信接口通过所述通信总线连接,所述存储器用于存储计算机执行指令,当所述程序下载装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述程序下载装置执行如权利要求1-4中任一项所述的程序下载方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机执行指令,当所述计算机执行指令在程序下载装置上运行时,使得所述程序下载装置执行如权利要求1-4中任一项所述的程序下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910572063.7A CN110286932A (zh) | 2019-06-28 | 2019-06-28 | 一种程序下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910572063.7A CN110286932A (zh) | 2019-06-28 | 2019-06-28 | 一种程序下载方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110286932A true CN110286932A (zh) | 2019-09-27 |
Family
ID=68019451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910572063.7A Pending CN110286932A (zh) | 2019-06-28 | 2019-06-28 | 一种程序下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110286932A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110762774A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762773A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762775A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN111831309A (zh) * | 2020-07-16 | 2020-10-27 | 深圳市朗科智能电气股份有限公司 | 物联网Wifi带载多MCU的升级方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001027954A (ja) * | 1999-05-13 | 2001-01-30 | Fujitsu Takamisawa Component Ltd | プログラム再書き込み機能付コンピュータ |
CN109144532A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
-
2019
- 2019-06-28 CN CN201910572063.7A patent/CN110286932A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001027954A (ja) * | 1999-05-13 | 2001-01-30 | Fujitsu Takamisawa Component Ltd | プログラム再書き込み機能付コンピュータ |
CN109144532A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN109358887A (zh) * | 2018-12-17 | 2019-02-19 | 武汉精立电子技术有限公司 | 一种单片机程序的在线升级方法、装置及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110762774A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762773A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762775A (zh) * | 2019-10-28 | 2020-02-07 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762774B (zh) * | 2019-10-28 | 2021-12-14 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN110762775B (zh) * | 2019-10-28 | 2022-04-15 | 海信(山东)空调有限公司 | 一种空调器的升级方法及空调器 |
CN111831309A (zh) * | 2020-07-16 | 2020-10-27 | 深圳市朗科智能电气股份有限公司 | 物联网Wifi带载多MCU的升级方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110286932A (zh) | 一种程序下载方法及装置 | |
US10817279B1 (en) | Providing different upgrade paths for upgrading a server | |
US11815991B2 (en) | Systems and methods to reprogram mobile devices including a cross-matrix controller to port connection | |
CN105912356B (zh) | 一种支持版本回退的光模块固件程序在线升级方法 | |
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
US10802815B1 (en) | Managing upgrades of clients having different installed versions of a software product | |
CN107632846B (zh) | 固件升级方法及装置、机框管理模块 | |
CN103092647A (zh) | 嵌入式系统的在线升级方法 | |
CN111782339A (zh) | 一种容器创建方法、装置、电子设备及存储介质 | |
CN107911741A (zh) | 可用存储空间提升方法、智能电视及计算机可读存储介质 | |
KR100927446B1 (ko) | 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템 | |
CN111813495A (zh) | 节点测试方法和装置、存储介质和电子装置 | |
CN113741944A (zh) | 一种具备升级功能的机器程序系统及升级方法与应用 | |
CN106055420B (zh) | 一种数据校验方法、装置及设备 | |
CN109144532A (zh) | 升级方法及装置 | |
CN107770299A (zh) | 一种mac地址刷写方法、系统、装置及存储介质 | |
CN108989103A (zh) | 设备升级方法、调试器、网络设备和网络系统 | |
CN105955773A (zh) | 系统升级方法和装置 | |
CN106528199A (zh) | 一种汽车仪表盘系统的更新方法及终端 | |
CN108874422A (zh) | 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱 | |
CN116560688A (zh) | 用于域控制器的软件更新方法 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN109739511A (zh) | 一种提高代码验证效率的方法、装置、计算机设备及存储介质 | |
CN108712290A (zh) | 网卡驱动方法、装置及存储介质 | |
CN114691180A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |