著录项信息
专利名称 | 移动终端在软件升级失败时恢复原有软件的方法 |
申请号 | CN201110070592.0 | 申请日期 | 2011-03-23 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-07-06 | 公开/公告号 | CN102117234A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/14 | IPC分类号 | G;0;6;F;1;1;/;1;4查看分类表>
|
申请人 | 惠州TCL移动通信有限公司 | 申请人地址 | 江苏省盐城市盐南高新区文港南路49号西伏河数字智能创新社区展示中心楼206室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 盐城市盐南高新区西伏河数字智能产业发展有限公司 | 当前权利人 | 盐城市盐南高新区西伏河数字智能产业发展有限公司 |
发明人 | 林子华 |
代理机构 | 深圳市君胜知识产权代理事务所 | 代理人 | 杨宏;刘文求 |
摘要
本发明公开了一种移动终端在软件升级失败时恢复原有软件的方法,通过对升级前的应用程序做备份,然后保存到终端设备的外部RAM中;并对备份数据做校验,确保备份数据的正确;从而保证无论什么情况出现的升级数据出错,均能够自动把外部RAM中的备份应用程序下载到存储器中进行恢复。采用本发明可保证无论什么情况出现的升级数据出错,均能够保终端设备的正常使用;如果存储器出现致命损坏,能够提示用户进行维修。
1.一种移动终端在软件升级失败时恢复原有软件的方法,其特征在于,包括以下步骤:
S1、运行下载程序,将原有的应用程序下载到外部RAM中进行备份;
S2、在外部RAM中设置缓存空间,把缓存区大小发送给PC工具,然后发送开始信号给PC工具,通知PC工具准备发送新程序数据;
S3、PC工具收到开始信号,通知电脑端的下载工具下载新程序并将新程序数据发送到外部RAM中开设的缓存区;
S4、PC工具发送完与缓存区容量大小相等的数据,暂停发送数据,并发送暂停信号给下载工具与下载程序;
S5、下载程序收到暂停信号后,把缓存区的程序数据写到存储器中;
S6、下载程序把缓存区的数据写完后,发送重新开始信号给PC工具;
S7、判断所有新程序数据是否已下载完成,若没有下载完则重复步骤S3到步骤S6;若数据下载完成则执行步骤S8;
S8、发送完所有数据后,PC工具发送结束信号给下载程序;
S9、下载程序接收到结束信号后,对所有写到存储器的数据进行校验,判断存储器中的数据是否正确,若数据正确则执行步骤S10,若数据不正确则执行步骤S11;
S10、发送正确信息给电脑,提示用户下载完成,并自动重启设备;
S11、发送出错信息给PC工具,PC工具提示用户下载失败;
S12、下载失败后,系统对存储器进行重新擦除,并对存储器初始化;
S13、下载程序运行写命令,把备份在外部RAM中的旧应用程序写到存储器中;
S14、对重新写入存储器中的旧应用程序进行校验,判断是否正确,若正确则运行步骤S15,若不正确,判断是否是第三次重新运行步骤S12到步骤S14,如果不是,则运行重新运行步骤S12到步骤S14;如果是,则运行步骤S16;
S15、发送信息给电脑,提示用户重新启动终端设备;
S16、发送错误信息给电脑,提示用户终端设备损坏,请送售后维修;
所述的对原有的应用程序进行备份的方法为:自动运行FLASH读取命令,把FLASH中的内容拷贝到外部RAM中;还对备份的数据进行校验,判断是否正确,若备份的程序正确,擦除存储器;若备份的程序不正确,则重新备份;
对存储器进行检测,查找存储器是否有坏块,若有则做标记,没有则不做处理。
2.根据权利要求1所述的移动终端在软件升级失败时恢复原有软件的方法,其特征在于,对原有程序的校验采用循环冗余校验码进行校验。
3.根据权利要求1所述的移动终端在软件升级失败时恢复原有软件的方法,其特征在于,对重新写入存储器中的旧应用程序进行校验时,若不正确则运行重新运行步骤S12到步骤S14的重复次数设置一个门限值,若大于等于设置的门限值则直接运行步骤S16。
4.根据权利要求3所述的移动终端在软件升级失败时恢复原有软件的方法,其特征在于,所述门限值设置为3次。
5.根据权利要求1所述的移动终端在软件升级失败时恢复原有软件的方法,其特征在于,通过USB把缓存区大小发送给PC工具。
移动终端在软件升级失败时恢复原有软件的方法\n技术领域\n[0001] 本发明涉及移动终端应用领域,尤其涉及的是一种移动终端在软件升级失败时恢复原有软件的方法。\n背景技术\n[0002] 现有的移动终端,尤其是手机等移动设备在进行软件升级时,由于各种原因,在下载新软件时会出现失败的情况。出现这种情况后,新软件没有下载成功,而旧软件已被擦除,这时如果没有保护措施,设备就无法使用,需要用专用设备重新下载才能恢复使用。这样对于普通用户来说,出现这种情况就会很麻烦,要到售后中心才能处理。\n[0003] 移动终端设备的软件分为应用程序和初始化程序。对于用户来说,初始化程序不需要升级,只有应用程序需要升级。应用程序和初始化程序都是存储在存储器中,运行时,CPU先把初始化程序调到CPU的片内RAM中运行,由初始化程序把应用程序调到终端设备的外部RAM中,然后应用程序在外部RAM中运行。\n[0004] 升级应用软件时,由终端设备上运行的下载程序和电脑上运行的下载工具完成升级任务,下载程序负责与电脑上云顶的下载工具通讯,下载工具发送命令或者接收来自下载工具的命令和数据:由在CPU片内RAM中运行的初始化程序调用存储在FLASH中的下载程序。下载程序先擦除存储器,再把新的应用程序通过电脑上运行的下载工具下载到终端设备的外部RAM中,下载成功后,再由下载程序从外部RAM中把应用程序下载到存储器中。\n全部应用程序下载到存储器后,对应用程序进行校验,检查程序是否完整和正确。如果校验结果正确,则下载完成,如果校验结果错误,则下载失败。\n[0005] 因此下载过程中出现错误的话,旧的应用程序已被擦除,因此设备就无法使用。出现这种情况后,如果重新下载后仍不成功的话,通常需要专用设备重新下载才能恢复使用。\n这样对于用户来说,是非常麻烦的。\n[0006] 下载出现错误,大部分是程序数据出现错误,从而导致升级失败。而数据出现错误,通常是下面几种情况造成:各个下载环节中数据受到干扰,导致数据出现错误;或者是存储器的存储单元出现错误,导致数据错误;或者是新的应用程序数据本身存在问题;或者是电脑端的下载工具有问题等。\n[0007] 因此,现有技术还有待于改进和发展。\n发明内容\n[0008] 本发明的目的在于提供一种移动终端在软件升级失败时恢复原有软件的方法,旨在解决现有的移动终端在软件升级失败时,旧的应用程序已被擦除,设备就无法使用的问题。\n[0009] 本发明的技术方案如下:\n[0010] 一种移动终端在软件升级失败时恢复原有软件的方法,其中,包括以下步骤:\n[0011] S1、运行下载程序,将原有的应用程序下载到外部RAM中进行备份;\n[0012] S2、在外部RAM中设置缓存空间,把缓存区大小发送给PC工具,然后发送开始信号给PC工具,通知PC工具准备发送新程序数据;\n[0013] S3、PC工具收到开始信号,通知电脑端的下载工具下载新程序并将新程序数据发送到外部RAM中开设的缓存区;\n[0014] S4、PC工具发送完与缓存区容量大小相等的数据,暂停发送数据,并发送暂停信号给下载工具与下载程序;\n[0015] S5、下载程序收到暂停信号后,把缓存区的程序数据写到存储器中;\n[0016] S6、下载程序把缓存区的数据写完后,发送重新开始信号给PC工具;\n[0017] S7、判断所有新程序数据是否已下载完成,若没有下载完则重复步骤S3到步骤S6;若数据下载完成则执行步骤S8;\n[0018] S8、发送完所有数据后,PC工具发送结束信号给下载程序;\n[0019] S9、下载程序接收到结束信号后,对所有写到存储器的数据进行校验,判断存储器中的数据是否正确,若数据正确则执行步骤S10,若数据不正确则执行步骤S11;\n[0020] S10、发送正确信息给电脑,提示用户下载完成,并自动重启设备;\n[0021] S11、发送出错信息给PC工具,PC工具提示用户下载失败;\n[0022] S12、下载失败后,系统对存储器进行重新擦除,并对存储器初始化;\n[0023] S13、下载程序运行写命令,把备份在外部RAM中的旧应用程序写到存储器中;\n[0024] S14、对重新写入存储器中的旧应用程序进行校验,判断是否正确,若正确则运行步骤S15,若不正确,判断是否是第三次重新运行步骤S12到步骤S14,如果不是,则运行重新运行步骤S12到步骤S14;如果是,则运行步骤S16;\n[0025] S15、发送信息给电脑,提示用户重新启动终端设备;\n[0026] S16、发送错误信息给电脑,提示用户终端设备损坏,请送售后维修。\n[0027] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,对原有的应用程序进行备份的方法为:自动运行FLASH读取命令,把FLASH中的内容拷贝到外部RAM中。\n[0028] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,还对备份的数据进行校验,判断是否正确,若备份的程序正确,擦除存储器;若备份的程序不正确,则重新备份。\n[0029] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,对原有程序的校验采用循环冗余校验码进行校验。\n[0030] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,对存储器进行检测,查找存储器是否有坏块,若有则做标记,没有则不做处理。\n[0031] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,对重新写入存储器中的旧应用程序进行校验时,若不正确则运行重新运行步骤S12到步骤S14的重复次数设置一个门限值,若大于等于设置的门限值则直接运行步骤S16。\n[0032] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,所述门限值设置为3次。\n[0033] 所述的移动终端在软件升级失败时恢复原有软件的方法,其中,通过USB把缓存区大小发送给PC工具。\n[0034] 本发明的有益效果:本发明通过对升级前的应用程序做备份,保存到终端设备的外部RAM中;对备份数据做校验,确保备份数据的正确;无论什么情况出现的升级数据出错,均能够自动把外部RAM中的备份应用程序下载到存储器中进行恢复;通过以上操作,使得升级失败时,仍然确保终端设备的正常使用;如果存储器出现致命损坏,能够提示用户进行维修。\n附图说明\n[0035] 图1是本发明具体实施例提供的方法流程图。\n具体实施方式\n[0036] 为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。\n[0037] 本发明通过对升级前的应用程序做备份,然后保存到终端设备的外部RAM中;并对备份数据做校验,确保备份数据的正确;从而保证无论什么情况出现的升级数据出错,均能够自动把外部RAM中的备份应用程序下载到存储器中进行恢复;通过以上操作,使得升级失败时,仍然确保终端设备的正常使用;如果存储器出现致命损坏,能够提示用户进行维修。\n[0038] 因此为了满足上述需求,本发明具体设计一种新的下载程序,使得在程序升级出错时,能够自动恢复原来的应用程序,使设备仍然能够正常运行。是本发明提供的下载程序具体流程,包括以下步骤:\n[0039] 步骤S1、运行下载程序,将原有的应用程序下载到外部RAM中进行备份。\n[0040] 对原有的应用程序进行备份的方法为:自动运行FLASH读取命令,把FLASH中的内容拷贝到外部RAM中。\n[0041] 本发明还对备份的数据进行校验,判断是否正确,若备份的程序正确,擦除存储器;若备份的程序不正确,则重新备份。对备份的数据进行校验的目的在于使得程序数据出问题时,有正确的旧程序可用,保证备份的数据的正确性。\n[0042] 步骤S2、在外部RAM中设置缓存空间,把缓存区大小发送给PC工具,然后发送开始信号给PC工具,通知PC工具准备发送新程序数据。\n[0043] 其中,缓存区大小根据具体项目在下载程序代码中修改;本发明中是通过USB把缓存区大小发送给PC工具的。\n[0044] 步骤S3、PC工具收到开始信号,通知电脑端的下载工具下载新程序并将新程序数据发送到外部RAM中开设的缓存区。\n[0045] 步骤S4、PC工具发送完与缓存区容量大小相等的数据,暂停发送数据,并发送暂停信号给下载工具与下载程序。\n[0046] 步骤S5、下载程序收到暂停信号后,把缓存区的程序数据写到存储器中。\n[0047] 步骤S6、下载程序把缓存区的数据写完后,发送重新开始信号给PC工具。\n[0048] 步骤S7、判断所有新程序数据是否已下载完成,若没有下载完则重复步骤S3到步骤S6,直到所有数据写到存储器中;若数据下载完成则执行步骤S8。\n[0049] 步骤S8、发送完所有数据后,PC工具发送结束信号给下载程序。\n[0050] 步骤S9、下载程序接收到结束信号后,对所有写到存储器的数据进行校验,判断存储器中的数据是否正确,若数据正确则执行步骤S10,若数据不正确则执行步骤S11。\n[0051] 其中,本发明中对原有程序的校验采用CRC(Cyclic Redundancy Check循环冗余校验码)校验方法。\n[0052] 步骤S10、发送正确信息给电脑,提示用户下载完成,并自动重启设备。\n[0053] 步骤S11、发送出错信息给PC工具,PC工具提示用户下载失败。\n[0054] 步骤S12、下载失败后,系统对存储器进行重新擦除,并对存储器初始化。\n[0055] 本发明在处理时,还对存储器进行检测,查找存储器是否有坏块,若有则做标记,没有则不做处理。做了标记的坏块会被标记出来,对于下载程序或者应用程序来说,就会被隐藏起来而看不见。\n[0056] 步骤S13、下载程序运行写命令,把备份在外部RAM中的旧应用程序写到存储器中。\n[0057] 其中,把备份在外部RAM中的旧应用程序下载到标记了坏块后的存储器中,如果存储器有坏块,因为已经被标记隐藏起来,程序数据就不会被写到损坏的存储器单元中。从而保证了程序运行的准确性。\n[0058] S14、对重新写入存储器中的旧应用程序进行校验,判断是否正确,若正确则运行步骤S15,若不正确,判断是否是第三次重新运行步骤S12到步骤S14,如果不是,则运行重新运行步骤S12到步骤S14;如果是,则运行步骤S16。\n[0059] 其中,本发明重复次数设置了一个门限值,在重复运行步骤S12到步骤S14前进行判断当前是第几次重复,若大于等于设置的门限值则直接运行步骤S16。本发明具体实施例中门限值设置为三次,即若是第三次重复时则运行步骤S16。\n[0060] 步骤S15、发送信息给电脑,提示用户重新启动终端设备。\n[0061] 步骤S16、发送错误信息给电脑,提示用户终端设备损坏,请送售后维修。如果第三次下载旧应用程序后仍然出错,则存储器可能存在致命损坏,无法再使用,或者出现其他无法确认的错误。\n[0062] 上述的下载程序,以旧的应用程序备份为恢复数据,只要是下载数据出错导致的下载失败,无论是下载过程干扰导致的数据损坏,还是存储器的存储单元损坏导致的数据损坏,或者是新程序本身有问题,或者是电脑下载工具有问题导致的数据错误,都能自动够恢复旧的应用程序,使终端设备不因为升级失败导致无法使用。从而解决了大部分升级失败导致的设备无法使用的问题。如果是存储器本身出现了致命损坏,本下载程序能够提示用户送交厂家售后维修。\n[0063] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
法律信息
- 2021-01-08
专利权的转移
登记生效日: 2020.12.25
专利权人由惠州TCL移动通信有限公司变更为盐城市盐南高新区西伏河数字智能产业发展有限公司
地址由516006 广东省惠州市仲恺高新技术开发区23号小区变更为224000 江苏省盐城市盐南高新区文港南路49号西伏河数字智能创新社区展示中心楼206室
- 2013-07-03
- 2012-02-22
实质审查的生效
IPC(主分类): G06F 11/14
专利申请号: 201110070592.0
申请日: 2011.03.23
- 2011-07-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |