CN109992280A - 一种嵌入式软件升级的方法、终端装置及存储装置 - Google Patents
一种嵌入式软件升级的方法、终端装置及存储装置 Download PDFInfo
- Publication number
- CN109992280A CN109992280A CN201711499084.8A CN201711499084A CN109992280A CN 109992280 A CN109992280 A CN 109992280A CN 201711499084 A CN201711499084 A CN 201711499084A CN 109992280 A CN109992280 A CN 109992280A
- Authority
- CN
- China
- Prior art keywords
- program
- data file
- program data
- embedded
- written
- 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 41
- 230000002159 abnormal effect Effects 0.000 claims abstract description 9
- 230000000295 complement effect Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 11
- 238000009434 installation Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种嵌入式软件升级的方法,该方法包括:接收第一程序数据文件,将第一程序数据文件写入远程升级数据备份区;判断第一程序数据文件是否完整写入远程升级数据备份区;当判断为是时,读取远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区;运行嵌入式程序存放区的程序数据文件中的程序。以上技术方案通过将所接收到的第一程序数据文件写入远程升级数据备份区并判断是否完整写入,当判断结果是是时,读取远程升级备份区中的第一程序数据文件写入嵌入式程序存放区,运行嵌入式存放区的第一程序数据文件中的程序,有效地实现对严谨的升级程序,避免导致程序升级异常。本申请还提供一种终端装置及具有存储功能的装置。
Description
技术领域
本申请涉及通信领域,特别是涉及一种嵌入式软件升级的方法、终端装置及存储装置。
背景技术
随着通信技术和人工智能技术的发展,嵌入式技术在各种电子设备中占据非常重要的作用,也即嵌入式软件是众多电子设备***的重要组成部分。但是随着技术的不断发展,嵌入式软件则因有功能的新需求或其他原因需要更新升级。但是在升级的过程中,由于现有技术中的升级方法不够严谨,会导致软件异常,从而影响***的正常启动,导致设备需要整机返修,这为用户的使用带来了极大的不便。
发明内容
本申请主要解决的技术问题是,提供一种嵌入式软件升级的方法、终端装置及存储装置,能够解决现有升级方法不够严谨的问题。
为解决上述技术问题,本申请采用的技术方案是:提供一种嵌入式软件升级的方法,该方法包括以下步骤:
接收第一程序数据文件,将所述第一程序数据文件写入远程升级数据备份区;
判断所述第一程序数据文件是否完整写入所述远程升级数据备份区;
当判断为是时,读取所述远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区;
运行所述嵌入式程序存放区的程序数据文件中的程序。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种终端装置,该装置包括:处理器,与所述处理器电性连接的存储器,所述处理器包括所述处理器在工作时,执行如上所述的方法,所述存储器存储所述处理器工作执行的结果。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种具有存储功能的装置,存储有程序数据,所述程序数据被执行时实现以上所述的方法。
以上技术方案的有益效果是:区别于现有技术的情况,本申请通过将所接收到的第一程序数据文件写入远程升级数据备份区,并判断第一程序数据文件是否完整写入远程升级备份区,当第一程序数据文件已完整写入远程升级备份区后,读取远程升级备份区中的第一程序数据文件写入嵌入式程序存放区,运行嵌入式存放区的程序数据文件中的程序,可以有效地实现严谨的升级程序,避免导致程序升级异常。
附图说明
图1是本申请嵌入式软件升级的方法一实施方式的流程示意图;
图2是本申请嵌入式软件升级的方法另一实施方式的流程示意图;
图3是本申请嵌入式软件升级的方法又一实施方式的流程示意图;
图4是本申请终端装置一实施方式的结构示意图;
图5是本申请具有存储功能的装置一实施方式的结构示意图。
具体实施方式
在下文中,将参照附图来描述本申请的示例性实施例。为了清楚和简要的目的,不详细描述公知的功能和构造,这是因为所述公知的功能和构造会使本申请在不必要的细节上变模糊。考虑到本申请中的功能而限定的下面描述的术语可以根据用户和操作者的意图或实施而不同。因此,应该在整个说明书的公开的基础上来限定所述术语。
请参阅图1,为本申请一种嵌入式软件升级的方法一实施例方式的流程示意图。需注意的是,若有实质上相同的结果,本申请的方法并不以图1所示的流程顺序为限,下述其他流程示意图同样不以图示的流程顺序为限。如图1所示,该方法包括步骤S10至步骤S40。
在本申请中,将MCU的FLASH分成5个区,即引导区(boot区)、嵌入式程序存放区(APP区)、远程升级数据备份区(APP Bak1区)、嵌入式程序备份区(APP Bak2区)和记录区(Config区)。在下文中对于本申请所提供的技术方案进一步阐述时,则会依次对上述各个区的功能进一步详细说明。其中,
S10:接收第一程序数据文件,将第一程序数据文件写入远程升级数据备份区。
在一实施例中,在收到远程的升级请求时,将远程升级数据备份区原有的数据擦除,将所接收到的第一程序数据文件写入远程升级数据备份区。其中第一程序数据文件为新版本的软件对应的程序数据。远程升级数据备份区为需要升级的新版本软件所对应的程序数据存放(备份)区域。
在另一实施例中,当收到远程升级请求时,将所接收到的第一程序数据直接写入远程升级数据备份区,以覆盖掉远程升级数据备份区内原有数据内容。即将擦除原有程序数据过程与将第一程序数据写入远程升级备份区合并成一个步骤完成。
其中,所接收到的来自远程端第一程序数据文件的传输方式是按包传输。即在远程端将原本较大的一个软件所对应的程序数据包分成多个小的数据包,然后按包发送。
在一实施例中,当所需要升级的软件数据较大,即当第一程序数据较大,远程端则会将程序数据按包发送,此时每一包上均会写入预设的标记数值,用以区分数据包并验证程序数据的完整性。
在另一实施例中,当所需要升级的软件数据较小时,即所需要升级的软件数据为远程端一次就可以实现发送完毕的数据包时,则直接一次全部发送,不再需要分包发送,同样的,此时所发送的数据包上依然写入预设的标记数值,用以标记程序数据是否完整。可以理解的,此时对应的在MCU端接收第一程序数据文件时,一次则可以接收完毕。
可以理解的,在一实施例中,当升级请求不是来自远程,而是由用户根据自己的需要,手动请求进行升级时,此时会先将用户发送的请求发送至远程,再通过远程端发送升级所需要的数据包,并进行如步骤S10所述的步骤。
在另一实施例中,当用户根据自己需要,手动请求进行升级时,用户可以自己在操作***上选择自动进行联网升级,在下载了对应的升级数据包后,依然会进行上述的步骤。
在又一实施例中,当超过预设时间,远程尚未对用户所发送的手动升级请求回应时,则会自动跳转进行联网升级。可以理解的,自动跳转联网需要用户进行选择的,用户可以选择继续联网升级,也可以选择暂停,等到远程端回应时再继续进行升级。
S20:判断第一程序数据文件是否完整写入远程升级数据备份区。
当步骤S10将第一程序数据文件写入远程升级备份区后,进一步进行步骤S20,以判断第一程序数据文件是否完整写入远程升级数据备份区。可以理解的,第一程序数据文件完整写入是指当前所接收到的程序文件上预设的数值标志是否与远程端发送的预设的数值标志一致。
具体的,参见图2,为本申请嵌入式软件升级的方法一实施方式中的流程示意图。结合图2,步骤S20进一步包括步骤S21至步骤S22。其中,
S21:计算第一程序数据文件的第一MD5值,并判断第一MD5值是否等于所接收到来自远程的第二MD5值。
其中,远程端在发送第一程序数据文件后,同时会发送第二MD5的值。所以在计算所接收到的第一程序数据文件的第一MD5值后,再将计算所得的第一MD5值与所接收到的来自远程端的第二MD5值进行比较,以获取第一MD5值是否等于所接收到来自远程的第二MD5值。其中,第一MD5值是通过计算所接收到的第一程序数据文件的MD5值所得的,即当所接收到的第一程序数据文件是按包发送时,第一MD5的值就是将所有所接收到的第一程序数据文件数据包上预设的标记值计算所得。第二MD5值是远程端在发送第一程序数据文件后发送至MCU的。当远程端所发送的第一程序数据文件在接收成功之前没有被修改或者是改动过,即是完整的,那么计算所得的第一MD5值会等于第二MD5值。MD5是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
S22:当第一MD5值等于第二MD5值时,判定第一程序数据文件正确。
当判断得出第一MD5值等于第二MD5值时,则会判定当前所接收到的第一程序数据文件是正确且完整的。
其中,当步骤S22判定第一程序数据文件正确之后还包括:在记录区写入接收完成标志。在记录区所写入的完成标志内容可以根据需要进行设定调整设定,具体在此不作限定。
在一实施例中,设定当第一MD5值等于第二MD5值时,判定第一程序数据文件正确后,在记录区写入1表示接收第一程序数据文件完成(接收成功),写入0表示接收第一程序数据文件失败。可以理解的,在其他的实施例中,可以写入其他的数值用以表示接收完成或者是接收失败,具体在此不一一详述。其中,接收失败的标志是在判断当第一MD5值不等于第二MD5值时写入,用以标记第一程序数据文件接收失败。
进一步的,在记录区写入接收完成标志的步骤之后还包括:判断记录区是否写入接收完成标志。通过检查记录区是否已写入预先设定的接收完成标志,当读取到对应的接收完成标志值时,则判定记录区已经写入接收完成标志;反之,当读取到的标志为接收失败的标志时,或者是其他的标志时,则判断记录区没有写入接收完成标志。
进一步的,当帕努单记录区已写入接收完成标志时,读取远程升级数据备份区内的第一程序数据文件写入嵌入式程序存放区,并运行此时嵌入式程序存放区内的第一程序数据文件。
在一实施例中,当判断结果是是时,即记录区已经写入接收完成标志时,则可以确定远程升级数据备份区所接收的第一程序数据文件是完整的。此时会读取远程升级数据备份区内的第一程序数据文件写入嵌入式程序存放区。然后再运行嵌入式程序存放区内的第一程序数据文件。
在另一实施例中,当判断结果是否时,即记录区没有写入接收完成标志,则判定第一程序数据文件未完整写入嵌入式程序存放区,运行当前嵌入式存放区内升级前的程序数据文件,也就是旧版本的程序数据文件。
一实施例中,当判断得出第一MD5值不等于第二MD5值时,判定当前所接收到的第一程序数据文件异常。并将第一程序数据文件异常的结果反馈至远程服务器,请求服务器重新发送。当远程服务器再次发送需要进行升级的软件所对应的程序数据文件,会重新将所接收到的程序文件写入远程升级备份区,依次进行上述步骤S10至步骤S20,具体的请参见上文,在此不做赘述。其中,造成当前所接收到的第一程序数据文件异常的原因是多样的,具体在此不详述。
S30:当判断为是时,读取远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区。
当步骤S20中判断结果为是时,即第一程序数据文件已完整写入远程升级数据备份区,则进一步读取远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区。可以理解的,在读取远程升级数据备份区中第一程序数据文件写入嵌入式存放区时,自动将嵌入式存放区内数据擦除,或者是直接用所读取的第一程序数据文件内容覆盖掉原有的升级前的程序数据文件。
可选地,在步骤S30之后还包括:在记录区写入升级完成标志。即当成功读取远程升级数据备份区中第一程序数据文件,并将其写入嵌入式程序存放区后,则会在记录区写入升级完成标志。
在一实施例中,步骤S30之后在记录区写入升级完成标志之前,先将记录区原有的记录内容清除,再写入当前的升级完成标志,具体标志额内容可以设定为0011。可以理解的,当所写入的升级完成标志可以根据需要进行调整设定为其他内容,具体在此不作限定。
在另一实施例中,步骤S30之后在记录区写入升级完成标志时,并不擦除记录区内原有的记录,只是将现在需要写入的标志顺次写在之前已有的记录之后。需要说明的,在本实施例中,现在所写入的升级完成标志可以是和前面所写入接收完成标志是一样的内容,也可以是不一样的内容。具体的,当升级完成标志与接收完成标志一样时,依据所写入记录区的位置来区分两个标志值所代表的意义,如设定升级完成标志只能写入I区,接收完成标志只能写入II区。当升级完成标志与接收完成标志值不一样时,依据所写入的标志各自预先设定意义进行判断区分。
S40:运行嵌入式程序存放区的程序数据文件中的程序。
进一步的,运行嵌入式程序存放区的程序数据文件中的程序,其中运行的可以是第一程序数据文件,也可以是升级前的程序数据文件。
在一实施例中,在成功读取远程升级数据备份区中第一程序数据文件,并写入嵌入式程序存放区的步骤之后,运行当前嵌入式存放区所存放的第一程序数据文件中的程序。
在另一实施例中,当判断远程程序接收失败或者是其他原因,当前嵌入式程序存放区内的程序依然是升级前的程序数据文件,则此时运行的是当前嵌入式程序存放区内的升级前的程序数据文件。
可选地,请参见图3,在一实施例中,步骤S40之后还包括步骤S51至步骤S53,其中:
S51:判断第一程序数据文件中的程序是否运行成功。
具体的,在一实施例中,当在运行嵌入式程序存放区的第一程序数据文件时,***可以正常启动,且在运行过程中,各个参数均正常,且不存在数据缺失或者是存在异常文件,又或是异常警告等,则判断当前第一程序数据文件中的程序运行成功。
在另一实施例中,当运行嵌入式程序存放区内的程序数据时,***无法启动,或者是出现多个警告时,或是发现有重要文件缺失,则判定当前第一程序数据文件中的程序运行失败。
S52:当判断结果是是时,判断记录区是否写入升级完成标志。
在一实施例中当判断结果是是时,也就是第一程序数据文件运行成功,则进一步判断记录区是否写入升级完成标志,即判断是否可以在记录区读取到预先设定的升级完成标志,如果读取到预先设定的升级完成标志,则判定记录区已写入升级完成标志;反之当没有读取到预先设定的升级完成标志(包括所读取的标志是错误的,无法对应上预先设定的升级完成标志)时,则判定记录区没有写入升级完成标志。
在另一实施例中,当判断第一程序数据文件中的程序运行失败时,擦除当前嵌入式程序存放区中的数据,读取嵌入式程序备份区中的第二程序数据文件,并写入至嵌入式程序存放区,运行第二程序数据文件。可以理解的,此时嵌入式程序备份区内第二程序数据文件对应的是原有版本软件。嵌入式程序备份区内的第二程序文件是上一次软件升级成功后,依据本申请所提供的逻辑进行备份的,具体将在下文进行详述。
在其他的实施例中,当已经完成软件升级的***在工时,因外界的电磁静电等因素影响,导致的嵌入式程序存放区第一程序数据文件内的数据出现丢失等异常情况时,,则在运行***时第一程序数据文件中的程序数据会运行失败。此时,在擦除当前嵌入式程序存放区中的第一程序数据后,读取嵌入式程序备份区中第二程序数据文件。需要说明的是,此时读取嵌入式程序备份区中的第二程序数据文件与嵌入式程序存放区的程序相同,即此时读取的即是存放在嵌入式程序备份区内的第一程序数据。本申请所提供的上述步骤可以较好地解决,当***中的程序因电磁、静电等因素影响,造成嵌入式程序存放区的数据丢失时,通过将嵌入式程序备份区内的数据再次读取写入至嵌入式程序存放区,可以较好地保证***的正常运行。避免因***启动不了,需要征集返厂维修。
S53:当判断记录区已写入升级完成标志时,读取第一程序数据文件写入嵌入式程序备份区。
当判断记录区已写入升级完成标志时,读取第一程序数据文件写入嵌入式程序备份区。
在一实施例中,当判断记录区已写入升级完成标志时,读取远程升级备份区中第一程序数据文件,并将其写入嵌入式程序备份区,留作备份程序数据。然后将记录区内的所写入的标志清楚。在不同的实施例中,所清楚的标志不同。具体的,当前面步骤中没有清楚记录区内的标志,则会进一步的将记录区内的标志全部清除;当前面的步骤中,依次清除了记录区内的标志后,此时清除的是升级完成标志,具体的,在此不做任何限定。
在另一实施例中,当判断记录区已写入升级完成标志时,读取嵌入式程序存放区内的程序数据,写入嵌入式程序备份区。可以理解的,此时所写入嵌入式程序备份区的程序数据为成功运行的程序数据。可以理解的,在判断记录区已写入升级完成标志时,所读取的第一程序数据是来自远程升级备份区,还是来自嵌入式程序存放区,具体根据设定执行,在此不作限定。如上所述的,本申请所提供的上述步骤还可以较好地解决,当***中的程序因电磁、静电等因素影响,造成嵌入式程序存放区的数据丢失时,通过将嵌入式程序备份区内的数据再次读取写入至嵌入式程序存放区,可以较好地保证***的正常运行。避免因***启动不了,需要征集返厂维修。
在一实施例中,在步骤运行嵌入式程序存放区的程序数据文件中的步骤之后还可以包括:判断第一程序数据文件中的程序是否运行成功。具体的,当在运行第一程序数据文件时,***可以正常启动,且在运行过程中,各个参数均正常,且不存在数据缺失或者是存在异常文件,又或是异常警告等,则判断当前第一程序数据文件中的程序运行成功。
进一步的,在当前所提供的实施例中,当判断第一程序数据文件中的程序运行成功后,则会在记录区写入升级完成标志,并将远程升级备份区内的第一程序数据文件写入嵌入式程序备份区内,以供下次升级失败时,或者是因其他因素导致嵌入式程序存放区内的程序无法正常运行时,再次从嵌入式程序备份区内内调用数据。
本申请所提供的技术方案,通过将所接收到的第一程序数据文件写入远程升级数据备份区,并判断第一程序数据文件是否完整写入远程升级备份区,当第一程序数据文件已完整写入远程升级备份区后,读取远程升级备份区中的第一程序数据文件写入嵌入式程序存放区,运行嵌入式存放区的第一程序数据文件中的程序,可以有效地实现对严谨的升级程序。同时通过本申请所提供的技术方案,还避免了因不严谨的程序升级流程造成无法启动***,耽搁用户的使用或者是降低工作效率,又或者因升级失败必须需要整机返修等不必要的麻烦。
本申请在软件升级过程中并没有一开始就把旧版本的程序数据删除,而是在嵌入式程序备份区中有对应的程序数据备份情况下删除嵌入式程序存放区内旧版本的数据,并在升级后的软件成功运行时,将升级的软件所对应的程序数据再次备份至嵌入式程序备份区中,以备发生不定因素的干扰时,或者是下一次软件升级失败时,读取写入至嵌入式程序存放区。
请参阅图4,为本申请一种终端装置10以实施方式的结构示意图,该装置包括:处理器12,与处理器12电性连接的存储器14,处理器12包括其在工作时执行如上所述嵌入式软件升级的方法,存储器14存储有处理器12工作执行的结果。
进一步的,终端装置10还包括接口电路16,用于与处理器12配合工作,完成数据的接收与发送。
在一实施例中,具体的,终端装置10可以为装有嵌入式***和/软件的机器人、手机、笔记本电脑、拥有通信和联网功能的平板电脑、或拥有通信和联网功能的穿戴设备,但不限于此。
参阅图5,为本申请一种具有存储功能的装置20一实施方式结构示意图,存储装置20存储有程序数据,存储装置所存储的程序数据被执行时实现如上所述的嵌入式软件升级的方法。具体的,上述具有存储功能的装置20可以是终端设备的存储器、个人计算机、服务器、网络设备,或者U盘等其中的一种。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种嵌入式软件升级的方法,其特征在于,包括以下步骤:
接收第一程序数据文件,将所述第一程序数据文件写入远程升级数据备份区;
判断所述第一程序数据文件是否完整写入所述远程升级数据备份区;
当判断为是时,读取所述远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区;
运行所述嵌入式程序存放区的程序数据文件中的程序。
2.根据权利要求1所述的嵌入式软件升级的方法,其特征在于,所述接收第一程序数据文件,将所述第一程序数据文件写入远程升级数据备份区的步骤之前还包括:擦除所述远程升级备份区的程序数据。
3.根据权利要求1所述的嵌入式软件升级的方法,其特征在于,所述判断所述第一程序数据文件是否完整写入所述远程升级数据备份区的步骤具体包括:
计算所述第一程序数据文件的第一MD5值,并判断所述第一MD5值是否等于所接收到来自远程的第二MD5值;
当所述第一MD5值等于所述第二MD5值时,判定所述第一程序数据文件正确;
且所述判断所述第一程序数据文件正确的步骤之后还包括:在记录区写入接收完成标志。
4.根据权利要求3所述的嵌入式软件升级的方法,其特征在于,当所述第一MD5值不等于所述第二MD5值时,判定所述第一程序数据文件异常;且所述判定所述第一程序数据文件异常的步骤之后还包括:
将所述异常结果反馈至远程服务器,请求服务器重新发送。
5.根据权利要求3所述的嵌入式软件升级的方法,其特征在于,所述在记录区写入接收完成标志的步骤之后,还包括:
判断所述记录区是否写入所述接收完成标志;
当判断结果是是时,将所述第一程序数据文件写入所述嵌入式程序存放区,并运行所述第一程序数据文件。
6.根据权利要求5所述的嵌入式软件升级的方法,其特征在于,当判断结果是否时,判定所述第一程序数据文件未完整写入所述嵌入式程序存放区,运行升级前的程序数据文件。
7.根据权利要求1所述的嵌入式软件升级的方法,其特征在于,所述读取所述远程升级数据备份区中第一程序数据文件写入嵌入式程序存放区的步骤之后,还包括:在所述记录区写入升级完成标志。
8.根据权利要求7所述的嵌入式软件升级的方法,其特征在于,所述运行所述嵌入式程序存放区的程序数据文件中的程序的步骤之后还包括:
判断所述第一程序数据文件中的程序是否运行成功;
当判断结果是是时,判断所述记录区是否写入升级完成标志;
当判断所述记录区已写入所述升级完成标志时,读取所述第一程序数据文件写入嵌入式程序备份区。
9.根据权利要求1或8所述的嵌入式软件升级的方法,其特征在于,当判断所述第一程序数据文件中的程序运行失败时,擦除所述嵌入式程序存放区数据,读取所述嵌入式程序备份区中的第二程序数据文件至所述嵌入式程序存放区,运行所述第二程序数据文件。
10.根据权利要求1所述的嵌入式软件升级的方法,其特征在于,所述运行所述嵌入式程序存放区的程序数据文件中的程序的步骤之后还包括:
判断所述第一程序数据文件中的程序是否运行成功;
当判断结果是是时,在所述记录区写入升级完成标志;
当在所述记录区写入所述升级完成标志时,读取所述第一程序数据文件写入嵌入式程序备份区。
11.一种终端装置,其特征在于,所述装置包括:处理器,与所述处理器电性连接的存储器,所述处理器包括所述处理器在工作时,执行如权利要求1~10任意一项所述的方法,所述存储器存储所述处理器工作执行的结果。
12.一种具有存储功能的装置,其特征在于,所述存储装置存储有程序数据,所述程序数据被执行时实现如权利要求1~10任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499084.8A CN109992280A (zh) | 2017-12-29 | 2017-12-29 | 一种嵌入式软件升级的方法、终端装置及存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499084.8A CN109992280A (zh) | 2017-12-29 | 2017-12-29 | 一种嵌入式软件升级的方法、终端装置及存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992280A true CN109992280A (zh) | 2019-07-09 |
Family
ID=67111137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711499084.8A Pending CN109992280A (zh) | 2017-12-29 | 2017-12-29 | 一种嵌入式软件升级的方法、终端装置及存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992280A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427611A (zh) * | 2020-04-02 | 2020-07-17 | 四川航天***工程研究所 | 一种利用指纹码实现的嵌入式软件版本状态管控方法 |
CN111459508A (zh) * | 2020-03-27 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种BootLoader自升级的方法及*** |
CN113703801A (zh) * | 2021-07-14 | 2021-11-26 | 深圳市有为信息技术发展有限公司 | 一种车载终端固件升级方法及电子装置 |
CN113867749A (zh) * | 2020-06-30 | 2021-12-31 | Oppo广东移动通信有限公司 | 数据升级的方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN103092647A (zh) * | 2012-12-29 | 2013-05-08 | 聚光科技(杭州)股份有限公司 | 嵌入式***的在线升级方法 |
CN105260215A (zh) * | 2015-11-04 | 2016-01-20 | 福建星海通信科技有限公司 | 一种u盘升级车载行车记录仪终端的方法 |
CN105700919A (zh) * | 2016-01-04 | 2016-06-22 | 惠州市蓝微新源技术有限公司 | 一种bms应用程序快速更新方法及更新*** |
CN106933616A (zh) * | 2017-01-17 | 2017-07-07 | 成都华立达电力信息***有限公司 | 基于宽带载波的远程升级方法 |
CN107450945A (zh) * | 2017-07-13 | 2017-12-08 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备的固件更新方法 |
-
2017
- 2017-12-29 CN CN201711499084.8A patent/CN109992280A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436138A (zh) * | 2007-11-16 | 2009-05-20 | 苏州科达通信技术发展有限公司 | 一种用于软件升级且动态回滚的控制装置以及控制方法 |
CN103092647A (zh) * | 2012-12-29 | 2013-05-08 | 聚光科技(杭州)股份有限公司 | 嵌入式***的在线升级方法 |
CN105260215A (zh) * | 2015-11-04 | 2016-01-20 | 福建星海通信科技有限公司 | 一种u盘升级车载行车记录仪终端的方法 |
CN105700919A (zh) * | 2016-01-04 | 2016-06-22 | 惠州市蓝微新源技术有限公司 | 一种bms应用程序快速更新方法及更新*** |
CN106933616A (zh) * | 2017-01-17 | 2017-07-07 | 成都华立达电力信息***有限公司 | 基于宽带载波的远程升级方法 |
CN107450945A (zh) * | 2017-07-13 | 2017-12-08 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备的固件更新方法 |
Non-Patent Citations (1)
Title |
---|
张水利: "《单片机原理及应用》", 31 August 2008, 郑州:黄河水利出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459508A (zh) * | 2020-03-27 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种BootLoader自升级的方法及*** |
CN111459508B (zh) * | 2020-03-27 | 2023-12-01 | 北京经纬恒润科技股份有限公司 | 一种BootLoader自升级的方法及*** |
CN111427611A (zh) * | 2020-04-02 | 2020-07-17 | 四川航天***工程研究所 | 一种利用指纹码实现的嵌入式软件版本状态管控方法 |
CN113867749A (zh) * | 2020-06-30 | 2021-12-31 | Oppo广东移动通信有限公司 | 数据升级的方法、电子设备及存储介质 |
CN113703801A (zh) * | 2021-07-14 | 2021-11-26 | 深圳市有为信息技术发展有限公司 | 一种车载终端固件升级方法及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992280A (zh) | 一种嵌入式软件升级的方法、终端装置及存储装置 | |
CN104579719B (zh) | 一种固件的升级方法和***、上位机和光模块 | |
CN105912356B (zh) | 一种支持版本回退的光模块固件程序在线升级方法 | |
CN101364193A (zh) | 自动恢复bios的方法以及使用该方法的电脑与*** | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及*** | |
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN107493290A (zh) | Android智能电视***软件进行OTA升级的方法 | |
CN107608705A (zh) | 一种无线wifi视频设备及其固件升级方法 | |
CN104021014B (zh) | 一种基于双cpu***的固件升级方法 | |
CN105677398A (zh) | 一种通用的嵌入式计算机软件在线升级方法 | |
CN103713925A (zh) | 避免存储阵列在升级过程的业务中断方法和装置 | |
CN106874054A (zh) | 一种直放站内模块程序在线升级方法与*** | |
EP4394583A1 (en) | Charging stand, charging stand upgrading method and apparatus, device, and storage medium | |
CN106502718B (zh) | 程序的升级方法和装置、控制器 | |
CN109582332A (zh) | 互联网摄像机的***升级方法及装置 | |
CN109002305A (zh) | 一种设备程序的更新方法及其*** | |
CN101515834B (zh) | 一种主控卡、基于多备份主控卡的切换***及其切换方法 | |
CN111309388B (zh) | 设备的***软件版本的自动回滚***及其方法 | |
CN112822254A (zh) | 数据采集传输***及远程在线升级、调配参数的方法 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN105843336B (zh) | 具有多机柜管理模块的机柜及其韧体更新方法 | |
CN111211921A (zh) | 模块机组的远程升级方法、***及计算机可读存储介质 | |
CN105704707A (zh) | 从设备及其空中升级的方法 | |
CN109032615A (zh) | 一种用于无线联网门锁的软件在线升级方法 | |
US9058264B2 (en) | Method for repairing communication abnormality between data card and host and data card |
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: 20190709 |
|
RJ01 | Rejection of invention patent application after publication |