太阳城集团

  • / 33
  • 下载费用:30 金币  

引导程序升级方法、嵌入式设备、控制设备及嵌入式系统.pdf

摘要
申请专利号:

CN201510339079.5

申请日:

2015.06.17

公开号:

CN106257417A

公开日:

2016.12.28

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/445申请日:20150617|||公开
IPC分类号: G06F9/445 主分类号: G06F9/445
申请人: 中兴通讯股份有限公司
发明人: 解义超
地址: 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
优先权:
专利代理机构: 北京安信方达知识产权代理有限公司 11262 代理人: 张建秀;栗若木
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201510339079.5

授权太阳城集团号:

|||

法律状态太阳城集团日:

2018.07.13|||2016.12.28

法律状态类型:

实质审查的生效|||公开

摘要

太阳城集团本发明公开了一种引导程序升级方法、嵌入式设备、控制设备及嵌入式系统。本发明中的引导程序升级方法包括:接收控制设备发送的升级指示消息,该升级指示消息用于指示嵌入式设备监听嵌入式设备与控制设备之间的串口;通过串口接收控制设备发送的升级文件,该升级文件为控制设备根据用户选择的文件路径计算出的,该升级文件包括文件长度、校验字段和文件数据;将升级文件写入嵌入式设备的存储器中,以替换存储器中的当前引导程序。本发明解决了采用烧录器对引导程序进行升级的过程中,由于需要拆卸嵌入式设备的外壳以实现升级,而导致升级引导程序的操作方式比较复杂,工作量大的问题。

权利要求书

1.一种引导程序升级方法,其特征在于,包括:
接收控制设备发送的升级指示消息,所述升级指示消息用于指示嵌入式
设备监听所述嵌入式设备与所述控制设备之间的串口;
通过所述串口接收所述控制设备发送的升级文件,所述升级文件为所述
控制设备根据用户选择的文件路径计算出的,所述升级文件包括文件长度、
校验字段和文件数据;
将所述升级文件写入所述嵌入式设备的存储器中,以替换所述存储器中
的当前引导程序。
2.根据权利要求1所述的引导程序升级方法,其特征在于,所述通过所
述串口接收所述控制设备发送的升级文件之后,还包括:
将通过所述串口接收到的升级文件写入所述嵌入式设备的内存中,并对
所述升级文件进行校验;
当对所述升级文件校验成功后,将所述升级文件写入所述嵌入式设备的
存储器中;
当对所述升级文件校验失败后,加载并启动所述当前引导程序。
3.根据权利要求2所述的引导程序升级方法,其特征在于,所述升级指
示消息为所述控制设备在所述控制设备中的控制程序为升级模式下发送的,
所述接收控制设备发送的升级指示消息之前,还包括:
通过处理器CPU执行所述存储器中的启动引导程序,并通过所述启动引
导程序向所述控制设备发送第一问询消息;
当在预置的太阳城集团内接收到所述升级指示消息,根据所述升级指示消息开
始监听所述串口;
当在预置的太阳城集团内没有接收到所述升级指示消息,加载并启动所述当前
引导程序。
4.根据权利要求3所述的引导程序升级方法,其特征在于,所述接收控
制设备发送的升级指示消息之前,还包括:
接收所述控制设备发送的备份指示消息,所述备份指示消息用于指示所
述控制设备开始监听所述串口;
根据所述备份指示消息读取所述存储器中的所述当前引导程序,并计算
所述当前引导程序的文件长度、校验字段和文件数据;
向所述控制设备发送备份文件,以使所述控制设备将接收到的所述备份
文件写入所述控制设备的内存中,并对所述备份文件进行校验,在校验成功
后,将所述备份文件保存到所述用户在所述控制设备中预先设置的存储位置
中,其中,所述备份文件包括对所述当前引导程序的计算结果。
5.根据权利要求4所述的引导程序升级方法,其特征在于,所述备份指
示消息为所述控制设备在所述控制程序为备份模式下发送的,所述接收所述
控制设备发送的备份指示消息之前,还包括:
通过CPU执行所述存储器中的所述启动引导程序,并通过所述启动引导
程序向所述控制设备发送第二问询消息;
当在预置的太阳城集团内接收到所述备份指示消息,根据所述备份指示消息指
示所述控制设备开始监听所述串口;
当在预置的太阳城集团内没有接收到所述备份指示消息,加载并启动所述当前
引导程序。
6.根据权利要求4所述的引导程序升级方法,其特征在于,所述向所述
控制设备发送备份文件之后,还包括:
接收所述控制设备发送的备份失败消息,所述备份失败消息用于指示所
述控制设备对所述备份文件校验失败。
7.根据权利要求4~6中任一项所述的引导程序升级方法,其特征在于,
在将所述升级文件写入所述嵌入式设备的存储器的过程中发生升级错误,所
述方法还包括:
重新启动所述嵌入式设备,并通过所述CPU再次执行所述启动引导程序
后,通过所述启动引导程序向所述控制设备发送所述第三问询消息;
接收所述控制设备发送的恢复指示消息,所述恢复指示消息用于指示所
述嵌入式设备监听所述串口;
通过所述串口接收所述控制设备发送的恢复文件,所述恢复文件为所述
控制设备根据所述用户选择的文件路径计算出的,所述恢复文件包括文件长
度、校验字段和文件数据;
将所述恢复文件写入所述嵌入式设备的存储器中,以还原在写入所述升
级文件前所述嵌入式设备的存储器中的引导程序。
8.根据权利要求7所述的引导程序升级方法,其特征在于,所述恢复文
件为在所述控制设备中存储的所述备份文件中选择出的其中一个备份文件。
9.一种引导程序升级方法,其特征在于,包括:
向嵌入式设备发送升级指示消息,所述升级指示消息用于指示所述嵌入
式设备监听所述嵌入式设备与所述控制设备之间的串口;
根据用户选择的文件路径计算升级文件的文件长度、校验字段和文件数
据;
通过所述串口向所述嵌入式设备发送所述计算出的升级文件,使得所述
嵌入式设备将所述升级文件写入所述嵌入式设备的存储器中,以替换所述存
储器中的当前引导程序。
10.根据权利要求9所述的引导程序升级方法,其特征在于,所述向嵌
入式设备发送升级指示消息之前,还包括:
启动所述控制设备的控制程序,并在所述控制程序上选择升级模式;
通过所述控制程序接收所述嵌入式设备发送的第一问询消息,所述第一
问询消息用于提示所述控制设备对所述嵌入式设备中的所述当前引导程序进
行升级。
11.根据权利要求10所述的引导程序升级方法,其特征在于,所述向嵌
入式设备发送升级指示消息之前,还包括:
向所述嵌入式设备发送备份指示消息,所述备份指示消息用于指示所述
嵌入式设备向所述终端发送备份文件;
通过所述串口接收所述嵌入式设备发送的备份文件,所述备份文件包括
所述嵌入式设备的存储器中的所述当前引导程序的文件长度、校验字段和文
件数据;
将所述接收到的备份文件写入所述控制设备的内存中,并对所述备份文
件进行校验;
当对所述备份文件校验成功后,将所述备份文件保存到所述用户在所述
控制设备中预先设置的存储位置中;
当对所述备份文件校验失败后,向所述嵌入式设备发送备份失败消息。
12.根据权利要求11所述的引导程序升级方法,其特征在于,所述向所
述嵌入式设备发送备份指示消息之前,还包括:
启动所述控制设备的控制程序,并在所述控制程序上选择备份模式;
通过所述控制程序接收所述嵌入式设备发送的第二问询消息,所述第二
问询消息用于提示所述控制设备对所述嵌入式设备中的所述当前引导程序进
行备份。
13.根据权利要求11或12所述的引导程序升级方法,其特征在于,所
述通过所述串口向所述嵌入式设备发送所述计算出的升级文件之后,还包括:
通过所述控制程序接收所述嵌入式设备发送的第三问询消息,所述第三
询问消息用于指示所述嵌入式设备对所述当前引导程序升级失败;
向所述嵌入式设备发送恢复指示消息,所述恢复指示消息用于指示所述
嵌入式设备监听所述串口;
根据所述用户选择的文件路径计算恢复文件的文件长度、校验字段和文
件数据;
通过所述串口向所述嵌入式设备发送所述恢复文件,使得所述嵌入式设
备将所述恢复文件写入所述嵌入式设备的存储器中,以还原在写入所述升级
文件前所述嵌入式设备的存储器中的引导程序。
14.根据权利要求13所述的引导程序升级方法,其特征在于,所述恢复
文件为在所述控制设备中存储的所述备份文件中选择出的其中一个备份文
件。
15.一种嵌入式设备,其特征在于,包括:
接收模块,用于接收控制设备发送的升级指示消息,所述升级指示消息
用于指示所述接收模块监听所述嵌入式设备与所述控制设备之间的串口;
所述接收模块,还用于通过所述串口接收所述控制设备发送的升级文件,
所述升级文件为所述控制设备根据用户选择的文件路径计算出的,所述升级
文件包括文件长度、校验字段和文件数据;
存储模块,用于将所述接收模块接收到的升级文件写入所述嵌入式设备
的存储器中,以替换所述存储器中的当前引导程序。
16.根据权利要求15所述的嵌入式设备,其特征在于,所述存储模块包
括:存储单元,用于在所述接收模块接收到所述控制设备发送的所述升级文
件之后,将所述升级文件写入所述嵌入式设备的内存中;
校验单元,用于对所述存储单元写入所述嵌入式设备的内存中的升级文
件进行校验;
所述存储单元,还用于在所述校验单元对所述升级文件校验成功后,将
所述升级文件写入所述嵌入式设备的存储器中;
所述校验单元,还用于在对所述升级文件校验失败后,加载并启动所述
当前引导程序。
17.根据权利要求16所述的嵌入式设备,其特征在于,所述升级指示消
息为所述控制设备在所述控制设备中的控制程序为升级模式下发送的,所述
嵌入式设备还包括:处理模块,用于在所述接收模块接收控制设备发送的升
级指示消息之前,通过处理器CPU执行所述存储器中的启动引导程序;
发送模块,用于通过所述启动引导程序向所述控制设备发送第一问询消
息;
所述处理模块,还用于当所述接收模块在预置的太阳城集团内接收到所述升级
指示消息,根据所述接收模块接收的升级指示消息开始监听所述串口;
所述处理模块,还用于当所述接收模块在预置的太阳城集团内没有接收到所述
升级指示消息,加载并启动所述当前引导程序。
18.根据权利要求17所述的嵌入式设备,其特征在于,所述接收模块,
还用于在接收所述控制设备发送的升级指示消息之前,接收所述控制设备发
送的备份指示消息,所述备份指示消息用于指示所述控制设备开始监听所述
串口;
所述嵌入式设备还包括:计算模块,用于根据所述接收模块接收的备份
指示消息读取所述存储器中的所述当前引导程序,并计算所述当前引导程序
的文件长度、校验字段和文件数据;
所述发送模块,还用于向所述控制设备发送备份文件,以使所述控制设
备将接收到的所述备份文件写入所述控制设备的内存中,并对所述备份文件
进行校验,在校验成功后,将所述备份文件保存到所述用户在所述控制设备
中预先设置的存储位置中,其中,所述备份文件包括对所述当前引导程序的
计算结果。
19.根据权利要求18所述的嵌入式设备,其特征在于,所述备份指示消
息为所述控制设备在所述控制程序为备份模式下发送的,所述处理模块,还
用于在所述接收模块接收所述控制设备发送的备份指示消息之前,通过CPU
执行所述存储器中的所述启动引导程序;
所述发送模块,还用于通过所述启动引导程序向所述控制设备发送第二
问询消息;
所述处理模块,还用于当所述接收模块在预置的太阳城集团内接收到所述备份
指示消息,根据所述接收模块接收的备份指示消息指示所述控制设备开始监
听所述串口;
所述处理模块,还用于当所述接收模块在预置的太阳城集团内没有接收到所述
备份指示消息,加载并启动所述当前引导程序。
20.根据权利要求18所述的嵌入式设备,其特征在于,所述接收模块,
还用于在所述发送模块向所述控制设备发送备份文件之后,接收所述控制设
备发送的备份失败消息,所述备份失败消息用于指示所述控制设备对所述备
份文件校验失败。
21.根据权利要求18~20中任一项所述的嵌入式设备,其特征在于,所
述处理模块,还用于在所述存储模块将所述升级文件写入所述嵌入式设备的
存储器的过程中发生升级错误时,重新启动所述嵌入式设备,并通过所述CPU
再次执行所述启动引导程序;
所述发送模块,还用于通过所述启动引导程序向所述控制设备发送所述
第三问询消息;
所述接收模块,还用于接收所述控制设备发送的恢复指示消息,所述恢
复指示消息用于指示所述嵌入式设备监听所述串口,并通过所述串口接收所
述控制设备发送的恢复文件,所述恢复文件为所述控制设备根据所述用户选
择的文件路径计算出的,所述恢复文件包括文件长度、校验字段和文件数据;
存储模块,还用于将所述恢复文件写入所述嵌入式设备的存储器中,以
还原在写入所述升级文件前所述嵌入式设备的存储器中的引导程序。
22.根据权利要求21所述的嵌入式设备,其特征在于,所述恢复文件为
在所述控制设备中存储的所述备份文件中选择出的其中一个备份文件。
23.一种控制设备,其特征在于,包括:
发送模块,用于向嵌入式设备发送升级指示消息,所述升级指示消息用
于指示所述嵌入式设备监听所述嵌入式设备与所述控制设备之间的串口;
计算模块,用于根据用户选择的文件路径计算升级文件的文件长度、校
验字段和文件数据;
所述发送模块,还用于通过所述串口向所述嵌入式设备发送所述计算模
块计算出的升级文件,使得所述嵌入式设备将所述升级文件写入所述嵌入式
设备的存储器中,以替换所述存储器中的当前引导程序。
24.根据权利要求23所述的控制设备,其特征在于,所述控制设备还包
括:启动模块,用于在所述发送模块向所述嵌入式设备发送升级指示消息之
前,启动所述控制设备的控制程序,并在所述控制程序上选择升级模式;
接收模块,用于通过所述控制程序接收所述嵌入式设备发送的第一问询
消息,所述第一问询消息用于提示所述控制设备对所述嵌入式设备中的所述
当前引导程序进行升级。
25.根据权利要求24所述的控制设备,其特征在于,所述发送模块,还
用于在向所述嵌入式设备发送升级指示消息之前,向所述嵌入式设备发送备
份指示消息,所述备份指示消息用于指示所述嵌入式设备向所述终端发送备
份文件;
所述接收模块,还用于通过所述串口接收所述嵌入式设备发送的备份文
件,所述备份文件包括所述嵌入式设备的存储器中的所述当前引导程序的文
件长度、校验字段和文件数据;
所述控制设备还包括:存储模块,用于将所述接收模块接收到的备份文
件写入所述控制设备的内存中;
校验模块,用于对所述存储模块写入所述控制设备的内存中的备份文件
进行校验;
所述存储模块,还用于在所述校验模块对所述备份文件校验成功后,将
所述备份文件保存到所述用户在所述控制设备中预先设置的存储位置中;
所述发送模块,还用于在所述校验模块对所述备份文件校验失败后,向
所述嵌入式设备发送备份失败消息。
26.根据权利要求25所述的控制设备,其特征在于,所述启动模块,还
用于在所述发送模块向所述嵌入式设备发送备份指示消息之前,启动所述控
制设备的控制程序,并在所述控制设备的控制程序上选择备份模式;
所述接收模块,还用于通过所述控制程序接收所述嵌入式设备发送的第
二问询消息,所述第二问询消息用于提示所述控制设备对所述嵌入式设备中
的所述当前引导程序进行备份。
27.根据权利要求25或26所述的控制设备,其特征在于,所述接收模
块,还用于在所述发送模块通过所述串口向所述嵌入式设备发送所述计算出
的升级文件之后,通过所述控制程序接收所述嵌入式设备发送的第三问询消
息,所述第三询问消息用于指示所述嵌入式设备对所述当前引导程序升级失
败;
所述发送模块,还用于向所述嵌入式设备发送恢复指示消息,所述恢复
指示消息用于指示所述嵌入式设备监听所述串口;
所述计算模块,还用于根据所述用户选择的文件路径计算恢复文件的文
件长度、校验字段和文件数据;
所述发送模块,还用于通过所述串口向所述嵌入式设备发送所述计算模
块计算出的恢复文件,使得所述嵌入式设备将所述恢复文件写入所述嵌入式
设备的存储器中,以还原在写入所述升级文件前所述嵌入式设备的存储器中
的引导程序。
28.根据权利要求27所述的控制设备,其特征在于,所述恢复文件为在
所述控制设备中存储的所述备份文件中选择出的其中一个备份文件。
29.一种嵌入式系统,其特征在于,包括:如权利要求15~22中任一项
所述的嵌入式设备和如权利要求23~28中任一项所述的控制设备。

说明书

引导程序升级方法、嵌入式设备、控制设备及嵌入式系统

技术领域

本发明涉及计算机技术,尤指一种引导程序(BOOT)升级方法、嵌入
式设备、控制设备及嵌入式系统。

背景技术

随着嵌入式系统(Embedded system,简称为:ES)在通信及工业控制领
域的广泛应用,为了提高产品的生命周期以及适应新的业务需求,通常需要
对嵌入式系统进行现场升级,其中一项重要的升级内容包括对嵌入式设备中
引导程序的升级。

嵌入式设备的引导程序通常存放于非易失性存储器中,例如NOR
FLASH和NAND FLASH等器件中,引导程序的主要功能包括初始化中央处
理器(Central Processing Unit,简称为:CPU)和显示数据随机存储器(Display
Data Random Access Memory,简称为:DDRAM)等器件,然后引导操作系
统(Operating System,简称为:OS)或应用程序启动。引导程序是嵌入式设
备上电后的运行的第一段程序,若该引导程序升级失败则会造成嵌入式设备
无法启动,例如,在使用引导程序自身的命令实现自我更新进行升级的过程
中,如果升级失败,则会造成嵌入式设备无法启动。基于上述问题,为了保
证引导程序升级过程中的安全性和可靠性,目前通常使用的引导程序的升级
方式中可以采用烧录器,具体通过烧录器将待升级版本的引导程序烧录到嵌
入式设备的存储器中,同时需要借助附加的烧录软件。

然而,在采用烧录器对引导程序进行升级的过程中,由于嵌入式设备中
与烧录器连接的接口通常设置于该嵌入式设备的内部,因此需要拆卸该嵌入
式设备的外壳以实现升级,而导致升级引导程序的操作方式比较复杂,工作
量大的问题。

发明内容

为了解决上述技术问题,本发明提供了一种引导程序升级方法、嵌入式
设备、控制设备及嵌入式系统,以解决采用烧录器对引导程序进行升级的过
程中,由于需要拆卸嵌入式设备的外壳以实现升级,而导致升级引导程序的
操作方式比较复杂,工作量大的问题。

第一方面,本发明提供一种引导程序升级方法,包括:

接收控制设备发送的升级指示消息,所述升级指示消息用于指示嵌入式
设备监听所述嵌入式设备与所述控制设备之间的串口;

通过所述串口接收所述控制设备发送的升级文件,所述升级文件为所述
控制设备根据用户选择的文件路径计算出的,所述升级文件包括文件长度、
校验字段和文件数据;

将所述升级文件写入所述嵌入式设备的存储器中,以替换所述存储器中
的当前引导程序。

在第一方面的第一种可能的实现方式中,所述通过所述串口接收所述控
制设备发送的升级文件之后,还包括:

将通过所述串口接收到的升级文件写入所述嵌入式设备的内存中,并对
所述升级文件进行校验;

当对所述升级文件校验成功后,将所述升级文件写入所述嵌入式设备的
存储器中;

当对所述升级文件校验失败后,加载并启动所述当前引导程序。

根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述升级指示消息为所述控制设备在所述控制设备中的控制程序为升级模式
下发送的,所述接收控制设备发送的升级指示消息之前,还包括:

通过处理器CPU执行所述存储器中的启动引导程序,并通过所述启动引
导程序向所述控制设备发送第一问询消息;

当在预置的太阳城集团内接收到所述升级指示消息,根据所述升级指示消息开
始监听所述串口;

当在预置的太阳城集团内没有接收到所述升级指示消息,加载并启动所述当前
引导程序。

根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述接收控制设备发送的升级指示消息之前,还包括:

接收所述控制设备发送的备份指示消息,所述备份指示消息用于指示所
述控制设备开始监听所述串口;

根据所述备份指示消息读取所述存储器中的所述当前引导程序,并计算
所述当前引导程序的文件长度、校验字段和文件数据;

向所述控制设备发送备份文件,以使所述控制设备将接收到的所述备份
文件写入所述控制设备的内存中,并对所述备份文件进行校验,在校验成功
后,将所述备份文件保存到所述用户在所述控制设备中预先设置的存储位置
中,其中,所述备份文件包括对所述当前引导程序的计算结果。

根据第一方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述备份指示消息为所述控制设备在所述控制程序为备份模式下发送的,所
述接收所述控制设备发送的备份指示消息之前,还包括:

通过CPU执行所述存储器中的所述启动引导程序,并通过所述启动引导
程序向所述控制设备发送第二问询消息;

当在预置的太阳城集团内接收到所述备份指示消息,根据所述备份指示消息指
示所述控制设备开始监听所述串口;

当在预置的太阳城集团内没有接收到所述备份指示消息,加载并启动所述当前
引导程序。

根据第一方面的第三种可能的实现方式,在第五种可能的实现方式中,
所述向所述控制设备发送备份文件之后,还包括:

接收所述控制设备发送的备份失败消息,所述备份失败消息用于指示所
述控制设备对所述备份文件校验失败。

根据第一方面的第三种到第五种可能的实现方式中的任意一种,在第六
种可能的实现方式中,在将所述升级文件写入所述嵌入式设备的存储器的过
程中发生升级错误,所述方法还包括:

重新启动所述嵌入式设备,并通过所述CPU再次执行所述启动引导程序
后,通过所述启动引导程序向所述控制设备发送所述第三问询消息;

接收所述控制设备发送的恢复指示消息,所述恢复指示消息用于指示所
述嵌入式设备监听所述串口;

通过所述串口接收所述控制设备发送的恢复文件,所述恢复文件为所述
控制设备根据所述用户选择的文件路径计算出的,所述恢复文件包括文件长
度、校验字段和文件数据;

将所述恢复文件写入所述嵌入式设备的存储器中,以还原在写入所述升
级文件前所述嵌入式设备的存储器中的引导程序。

根据第一方面的第六种可能的实现方式,在第七种可能的实现方式中,
所述恢复文件为在所述控制设备中存储的所述备份文件中选择出的其中一个
备份文件。

第二方面,本发明提供一种引导程序升级方法,包括:

向嵌入式设备发送升级指示消息,所述升级指示消息用于指示所述嵌入
式设备监听所述嵌入式设备与所述控制设备之间的串口;

根据用户选择的文件路径计算升级文件的文件长度、校验字段和文件数
据;

通过所述串口向所述嵌入式设备发送所述计算出的升级文件,使得所述
嵌入式设备将所述升级文件写入所述嵌入式设备的存储器中,以替换所述存
储器中的当前引导程序。

在第二方面的第一种可能的实现方式中,所述向嵌入式设备发送升级指
示消息之前,还包括:

启动所述控制设备的控制程序,并在所述控制程序上选择升级模式;

通过所述控制程序接收所述嵌入式设备发送的第一问询消息,所述第一
问询消息用于提示所述控制设备对所述嵌入式设备中的所述当前引导程序进
行升级。

根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述向嵌入式设备发送升级指示消息之前,还包括:

向所述嵌入式设备发送备份指示消息,所述备份指示消息用于指示所述
嵌入式设备向所述终端发送备份文件;

通过所述串口接收所述嵌入式设备发送的备份文件,所述备份文件包括
所述嵌入式设备的存储器中的所述当前引导程序的文件长度、校验字段和文
件数据;

将所述接收到的备份文件写入所述控制设备的内存中,并对所述备份文
件进行校验;

当对所述备份文件校验成功后,将所述备份文件保存到所述用户在所述
控制设备中预先设置的存储位置中;

当对所述备份文件校验失败后,向所述嵌入式设备发送备份失败消息。

根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述向所述嵌入式设备发送备份指示消息之前,还包括:

启动所述控制设备的控制程序,并在所述控制程序上选择备份模式;

通过所述控制程序接收所述嵌入式设备发送的第二问询消息,所述第二
问询消息用于提示所述控制设备对所述嵌入式设备中的所述当前引导程序进
行备份。

根据第二方面的第二种或第三种可能的实现方式,在第四种可能的实现
方式中,所述通过所述串口向所述嵌入式设备发送所述计算出的升级文件之
后,还包括:

通过所述控制程序接收所述嵌入式设备发送的第三问询消息,所述第三
询问消息用于指示所述嵌入式设备对所述当前引导程序升级失败;

向所述嵌入式设备发送恢复指示消息,所述恢复指示消息用于指示所述
嵌入式设备监听所述串口;

根据所述用户选择的文件路径计算恢复文件的文件长度、校验字段和文
件数据;

通过所述串口向所述嵌入式设备发送所述恢复文件,使得所述嵌入式设
备将所述恢复文件写入所述嵌入式设备的存储器中,以还原在写入所述升级
文件前所述嵌入式设备的存储器中的引导程序。

根据第二方面的第四种可能的实现方式,在第五种可能的实现方式中,
所述恢复文件为在所述控制设备中存储的所述备份文件中选择出的其中一个
备份文件。

第三方面,本发明提供一种嵌入式设备,包括:

接收模块,用于接收控制设备发送的升级指示消息,所述升级指示消息
用于指示所述接收模块监听所述嵌入式设备与所述控制设备之间的串口;

所述接收模块,还用于通过所述串口接收所述控制设备发送的升级文件,
所述升级文件为所述控制设备根据用户选择的文件路径计算出的,所述升级
文件包括文件长度、校验字段和文件数据;

存储模块,用于将所述接收模块接收到的升级文件写入所述嵌入式设备
的存储器中,以替换所述存储器中的当前引导程序。

在第三方面的第一种可能的实现方式中,所述存储模块包括:存储单元,
用于在所述接收模块接收到所述控制设备发送的所述升级文件之后,将所述
升级文件写入所述嵌入式设备的内存中;

校验单元,用于对所述存储单元写入所述嵌入式设备的内存中的升级文
件进行校验;

所述存储单元,还用于在所述校验单元对所述升级文件校验成功后,将
所述升级文件写入所述嵌入式设备的存储器中;

所述校验单元,还用于在对所述升级文件校验失败后,加载并启动所述
当前引导程序。

根据第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述升级指示消息为所述控制设备在所述控制设备中的控制程序为升级模式
下发送的,所述嵌入式设备还包括:处理模块,用于在所述接收模块接收控
制设备发送的升级指示消息之前,通过处理器CPU执行所述存储器中的启动
引导程序;

发送模块,用于通过所述启动引导程序向所述控制设备发送第一问询消
息;

所述处理模块,还用于当所述接收模块在预置的太阳城集团内接收到所述升级
指示消息,根据所述接收模块接收的升级指示消息开始监听所述串口;

所述处理模块,还用于当所述接收模块在预置的太阳城集团内没有接收到所述
升级指示消息,加载并启动所述当前引导程序。

根据第三方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述接收模块,还用于在接收所述控制设备发送的升级指示消息之前,接收
所述控制设备发送的备份指示消息,所述备份指示消息用于指示所述控制设
备开始监听所述串口;

所述嵌入式设备还包括:计算模块,用于根据所述接收模块接收的备份
指示消息读取所述存储器中的所述当前引导程序,并计算所述当前引导程序
的文件长度、校验字段和文件数据;

所述发送模块,还用于向所述控制设备发送备份文件,以使所述控制设
备将接收到的所述备份文件写入所述控制设备的内存中,并对所述备份文件
进行校验,在校验成功后,将所述备份文件保存到所述用户在所述控制设备
中预先设置的存储位置中,其中,所述备份文件包括对所述当前引导程序的
计算结果。

根据第三方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述备份指示消息为所述控制设备在所述控制程序为备份模式下发送的,所
述处理模块,还用于在所述接收模块接收所述控制设备发送的备份指示消息
之前,通过CPU执行所述存储器中的所述启动引导程序;

所述发送模块,还用于通过所述启动引导程序向所述控制设备发送第二
问询消息;

所述处理模块,还用于当所述接收模块在预置的太阳城集团内接收到所述备份
指示消息,根据所述接收模块接收的备份指示消息指示所述控制设备开始监
听所述串口;

所述处理模块,还用于当所述接收模块在预置的太阳城集团内没有接收到所述
备份指示消息,加载并启动所述当前引导程序。

根据第三方面的第三种可能的实现方式,在第五种可能的实现方式中,
所述接收模块,还用于在所述发送模块向所述控制设备发送备份文件之后,
接收所述控制设备发送的备份失败消息,所述备份失败消息用于指示所述控
制设备对所述备份文件校验失败。

根据第三方面的第三种到第五种可能的实现方式中的任意一种,在第六
种可能的实现方式中,所述处理模块,还用于在所述存储模块将所述升级文
件写入所述嵌入式设备的存储器的过程中发生升级错误时,重新启动所述嵌
入式设备,并通过所述CPU再次执行所述启动引导程序;

所述发送模块,还用于通过所述启动引导程序向所述控制设备发送所述
第三问询消息;

所述接收模块,还用于接收所述控制设备发送的恢复指示消息,所述恢
复指示消息用于指示所述嵌入式设备监听所述串口,并通过所述串口接收所
述控制设备发送的恢复文件,所述恢复文件为所述控制设备根据所述用户选
择的文件路径计算出的,所述恢复文件包括文件长度、校验字段和文件数据;

存储模块,还用于将所述恢复文件写入所述嵌入式设备的存储器中,以
还原在写入所述升级文件前所述嵌入式设备的存储器中的引导程序。

根据第三方面的第六种可能的实现方式,在第七种可能的实现方式中,
所述恢复文件为在所述控制设备中存储的所述备份文件中选择出的其中一个
备份文件。

第四方面,本发明提供一种控制设备,包括:

发送模块,用于向嵌入式设备发送升级指示消息,所述升级指示消息用
于指示所述嵌入式设备监听所述嵌入式设备与所述控制设备之间的串口;

计算模块,用于根据用户选择的文件路径计算升级文件的文件长度、校
验字段和文件数据;

所述发送模块,还用于通过所述串口向所述嵌入式设备发送所述计算模
块计算出的升级文件,使得所述嵌入式设备将所述升级文件写入所述嵌入式
设备的存储器中,以替换所述存储器中的当前引导程序。

在第四方面的第一种可能的实现方式中,所述控制设备还包括:启动模
块,用于在所述发送模块向所述嵌入式设备发送升级指示消息之前,启动所
述控制设备的控制程序,并在所述控制程序上选择升级模式;

接收模块,用于通过所述控制程序接收所述嵌入式设备发送的第一问询
消息,所述第一问询消息用于提示所述控制设备对所述嵌入式设备中的所述
当前引导程序进行升级。

根据第四方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述发送模块,还用于在向所述嵌入式设备发送升级指示消息之前,向所述
嵌入式设备发送备份指示消息,所述备份指示消息用于指示所述嵌入式设备
向所述终端发送备份文件;

所述接收模块,还用于通过所述串口接收所述嵌入式设备发送的备份文
件,所述备份文件包括所述嵌入式设备的存储器中的所述当前引导程序的文
件长度、校验字段和文件数据;

所述控制设备还包括:存储模块,用于将所述接收模块接收到的备份文
件写入所述控制设备的内存中;

校验模块,用于对所述存储模块写入所述控制设备的内存中的备份文件
进行校验;

所述存储模块,还用于在所述校验模块对所述备份文件校验成功后,将
所述备份文件保存到所述用户在所述控制设备中预先设置的存储位置中;

所述发送模块,还用于在所述校验模块对所述备份文件校验失败后,向
所述嵌入式设备发送备份失败消息。

根据第四方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述启动模块,还用于在所述发送模块向所述嵌入式设备发送备份指示消息
之前,启动所述控制设备的控制程序,并在所述控制设备的控制程序上选择
备份模式;

所述接收模块,还用于通过所述控制程序接收所述嵌入式设备发送的第
二问询消息,所述第二问询消息用于提示所述控制设备对所述嵌入式设备中
的所述当前引导程序进行备份。

根据第四方面的第二种或第三种可能的实现方式,在第四种可能的实现
方式中,所述接收模块,还用于在所述发送模块通过所述串口向所述嵌入式
设备发送所述计算出的升级文件之后,通过所述控制程序接收所述嵌入式设
备发送的第三问询消息,所述第三询问消息用于指示所述嵌入式设备对所述
当前引导程序升级失败;

所述发送模块,还用于向所述嵌入式设备发送恢复指示消息,所述恢复
指示消息用于指示所述嵌入式设备监听所述串口;

所述计算模块,还用于根据所述用户选择的文件路径计算恢复文件的文
件长度、校验字段和文件数据;

所述发送模块,还用于通过所述串口向所述嵌入式设备发送所述计算模
块计算出的恢复文件,使得所述嵌入式设备将所述恢复文件写入所述嵌入式
设备的存储器中,以还原在写入所述升级文件前所述嵌入式设备的存储器中
的引导程序。

根据第四方面的第四种可能的实现方式,在第五种可能的实现方式中,
所述恢复文件为在所述控制设备中存储的所述备份文件中选择出的其中一个
备份文件。

第五方面,本发明提供一种嵌入式系统,包括:如上述第三方面中任一
项所述的嵌入式设备和上述第四方面中任一项所述的控制设备。

本发明提供的引导程序升级方法、嵌入式设备、控制设备及嵌入式系
统,通过接收终端发送的升级指示消息监听嵌入式设备与该控制设备之前的
串口,并通过该串口接收控制设备发送的升级文件,该升级文件为控制设备
根据用户选择的文件路径计算出的,从而将该升级文件写入嵌入式设备的存
储器,以替换存储器中的当前引导程序,本实施例通过将控制设备中的升级
文件下载到嵌入式设备的存储器中,实现对该嵌入式设备中的引导程序进行
升级的目标;本实施例提供的引导程序升级方法,解决了采用烧录器对引导
程序进行升级的过程中,由于需要拆卸嵌入式设备的外壳来实现升级,而导
致升级引导程序的操作方式比较复杂,工作量大的问题。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部
分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明
技术方案的限制。

图1为本发明实施例提供的一种引导程序升级方法的流程图;

图2为执行图1所提供的引导程序升级方法的一种应用场景;

图3为本发明实施例提供的另一种引导程序升级方法的流程图;

图4为本发明实施例提供的又一种引导程序升级方法的流程图;

图5为本发明实施例提供的再一种引导程序升级方法的流程图;

图6为本发明实施例提供的还一种引导程序升级方法的流程图;

图7为本发明实施例提供的一种引导程序升级方法的交互执行的流程
图;

图8为本发明实施例提供的一种嵌入式设备的结构示意图;

图9为本发明实施例提供的另一种嵌入式设备的结构示意图;

图10为本发明实施例提供的一种控制设备的结构示意图;

图11为本发明实施例提供的另一种控制设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图
对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申
请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机
系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,
可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例提供的一种引导程序升级方法的流程图。本实施例
提供的引导程序升级方法适用于对嵌入式系统中的引导程序进行升级的情况
中,该方法可以由嵌入式设备执行,该嵌入式设备通常以硬件和软件的方法
来实现,该嵌入式设备通过与嵌入式系统中的控制设备的消息交互和数据交
互实现引导程序的升级。如图1所示,本实施例的方法可以包括:

S110,接收控制设备发送的升级指示消息,该升级指示消息用于指示嵌
入式设备监听该嵌入式设备与控制设备之间的串口。

如图2所示,为执行图1所提供的引导程序升级方法的一种应用场景。
本实施例提供的方法具体由嵌入式设备100和控制设备200执行,嵌入式设
备100例如可以为交换机,电视机顶盒等工业设备,控制设备200例如可以
为一台个人计算机(Personal Computer,简称为:PC),可以通过串口线缆
300连接嵌入式设备100与控制设备200之间的串口;其中,嵌入式设备100
中包括通过总线相连接的CPU110和存储器120,存储器120中存储有当前
引导程序121和启动引导程序122,控制设备200中具有控制程序210。在本
实施例中,嵌入式设备上电后,也就是在S110之前还包括:S100,通过CPU
执行存储器中的启动引导程序,并通过该启动引导程序向控制设备发送第一
问询消息;该第一问询消息可以为一个问询握手信号,例如为0x5a5a5a5a,
在其发送该第一问询消息后,等待控制设备返回的应答信号,即等待升级指
示消息,例如为0x9a9a9a9a,该嵌入式设备在接收到升级指示消息前,并不
明确是需要进行引导程序的升级操作。此时,控制设备在其控制程序设置为
升级模式下接收到该第一问询消息,因此,该控制设备可以发起对嵌入式设
备的引导程序的升级流程,从而通过用户的选择确定是否发送升级指示消息;
具体地,当在预置的太阳城集团内接收到升级指示消息,嵌入式设备则根据该升级
指示消息开始监听串口,即开始执行引导程序的升级操作;在另一种情况下,
当在预置的太阳城集团内没有接收到升级指示消息,嵌入式设备加载并启动上述当
前引导程序,此时,嵌入式设备进入正常启动程序,即说明没有对嵌入式设
备的当前引导程序进行升级,例如嵌入式设备在发送第一问询消息后可以预
留3秒(s)的等待太阳城集团,以确定是进入升级引导程序的流程,还是进入正常
工作的流程。

需要说明的是,本实施例中嵌入式设备100的存储器120中可以划分有
第一引导程序区域121a和第二引导程序区域122a,其中,当前引导程序121
具体为待升级的引导程序,也就是引导OS或应用程序启动的主要程序,其
设置于第一引导程序区域121a中,启动引导程序122为嵌入式设备100上电
后,CPU110开始执行的程序,例如可以是进行预处理的程序,其设置于第
二引导程序区域122a中;通过将不同功能的引导程序设置于存储器的不同区
域中,明确待升级引导程序的具体位置,以提高升级引导程序的可靠性。

S120,通过串口接收控制设备发送的升级文件,该升级文件为控制设备
根据用户选择的文件路径计算出的,该升级文件包括文件长度、校验字段和
文件数据。

在本实施例中,控制设备在发送升级指示消息后,通过用户预先指定的
文件路径开始计算升级文件的文件长度、校验字段和文件数据,文件长度和,
校验字段通常均为4个字节(byte),例如用户可以在开启控制设备的控制
程序后,选择升级模式,并指定待升级引导文件的路径。在计算并获取到升
级文件的内容后,为了保证嵌入式设备已经解析出当前为升级流程,并已进
入监听状态,通常可以等待一定的太阳城集团后开始发送上述计算出的升级文件,
从而保证嵌入式设备可以通过串口接收到该升级文件。

S130,将升级文件写入嵌入式设备的存储器中,以替换该存储器中的当
前引导程序。

在本实施例中,嵌入式设备通过将其接收到的升级文件写入到存储器中,
实现引导程序的升级,该升级文件实际上就是较高版本的引导程序,通过该
较高版本的引导程序替换掉当前嵌入式设备中的引导程序,以完成引导程序
的升级流程。

需要说明的是,专利申请号为“CN201210436671.3”,发明名称为“一
种高效嵌入式系统调试方法”的专利也提供了一种升级引导程序的方法,上
述专利提供的方法存在以下缺陷:一方面,利用预置在存储器(Flash)中的
starter程序通过串口加载引导程序,然后手动输入命令对Flash中的引导程序
进行更新,该方式的操作复杂,容易出错,并且不能对嵌入式设备内的引导
程序进行备份,在升级失败的情况下无法回退,只能应用于开发和测试环节
中,不适用于现场升级引导程序的场景中;另一方面、该专利提出的触发引
导程序从串口加载的操作方式具体通过触发功能键来实现,具体在starter程
序启动时通过检测功能键是否被触发来决定是否从串口加载,然后通过电脑
软件发送引导程序的文件,该方法需要严格控制嵌入式设备及按键的触发时
间,尤其在嵌入式设备与控制主机距离较远的情况下非常难以操作。

本实施例所提供的引导程序升级方法,通过接收终端发送的升级指示消
息监听嵌入式设备与该控制设备之前的串口,并通过该串口接收控制设备发
送的升级文件,该升级文件为控制设备根据用户选择的文件路径计算出的,
从而将该升级文件写入嵌入式设备的存储器,以替换存储器中的当前引导程
序,本实施例通过将控制设备中的升级文件下载到嵌入式设备的存储器中,
实现对该嵌入式设备中的引导程序进行升级的目标;本实施例提供的引导程
序升级方法,解决了采用烧录器对引导程序进行升级的过程中,由于需要拆
卸嵌入式设备的外壳来实现升级,而导致升级引导程序的操作方式比较复
杂,工作量大的问题。

需要说明的是,本实施例中的嵌入式设备,仅在初始制作其存储器时,
需要通过烧录器将当前引导程序和启动引导程序烧录到存储器中,在将该存
储器安装于嵌入式设备之后,则不需要通过拆卸设备来实现升级引导程序的
目的;本实施例提供的方法在现场升级引导程序时,可以直接通过对控制设
备中控制程序的设置,在嵌入式设备上电后自动实现引导程序的升级操作,
升级期间不需要操作人员的干预,与现有技术相比,操作过程更加安全、便
捷,保证了引导程序升级过程中的可靠性和安全性。并且有些嵌入式设备中
可能并没有预留与烧录器连接的接口,若采用通过烧录器的方式升级引导程
序,则需要返厂更换嵌入式设备的存储器芯片。另外,本实施例中对控制设
备中控制程序的设置,来实现升级引导程序的方式,显然比上述专利中手动
输入命令对Flash中的引导程序进行更新的方式更加易于操作,同样比通过
触发功能键来触发引导程序从串口加载的操作方式更好控制,易于实现。

进一步地,图3为本发明实施例提供的另一种引导程序升级方法的流程
图。在上述图1所示实施例的基础上,本实施例提供的方法在S120之后还
包括:S121,将通过串口接收到的升级文件写入嵌入式设备的内存中,并对
该升级文件进行校验;相应地,该方法还包括:S122,判断对升级文件的校
验是否成功;若成功,则执行S130,若失败,则执行S123。

S123,加载并启动当前引导程序。

本实施例中,在对升级文件校验成功后,继续执行升级流程,即将升级
文件写入嵌入式设备的存储器中,在对升级文件校验失败后,也不会影响该
嵌入式设备的使用,即若升级失败可以通过第一引导程序区域中的当前引导
程序启动嵌入式设备,嵌入式设备进入正常工作流程中,进一步保证了升级
引导程序的安全性和可靠性。

图4为本发明实施例提供的又一种引导程序升级方法的流程图。本实施
例提供的引导程序升级方法适用于对嵌入式系统中的引导程序进行备份和升
级的情况中,该方法可以由嵌入式设备执行,该嵌入式设备通常以硬件和软
件的方法来实现,该嵌入式设备通过与嵌入式系统中的控制设备的消息交互
和数据交互实现引导程序的升级。如图4所示,本实施例的方法可以包括:

S210,接收控制设备发送的备份指示消息,该备份指示消息用于指示控
制设备开始监听串口。

本实施例提供的方法同样可以应用于图2所示的应用场景中,与图1所
示实例类似地,嵌入式设备上电后,也就是在S210之前还包括:S200,通
过CPU执行存储器中的启动引导程序,并通过该启动引导程序向控制设备发
送第二问询消息,该第二问询消息的内容和作用与上述实施例中的第一问询
消息相同,故在此不再赘述。此时,控制设备在其控制程序设置为备份模式
下接收到该第二问询消息,因此,该控制设备可以发起对嵌入式设备的引导
程序的备份流程,从而通过用户的选择确定是否发送备份指示消息,该备份
指示消息例如为0x95959595;具体地,当在预置的太阳城集团内接收到备份指示
消息,根据该备份指示消息指示控制设备开始监听串口,即开始执行引导程
序的备份操作;在另一种情况下,当在预置的太阳城集团内没有接收到备份指示消
息,嵌入式设备加载并启动当前引导程序,此时,嵌入式设备进入正常启动
程序,即说明没有对嵌入式设备的当前引导程序进行备份。

S220,根据备份指示消息读取存储器中的当前引导程序,并计算当前引
导程序的文件长度、校验字段和文件数据。

S230,向控制设备发送备份文件,以使控制设备将接收到的备份文件写
入控制设备的内存中,并对备份文件进行校验,在校验成功后,将备份文件
保存到用户在控制设备中预先设置的存储位置中,其中,该备份文件包括对
当前引导程序的计算结果。

在本实施中,嵌入式设备在解析该备份指示消息后,确定需要开始执行
备份流程,则通过读取存储器中的第一引导程序区域,计算出当前引导程序
的文件长度、校验字段和文件数据,从而向控制设备发送备份文件,该备份
文件包括对当前引导程序的计算结果;类似地,控制设备在接收到该备份文
件后同样可以对写入内存中备份文件进行校验,并将校验成功的备份文件保
存到用户在控制设备中预先设置的存储位置中,例如用户可以在开启控制设
备的控制程序后,选择备份模式,并指定要保存的备份文件的路径,该备份
文件例如可以保存到BOOT.bak中。

可选地,若控制设备对备份文件校验失败,则本实施例提供的方法还包
括:S240,接收所述控制设备发送的备份失败消息。

本实施例提供的引导程序升级方法,在对嵌入式设备中的当前引导程序
进行备份后,可以继续对嵌入式设备中的当前引导程序进行升级,在具体实
现中,结束备份操作后,重新启动嵌入式设备开始执行升级操作,升级的具
体方式包括:

S250,接收控制设备发送的升级指示消息,该升级指示消息用于指示嵌
入式设备监听串口。

与上述实施例相同地,是在S250之前还包括:S231,重新启动嵌入式
设备,通过CPU再次执行存储器中的启动引导程序,并通过该启动引导程序
向控制设备发送第一问询消息。

S260,通过串口接收控制设备发送的升级文件,该升级文件为控制设备
根据用户选择的文件路径计算出的,该升级文件包括文件长度、校验字段和
文件数据。

S270,将升级文件写入嵌入式设备的存储器中,以替换该存储器中的当
前引导程序。

具体地,S250~S270的实现方式可以参照图1所示实施例中S110~S130。

进一步地,本实施例提供的方法,在执行S270的过程中发生升级错误
的情况下,还可以对嵌入式设备中第一引导程序区域中的内容进行恢复,即
退回到升级前的状态,例如可以使用S230中保存到BOOT.bak中的备份文件,
重新执行一次升级流程,本实施例的具体实现方式可以包括以下步骤:

1)、重新启动嵌入式设备,并通过CPU再次执行启动引导程序后,通
过启动引导程序向控制设备发送第三问询消息。

2)、接收控制设备发送的恢复指示消息,恢复指示消息用于指示嵌入式
设备监听串口。

3)、通过串口接收控制设备发送的恢复文件,恢复文件为控制设备根据
用户选择的文件路径计算出的,恢复文件包括文件长度、校验字段和文件数
据。

4)、将恢复文件写入嵌入式设备的存储器中,以还原在写入升级文件前
嵌入式设备的存储器中的引导程序。

在本实施例中,在在升级失败后需要重启嵌入式设备,通过CPU再次执
行启动引导程序,发送第三问询消息时控制设备的控制程序同样为升级模式,
因此,嵌入式设备接收到恢复指示消息后的处理方式与图1所示实施例中接
收到升级指示消息的处理方式类似,均是采用控制设备发送的文件内容替换
存储器中现有的引导程序;不同的是,本实施例中用户在控制设备中选择的
文件路径可以是上述通过备份流程存储到控制设备中的备份文件的路径,即
该恢复文件为在控制设备中存储的备份文件中选择出的其中一个备份文件,
例如可以是上述S230中保存到BOOT.bak中的备份文件。

本实施例提供的方法,在对嵌入式设备进行升级操作失败时,可以利用
存储到控制设备中的备份文件,重新执行一次升级操作,即可将嵌入式设备
中的引导程序恢复到执行升级操作之前,存储器中具有的引导程序。因此本
实施例提供的方法,在执行升级操作前对嵌入式设备中的当前引导程序进行
备份的方式,解决了升级失败无法退回的问题,从而实现了将引导程序升级
方法应用于现场升级的场景中,在进一步提高了引导程序升级过程中的安全
性的同时,保证该方法具有可回溯性,并增加了该方法的使用范围。

图5为本发明实施例提供的再一种引导程序升级方法的流程图。本实施
例提供的引导程序升级方法适用于对嵌入式系统中的引导程序进行升级的情
况中,该方法可以由控制设备执行,该控制设备通常以硬件和软件的方法来
实现,该控制设备通过与嵌入式系统中的嵌入式设备的消息交互和数据交互
实现引导程序的升级。如图5所示,本实施例的方法可以包括:

S310,向嵌入式设备发送升级指示消息,该升级指示消息用于指示嵌入
式设备监听嵌入式设备与控制设备之间的串口。

本实施例提供的方法同样可以应用于图2所示的应用场景中,在S310
之前还包括:S300,启动控制设备的控制程序,并在该控制程序上选择升级
模式;于此同时,嵌入式设备上电后,在CPU启动上述各实施例中所述的启
动引导程序后,向控制设备发送第一问询信号,相应地,本实施例中还包括:
S301,通过控制程序接收嵌入式设备发送的第一问询消息,第一问询消息用
于提示控制设备对嵌入式设备中的当前引导程序进行升级。控制设备通过用
户的选择确定是否发送升级指示消息,在其发送该升级指示消息的情况下,
通过该消息向嵌入式设备指示控制设备已进入升级流程,指示嵌入式设备开
始监听串口,以随时接收控制设备发送的升级文件。

S320,根据用户选择的文件路径计算升级文件的文件长度、校验字段和
文件数据。

在本实施例中,用户可以在选择升级模式后,指定待升级引导文件的路
径,从而嵌入式设备根据用户已指定的文件路径计算并获取升级文件的内
容,该升级文件的内容与上述各实施例中相同。

S330,通过串口向嵌入式设备发送计算出的升级文件,使得嵌入式设备
将升级文件写入嵌入式设备的存储器中,以替换存储器中的当前引导程序。

在本实施例中,为了保证嵌入式设备已经解析出当前为升级流程,并已
进入监听状态,通常可以在计算出升级文件后等待一定的太阳城集团之后执行发送
升级文件的操作,例如在S320到S330之间可以设定3s的延迟太阳城集团,从而保
证嵌入式设备可以通过串口接收到该升级文件。

本实施例所提供的引导程序升级方法,通过向嵌入式设备发送升级指示
消息,以指示嵌入式设备开始监听嵌入式设备与该控制设备之前的串口,于
此同时,终端根据用户选择的文件路径计算出升级文件的内容,从而将该升
级文件通过串口发送给嵌入式设备,使得该嵌入式设备将升级文件写入其存
储器中,以替换存储器中的当前引导程序,本实施例通过将控制设备中的升
级文件下载到嵌入式设备的存储器中,实现对该嵌入式设备中的引导程序进
行升级的目标;本实施例提供的引导程序升级方法,解决了采用烧录器对引
导程序进行升级的过程中,由于需要拆卸嵌入式设备的外壳来实现升级,而
导致升级引导程序的操作方式比较复杂,工作量大的问题。

需要说明的是,本实施例提供的方法中,嵌入式设备发送第一问询消息
后,根据在预置的太阳城集团内是否接收到升级指示消息执行的相应操作,以及在
接收到升级文件保存到内存后,对该升级文件进行验证,并且根据验证结果
执行的相应操作,均与上述图1到图4所示实施例中的操作方式相同,并且
具有相同的有益效果,故在此不再赘述。

图6为本发明实施例提供的还一种引导程序升级方法的流程图。与图4
所示实施例类似地,本实施例提供的引导程序升级方法适用于对嵌入式系统
中的引导程序进行备份和升级的情况中。如图6所示,本实施例的方法可以
包括:

S410,向嵌入式设备发送备份指示消息,该备份指示消息用于指示嵌入
式设备向终端发送备份文件。

在本实施例中,在S410之前同样还包括:S400,启动控制设备的控制
程序,并在该控制程序上选择备份模式;S401,通过控制程序接收嵌入式设
备发送的第二问询消息,第二问询消息用于提示控制设备对嵌入式设备中的
当前引导程序进行备份。控制设备通过用户的选择确定是否发送备份指示消
息,在其发送该备份指示消息的情况下,通过该消息向嵌入式设备指示控制
设备已进入备份流程,指示嵌入式设备计算其存储器中的当期引导程序的文
件长度、校验字段和文件数据,该计算结果的内容即是备份文件,并向控制
设备发送该备份文件。

S420,通过串口接收嵌入式设备发送的备份文件,该备份文件包括嵌入
式设备的存储器中的当前引导程序的文件长度、校验字段和文件数据。

S430,将接收到的备份文件写入控制设备的内存中,并对备份文件进行
校验。

S431,判断对备份文件的校验是否成功;若成功,则执行S440,若失败,
则执行S432。

S440,将备份文件保存到用户在控制设备中预先设置的存储位置中。

S432,向嵌入式设备发送备份失败消息。

在本实施例中,控制设备同样可以将接收到的备份文件先保存到内存中
进行校验,在对备份文件校验成功后,完成备份流程,即将备份文件保存到
用户在控制设备中预先设置的存储位置中,例如可以是控制程序上选择备份
模式后,在控制设备中指定要保存的备份文件的路径,该备份文件例如可以
保存到BOOT.bak中;另外,在对备份文件校验失败后,可以发送备份失败
消息以提示嵌入式设备。

本实施例提供的引导程序升级方法,在对嵌入式设备中的当前引导程序
进行备份后,可以继续对嵌入式设备中的当前引导程序进行升级,在具体实
现中,结束备份操作后,即在S440之后,重新启动嵌入式设备开始执行升
级操作,升级的具体方式包括:

S450,向嵌入式设备发送升级指示消息,该升级指示消息用于指示嵌入
式设备监听嵌入式设备与控制设备之间的串口。

类似地,在S450之前同样可以包括:S441,在该控制程序上选择升级
模式;S442,通过控制程序接收嵌入式设备发送的第一问询消息,第一问询
消息用于提示控制设备对嵌入式设备中的当前引导程序进行升级。

S460,根据用户选择的文件路径计算升级文件的文件长度、校验字段和
文件数据。

S470,通过串口向嵌入式设备发送计算出的升级文件,使得嵌入式设备
将升级文件写入嵌入式设备的存储器中,以替换存储器中的当前引导程序。

具体地,S441~S470的实现方式可以参照图5所示实施例中S300~S330。

进一步地,本实施例提供的方法,在嵌入式设备将升级文件写入存储器
的过程中若发生升级错误的情况下,还可以对嵌入式设备中第一引导程序区
域中的内容进行恢复,即退回到升级前的状态,例如可以使用S440中保存
到BOOT.bak中的备份文件,重新执行一次升级流程,本实施例的具体实现
方式可以包括以下步骤:

1)、通过控制程序接收嵌入式设备发送的第三问询消息,该第三询问消
息用于指示嵌入式设备对当前引导程序升级失败。

2)、向嵌入式设备发送恢复指示消息,该恢复指示消息用于指示嵌入式
设备监听串口。

3)、根据用户选择的文件路径计算恢复文件的文件长度、校验字段和文
件数据。

4)、通过串口向嵌入式设备发送恢复文件,使得嵌入式设备将恢复文件
写入嵌入式设备的存储器中,以还原在写入升级文件前嵌入式设备的存储器
中的引导程序。

在本实施例中,在升级失败后同样需要重启嵌入式设备,通过CPU再次
执行启动引导程序,发送第三问询消息时控制设备的控制程序同样为升级模
式,因此,嵌入式设备接收到恢复指示消息后的处理方式与上述实施例中接
收到升级指示消息的处理方式类似,均是采用控制设备发送的文件内容替换
存储器中现有的引导程序;不同的是,本实施例中用户在控制设备中选择的
文件路径可以是上述通过备份流程存储到控制设备中的备份文件的路径,即
该恢复文件为在控制设备中存储的备份文件中选择出的其中一个备份文件,
例如可以是上述S440中保存到BOOT.bak中的备份文件。

图7为本发明实施例提供的一种引导程序升级方法的交互执行的流程
图。本实施例提供的引导程序升级方法适用于对嵌入式系统中的引导程序进
行备份和升级的情况中,该方法可以由控制设备和嵌入式设备执行。如图7
所示,本实施例的方法可以包括:

在控制设备中执行,S501,启动控制设备的控制程序,并在该控制程序
上选择升级模式。

S502,通过用户的选择确定升级文件的路径。

随后对嵌入式设备上电,嵌入式设备开始执行,S503,通过CPU执行存
储器中的启动引导程序。

S504,通过该启动引导程序向控制设备发送第一问询消息。

S505,等待预置的太阳城集团,并判断在该等待预置的太阳城集团内是否接收到升级
指示消息;若接收到,则执行S506;若没有接收到,则执行S507,加载并
启动当前引导程序。

此时,控制设备在接收到第一问询消息后,通过用户的选择确定是否发
送应答响应,其中,若需要进入升级流程,控制设备执行S508,向嵌入式设
备发送升级指示消息;相应地,S505中的判断为接收到,进而执行S506,
开始监听串口。

控制设备在发送升级指示消息后,继续执行S509,根据用户选择的文件
路径计算升级文件的文件长度、校验字段和文件数据,以获取出升级文件的
内容。

S510,通过串口向嵌入式设备发送已计算出的升级文件。

嵌入式设备在此时处于监听状态,在通过串口接收到控制设备发送的升
级文件后,执行S511,将通过串口接收到的升级文件写入嵌入式设备的内存
中,并对升级文件进行校验。

S512,判断对升级文件的校验是否成功;若成功,则执行S513,若失败,
则执行S514。

S513,将升级文件写入嵌入式设备的存储器中,以替换存储器中的当前
引导程序。

S514,加载并启动当前引导程序。

本实施例提供的方法,同样可以在对嵌入式设备的当前引导程序进行升
级前,对该当前引导程序先进行备份,具体实现方式为,控制设备在执行S501
之前还可以执行S515,启动控制设备的控制程序,并在该控制程序上选择备
份模式。

S516,通过用户的选择指定备份文件的保存路径。

随后对嵌入式设备上电,该嵌入式设备开始执行,S517,通过CPU执行
存储器中的启动引导程序。

S518,通过该启动引导程序向控制设备发送第二问询消息。

S519,等待预置的太阳城集团,并判断在该等待预置的太阳城集团内是否接收到备份
指示消息;若接收到,则执行S520;若没有接收到,则执行S521,加载并
启动当前引导程序。

此时,控制设备在接收到第二问询消息后,通过用户的选择确定是否发
送应答响应,其中,若需要进入备份流程,控制设备执行S522,向嵌入式设
备发送备份指示消息;相应地,S519中的判断为接收到,进而执行S520,
读取存储器中的当前引导程序,并计算该当前引导程序的文件长度、校验字
段和文件数据。

S523,向所述控制设备发送备份文件,该备份文件包括嵌入式设备对当
前引导程序的计算结果。

控制设备在此时处于监听状态,在通过串口接收到嵌入式设备发送的备
份文件后,执行S524,将接收到的备份文件写入控制设备的内存中,并对备
份文件进行校验。

S525,判断对备份文件的校验是否成功;若成功,则执行S526,若失败,
则执行S527。

S526,将备份文件保存到用户在控制设备中预先设置的存储位置中。

S527,向嵌入式设备发送备份失败消息。

需要说明的是,本实施例提供的引导程序升级方法与上述实施例类似地,
在嵌入式设备执行S513的过程中发生升级错误的情况时,还可以对嵌入式
设备的存储器中的引导程序进行恢复,即退回到升级前的状态,例如可以使
用S526中保存到控制设备中的备份文件,重新执行一次升级流程,即再次
执行S501~S514,在本次执行过程中,用户的选择确定升级文件的路径具体
为:用户将控制设备中存储的备份文件的路径确定为升级文件的路径,从而
将S501~S514中的升级文件替换为控制设备中存储的备份文件。

图8为本发明实施例提供的一种嵌入式设备的结构示意图。本实施例提
供的嵌入式设备适用于对嵌入式系统中的引导程序进行升级的情况中,该嵌
入式设备通常以硬件和软件的方法来实现,通过与嵌入式系统中的控制设备
的消息交互和数据交互实现引导程序的升级。如图8所示,本实施例的嵌入
式设备具体包括接收模块11和存储模块12。

其中,接收模块11,用于接收控制设备发送的升级指示消息,升级指示
消息用于指示接收模块11监听嵌入式设备与控制设备之间的串口。

通过本实施例提供的嵌入式设备进行引导程序升级时同样可以应用于图
2所示的应用场景中,升级指示消息为控制设备在控制设备中的控制程序为
升级模式下发送的,具体地,本实施例提供的嵌入式设备还包括:处理模块
13,用于在接收模块11接收控制设备发送的升级指示消息之前,通过CPU
执行存储器中的启动引导程序;发送模块14,用于通过启动引导程序向控制
设备发送第一问询消息;相应地,一方面,处理模块13,还用于当接收模块
11在预置的太阳城集团内接收到升级指示消息,根据接收模块11接收的升级指示
消息开始监听串口;另一方面,处理模块13,还用于当接收模块11在预置
的太阳城集团内没有接收到升级指示消息,加载并启动当前引导程序。

接收模块11,还用于通过串口接收控制设备发送的升级文件,该升级文
件为控制设备根据用户选择的文件路径计算出的,该升级文件包括文件长度、
校验字段和文件数据。

存储模块12,用于将接收模块11接收到的升级文件写入嵌入式设备的
存储器中,以替换存储器中的当前引导程序。

本发明实施例提供的嵌入式设备用于执行本发明图1所示实施例提供的
引导程序升级方法,具备相应的功能模块,其实现原理和技术效果类似,此
处不再赘述。

进一步地,图9为本发明实施例提供的另一种嵌入式设备的结构示意
图。在上述图8所示实施例的基础上,本实施例中的存储模块12具体可以包
括:存储单元15,用于在接收模块11接收到控制设备发送的升级文件之后,
将该升级文件写入嵌入式设备的内存中;校验单元16,用于对存储单元15
写入嵌入式设备的内存中的升级文件进行校验;相应地,存储单元15,还用
于在校验单元16对升级文件校验成功后,将升级文件写入嵌入式设备的存储
器中;在另一种可能的实现方式中,校验单元16,还用于在对升级文件校验
失败后,加载并启动当前引导程序。

本发明实施例提供的嵌入式设备不仅可以对其引导程序进行升级,在升
级前还可以将其存储器中的当前引导程序备份到控制设备中,具体实现方式
为:接收模块11,还用于在接收控制设备发送的升级指示消息之前,接收控
制设备发送的备份指示消息,该备份指示消息用于指示控制设备开始监听串
口;相应地,该嵌入式设备还包括:计算模块17,用于根据接收模块11接
收的备份指示消息读取存储器中的当前引导程序,并计算当前引导程序的文
件长度、校验字段和文件数据;发送模块14,还用于向控制设备发送备份文
件,以使控制设备将接收到的备份文件写入控制设备的内存中,并对备份文
件进行校验,在校验成功后,将备份文件保存到用户在控制设备中预先设置
的存储位置中,其中,该备份文件包括对当前引导程序的计算结果。

与上述实施例类似地,备份指示消息为控制设备在控制程序为备份模式
下发送的,则处理模块13,还用于在接收模块11接收控制设备发送的备份
指示消息之前,通过CPU执行存储器中的启动引导程序;发送模块14,还
用于通过启动引导程序向控制设备发送第二问询消息;相应地,一方面,处
理模块13,还用于当接收模块11在预置的太阳城集团内接收到备份指示消息,根
据接收模块11接收的备份指示消息指示控制设备开始监听串口;另一方面,
处理模块13,还用于当接收模块11在预置的太阳城集团内没有接收到备份指示消
息,加载并启动当前引导程序。

可选地,若控制设备对备份文件校验失败,还可以向嵌入式设备发送提
示消息,则本实施例中的接收模块11,还用于在发送模块14向终端备发送
备份文件之后,接收该控制设备发送的备份失败消息,备份失败消息用于指
示所述控制设备对所述备份文件校验失败。

更进一步地,本实施例提供的嵌入式设备,在存储模块12将升级文件写
入存储器的过程中发生升级错误的情况下,还可以对嵌入式设备的存储器中
的引导程序进行恢复,即退回到升级前的状态,例如可以使用执行备份操作
时保存到控制设备中的备份文件,重新执行一次升级操作,在本次执行升级
操作过程中,升级文件的路径具体为控制设备中存储的备份文件的路径,从
而在执行升级操作时,将上述升级文件替换为控制设备中存储的备份文件,
其具体实现方式为:处理模块13,还用于在存储模块12将升级文件写入嵌
入式设备的存储器的过程中发生升级错误时,重新启动嵌入式设备,并通过
CPU再次执行启动引导程序;发送模块14,还用于通过启动引导程序向控制
设备发送第三问询消息;接收模块11,还用于接收控制设备发送的恢复指示
消息,该恢复指示消息用于指示该嵌入式设备监听串口,并通过串口接收控
制设备发送的恢复文件,该恢复文件为控制设备根据用户选择的文件路径计
算出的,该恢复文件包括文件长度、校验字段和文件数据;存储模块12,还
用于将恢复文件写入嵌入式设备的存储器中,以还原在写入升级文件前嵌入
式设备的存储器中的引导程序。上述恢复引导程序的操作方式与升级引导程
序的操作方式类似,只是写入嵌入式设备的存储器中的文件内容不同,故在
此不再具体说明。

本发明实施例提供的嵌入式设备用于执行本发明图3和图4所示实施例
提供的引导程序升级方法,具备相应的功能模块,其实现原理和技术效果类
似,此处不再赘述。

图10为本发明实施例提供的一种控制设备的结构示意图。本实施例提
供的控制设备适用于对嵌入式系统中的引导程序进行升级的情况中,该控制
设备通常以硬件和软件的方法来实现,通过与嵌入式系统中的嵌入式设备的
消息交互和数据交互实现引导程序的升级。如图10所示,本实施例的控制
设备具体包括发送模块21和计算模块22。

其中,发送模块21,用于向嵌入式设备发送升级指示消息,升级指示消
息用于指示嵌入式设备监听嵌入式设备与控制设备之间的串口。

通过本实施例提供的控制设备进行引导程序升级时同样可以应用于图2
所示的应用场景中,在具体实现中,该控制设备还包括:启动模块23,用于
在发送模块21向嵌入式设备发送升级指示消息之前,启动控制设备的控制程
序,并在该控制程序上选择升级模式;于此同时,嵌入式设备上电后,在CPU
启动上述各实施例中所述的启动引导程序后,向控制设备发送第一问询信号,
相应地,控制设备还包括:接收模块24,用于通过控制程序接收嵌入式设备
发送的第一问询消息,该第一问询消息用于提示控制设备对嵌入式设备中的
当前引导程序进行升级。

计算模块22,用于根据用户选择的文件路径计算升级文件的文件长度、
校验字段和文件数据;

发送模块21,还用于通过串口向嵌入式设备发送计算模块22计算出的
升级文件,使得嵌入式设备将升级文件写入嵌入式设备的存储器中,以替换
存储器中的当前引导程序。

本发明实施例提供的控制设备用于执行本发明图5所示实施例提供的引
导程序升级方法,具备相应的功能模块,其实现原理和技术效果类似,此处
不再赘述。

需要说明的是,本实施例提供的控制设备在执行引导程序升级方法中,
嵌入式设备发送第一问询消息后,根据在预置的太阳城集团内是否接收到升级指示
消息执行的相应操作,以及在接收到升级文件保存到内存后,对该升级文件
进行验证,并且根据验证结果执行的相应操作,均与上述各实施例中的操作
方式相同,并且具有相同的有益效果,故在此不再赘述。

进一步地,图11为本发明实施例提供的另一种控制设备的结构示意图。
本发明实施例提供的控制设备不仅可以对其引导程序进行升级,在升级前还
可以将嵌入式设备的存储器中的当前引导程序备份到该控制设备中,具体实
现方式为:发送模块21,还用于在向嵌入式设备发送升级指示消息之前,向
嵌入式设备发送备份指示消息,该备份指示消息用于指示嵌入式设备向终端
发送备份文件;相应地,接收模块24,还用于通过串口接收嵌入式设备发送
的备份文件,备份文件包括嵌入式设备的存储器中的当前引导程序的文件长
度、校验字段和文件数据;在上述图10所示实施例的基础上,本实施例提供
的控制设备还包括:存储模块25,用于将接收模块24接收到的备份文件写
入控制设备的内存中;校验模块26,用于对存储模块25写入控制设备的内
存中的备份文件进行校验;相应地,存储模块25,还用于在校验模块26对
备份文件校验成功后,将备份文件保存到用户在控制设备中预先设置的存储
位置中;在另一种实现方式中,发送模块21,还用于在校验模块26对备份
文件校验失败后,向嵌入式设备发送备份失败消息。

与上述实施例类似地,本实施例提供的控制设备,启动模块23,还用于
在发送模块21向嵌入式设备发送备份指示消息之前,启动控制设备的控制程
序,并在控制设备的控制程序上选择备份模式;于此同时,嵌入式设备上电
后,在CPU启动上述各实施例中的启动引导程序后,向控制设备发送第二问
询信号,相应地,接收模块24,还用于通过控制程序接收嵌入式设备发送的
第二问询消息,第二问询消息用于提示控制设备对嵌入式设备中的当前引导
程序进行备份。

更进一步地,本实施例提供的控制设备执行引导程序升级方式时,在嵌
入式设备将升级文件写入其存储器的过程中发生升级错误的情况下,还可以
对嵌入式设备的存储器中的引导程序进行恢复,即退回到升级前的状态,例
如可以使用执行备份操作时保存到控制设备中的备份文件,重新执行一次升
级操作,在本次执行升级操作过程中,升级文件的路径具体为控制设备中存
储的备份文件的路径,从而在执行升级操作时,将上述升级文件替换为控制
设备中存储的备份文件,其具体实现方式为:接收模块24,还用于在发送模
块21通过串口向嵌入式设备发送计算出的升级文件之后,通过控制程序接收
嵌入式设备发送的第三问询消息,该第三询问消息用于指示嵌入式设备对当
前引导程序升级失败;发送模块21,还用于向嵌入式设备发送恢复指示消息,
该恢复指示消息用于指示嵌入式设备监听串口;计算模块22,还用于根据用
户选择的文件路径计算恢复文件的文件长度、校验字段和文件数据;从而,
发送模块21通过串口向嵌入式设备发送计算模块22计算出的恢复文件,使
得入式设备将恢复文件写入嵌入式设备的存储器中,以还原在写入升级文件
前嵌入式设备的存储器中的引导程序。上述恢复引导程序的操作方式与升级
引导程序的操作方式类似,只是写入嵌入式设备的存储器中的文件内容不同,
故在此不再具体说明。

图2为同样为本发明实施例提供的一种嵌入式系统的结构示意图。如图
2所示,本实施例提供的嵌入式系统中可以包括嵌入式设备100和控制设备
200,该嵌入式设备100可以为上述图8和图9任一实施例中所示的嵌入式设
备,该控制设备200可以为上述图10和图11任一实施例中所示的控制设备,
可以用于执行图1,图3到图7所示的引导程序升级方法,其实现的具体方
式和实现的有益效果均与上述实施例相同,故在此不再赘述。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明
而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人
员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细
节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利
要求书所界定的范围为准。

关 键 词:
引导 程序 升级 方法 嵌入式 设备 控制 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:引导程序升级方法、嵌入式设备、控制设备及嵌入式系统.pdf
链接地址:http://zh228.com/p-6100739.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');